From: Timm Bäder Date: Mon, 23 Nov 2020 12:27:11 +0000 (+0100) Subject: segment_report_module: Inline consider_dyn() into only caller X-Git-Tag: elfutils-0.183~78 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=466b2664b62aa0cabe04727082ee2e04a305c7e4;p=thirdparty%2Felfutils.git segment_report_module: Inline consider_dyn() into only caller Signed-off-by: Timm Bäder --- diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 0c66bed3e..88f0714e9 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,8 @@ +2020-11-23 Timm Bäder + + * segment_report_module.c (dwfl_segment_report_module): Remove + consider_dyn, do checks inline. + 2020-11-23 Timm Bäder * segment_report_module.c (dwfl_segment_report_module): Do one diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c index 2fb62bd90..a1051e1e0 100644 --- a/libdwfl/dwfl_segment_report_module.c +++ b/libdwfl/dwfl_segment_report_module.c @@ -740,33 +740,6 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name, GElf_Addr dynstr_vaddr = 0; GElf_Xword dynstrsz = 0; bool execlike = false; - inline bool consider_dyn (GElf_Sxword tag, GElf_Xword val) - { - switch (tag) - { - default: - return false; - - case DT_DEBUG: - execlike = true; - break; - - case DT_SONAME: - soname_stroff = val; - break; - - case DT_STRTAB: - dynstr_vaddr = val; - break; - - case DT_STRSZ: - dynstrsz = val; - break; - } - - return soname_stroff != 0 && dynstr_vaddr != 0 && dynstrsz != 0; - } - const size_t dyn_entsize = (ei_class == ELFCLASS32 ? sizeof (Elf32_Dyn) : sizeof (Elf64_Dyn)); void *dyn_data = NULL; @@ -804,7 +777,18 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name, GElf_Sxword tag = is32 ? d32[i].d_tag : d64[i].d_tag; GElf_Xword val = is32 ? d32[i].d_un.d_val : d64[i].d_un.d_val; - if (consider_dyn (tag, val)) + if (tag == DT_DEBUG) + execlike = true; + else if (tag == DT_SONAME) + soname_stroff = val; + else if (tag == DT_STRTAB) + dynstr_vaddr = val; + else if (tag == DT_STRSZ) + dynstrsz = val; + else + continue; + + if (soname_stroff != 0 && dynstr_vaddr != 0 && dynstrsz != 0) break; } }