From 997d217deecd3ef9db554ed84efc945431a2f4ef Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 10 Sep 2025 10:27:07 +0200 Subject: [PATCH] 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. --- src/tools.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)