https://sourceware.org/bugzilla/show_bug.cgi?id=33658
Mark Wielaard <mark at klomp dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at sourceware dot org |mark at klomp dot org
Last reconfirmed| |2025-12-05
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1
CC| |mark at klomp dot org
--- Comment #1 from Mark Wielaard <mark at klomp dot org> ---
(In reply to Shimin Guo from comment #0)
> In the function getcfi_shdr in libdw/dwarf_getcfi_elf.c, the code calls
> getcfi_scn_eh_frame immediately after seeing the .eh_frame section. If by
> that time, it hasn't yet seen the .eh_frame_hdr, the search table in
> .eh_frame_hdr will not be used, resulting in large performance penalty for
> large binaries.
>
> We encountered the issue because we have a large binary created with the
> gold linker with hundreds of thousands of FDEs, where .eh_frame_hdr comes
> after .eh_frame. When using "perf script" on data the contains about 50k
> samples, the current version takes more than an hour, whereas with a fix
> like the following (not meant to be an actual patch, for illustration
> purposes only,) it takes only seconds.
Thanks for catching this. And thanks for the patch suggestion.
I rewrote it a little:
https://inbox.sourceware.org/elfutils-devel/[email protected]
It is a little hard to test since things do keep working, just very slowly.
If you could test this patch that would be very appreciated.
--
You are receiving this mail because:
You are on the CC list for the bug.