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.
This commit is contained in:
Willy Tarreau 2025-09-10 10:27:07 +02:00
parent 9eb35563a6
commit 997d217dee

View File

@ -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)