From: Timm Bäder Date: Fri, 8 Jan 2021 08:13:25 +0000 (+0100) Subject: addr2line: Pull show_note() and show_int() in file scope X-Git-Tag: elfutils-0.183~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f91424e7a59e1fed5e46a7a32f5074411626731d;p=thirdparty%2Felfutils.git addr2line: Pull show_note() and show_int() in file scope Get rid of the nested functions Signed-off-by: Timm Bäder --- diff --git a/src/ChangeLog b/src/ChangeLog index 4fc54ce7b..63bf74953 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2021-01-08 Timm Bäder + + * addr2line.c (handle_address): Move show_note and show_int up to + file scope. + (show_note: New static inline function. + (show_int): Likewise. + 2021-01-08 Timm Bäder * strip.c (handle_elf): Remove no_symtab_updates function and diff --git a/src/addr2line.c b/src/addr2line.c index ea01c1be8..349450469 100644 --- a/src/addr2line.c +++ b/src/addr2line.c @@ -598,6 +598,26 @@ get_addr_width (Dwfl_Module *mod) return width; } +static inline void +show_note (int (*get) (Dwarf_Line *, bool *), + Dwarf_Line *info, + const char *note) +{ + bool flag; + if ((*get) (info, &flag) == 0 && flag) + fputs (note, stdout); +} + +static inline void +show_int (int (*get) (Dwarf_Line *, unsigned int *), + Dwarf_Line *info, + const char *name) +{ + unsigned int val; + if ((*get) (info, &val) == 0 && val != 0) + printf (" (%s %u)", name, val); +} + static int handle_address (const char *string, Dwfl *dwfl) { @@ -692,27 +712,12 @@ handle_address (const char *string, Dwfl *dwfl) Dwarf_Line *info = dwfl_dwarf_line (line, &bias); assert (info != NULL); - inline void show (int (*get) (Dwarf_Line *, bool *), - const char *note) - { - bool flag; - if ((*get) (info, &flag) == 0 && flag) - fputs (note, stdout); - } - inline void show_int (int (*get) (Dwarf_Line *, unsigned int *), - const char *name) - { - unsigned int val; - if ((*get) (info, &val) == 0 && val != 0) - printf (" (%s %u)", name, val); - } - - show (&dwarf_linebeginstatement, " (is_stmt)"); - show (&dwarf_lineblock, " (basic_block)"); - show (&dwarf_lineprologueend, " (prologue_end)"); - show (&dwarf_lineepiloguebegin, " (epilogue_begin)"); - show_int (&dwarf_lineisa, "isa"); - show_int (&dwarf_linediscriminator, "discriminator"); + show_note (&dwarf_linebeginstatement, info, " (is_stmt)"); + show_note (&dwarf_lineblock, info, " (basic_block)"); + show_note (&dwarf_lineprologueend, info, " (prologue_end)"); + show_note (&dwarf_lineepiloguebegin, info, " (epilogue_begin)"); + show_int (&dwarf_lineisa, info, "isa"); + show_int (&dwarf_linediscriminator, info, "discriminator"); } putchar ('\n'); }