https://sourceware.org/bugzilla/show_bug.cgi?id=22911
Bug ID: 22911 Summary: Huge slowdown in objdump -d caused by scanning the dynamic relocs Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: mark at klomp dot org CC: jseward at acm dot org Target Milestone: --- The following commit: commit a24bb4f0cce83eea8b2ad1542316651143af6f90 Author: Nick Clifton <ni...@redhat.com> Date: Tue Oct 11 13:50:10 2016 +0100 Enhance objdump so that it will use .got, .plt and .plt.got section symbols when disassembling, and it will use dynamic relocs to interpret entries in the PLT and GOT. binutils * objdump.c (is_significant_symbol_name): New function. (remove_useless_symbols): Do not remove significanr symbols. (find_symbol_for_address): If an exact match for the specified address has not been found, try scanning the dynamic relocs to see if one of these matches the address. If so, use the symbol associated with the reloc. (objdump_print_addr_with_symbol): Do not print offsets to symbols with no value. (disassemble_section): Only use dynamic relocs if the user requested this. (disassemble_data): Always load dynamic relocs if they are available. Caused a huge slowdown of disassembling some binaries. Specifically reverting: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=binutils/objdump.c;h=59abc1189be5643a44405cc71cabb1397ae9f5d8;hp=2d2bddb03ce5fc9093befb61522e05371d783d66;hb=a24bb4f0cce83eea8b2ad1542316651143af6f90;hpb=199fa1b7089d7f7438b087fa30504ea5a590f561 Makes time ./binutils/objdump -d /usr/lib64/firefox/libxul.so > /dev/null go from: real 2m48.616s user 2m48.242s sys 0m0.160s to: real 0m11.781s user 0m11.717s sys 0m0.064s -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils