From: Willy Tarreau Date: Wed, 10 Sep 2025 08:27:07 +0000 (+0200) Subject: MINOR: tools: don't emit "+0" for symbol names which exactly match known ones X-Git-Tag: v3.3-dev9~158 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=997d217deecd3ef9db554ed84efc945431a2f4ef;p=thirdparty%2Fhaproxy.git MINOR: tools: don't emit "+0" for symbol names which exactly match known ones resolve_sym_name() knows a number of symbols, but when one exactly matches (e.g. a task's handler), it systematically displays the offset behind it ("+0"). Let's only show the offset when non-zero. This can be backported as this is helpful for debugging. --- diff --git a/src/tools.c b/src/tools.c index 1615ef2ae..e6a076770 100644 --- a/src/tools.c +++ b/src/tools.c @@ -5699,7 +5699,9 @@ const void *resolve_sym_name(struct buffer *buf, const char *pfx, const void *ad * may have a close match. Otherwise we report an offset relative to main. */ if (best_idx >= 0) { - chunk_appendf(buf, "%s+%#lx", fcts[best_idx].name, (long)best_dist); + chunk_appendf(buf, "%s", fcts[best_idx].name); + if (best_dist) + chunk_appendf(buf, "+%#lx", (long)best_dist); return best_dist == 0 ? addr : NULL; } else if ((void*)addr < (void*)main)