[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 Jeremi changed: What|Removed |Added CC||jeremip11 at gmail dot com -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 H.J. Lu changed: What|Removed |Added CC||manjian2006 at gmail dot com --- Comment #10 from H.J. Lu --- *** Bug 22942 has been marked as a duplicate of this bug. *** -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 H.J. Lu changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #9 from H.J. Lu --- Fixed for 2.31. -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 --- Comment #8 from cvs-commit at gcc dot gnu.org --- The master branch has been updated by H.J. Lu: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0e70b27ba900581df8e23cbbd4612176f869d796 commit 0e70b27ba900581df8e23cbbd4612176f869d796 Author: H.J. Lu Date: Mon Mar 5 03:44:46 2018 -0800 Use binary search on dynamic relocations Replace linear search with binary search on dynamic relocations. After finding a match, scan backward to the first matching relocation, then scan forward for a matching relocation with non-absolute symbol. On Fedora 27 x86-64, time for "objdump -d" on libxul.so from RHEL 7.4 x86-64 went from 134.46user 0.12system 2:15.03elapsed to 8.49user 0.14system 0:08.64elapsed PR binutils/22911 * objdump.c (is_significant_symbol_name): Return TRUE for all .plt* sections. (find_symbol_for_address): Replace linear search with binary search on dynamic relocations. -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 --- Comment #7 from Mark Wielaard --- (In reply to H.J. Lu from comment #6) > A patch is posted at > > https://sourceware.org/ml/binutils/2018-03/msg00015.html Thanks. With that patch my original testcase takes just 11 seconds (from 2 minutes 40 seconds) and the output is identical. -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 --- Comment #6 from H.J. Lu --- A patch is posted at https://sourceware.org/ml/binutils/2018-03/msg00015.html -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 Alan Modra changed: What|Removed |Added CC||amodra at gmail dot com --- Comment #5 from Alan Modra --- The binary search idea is good, but you probably should handle the case where multiple relocs apply to the same address. binary search to get a vma match, scan back to first reloc at that vma, then while the vma matches scan forward for a reloc with suitable symbol. Also, strncmp (name, ".plt", 4) would be nicer than match 3 .plt variants. -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 H.J. Lu changed: What|Removed |Added Target Milestone|--- |2.31 --- Comment #4 from H.J. Lu --- Please try users/hjl/pr22911 branch at https://github.com/hjl-tools/binutils-gdb/tree/users/hjl/pr22911 I got 8.45user 0.16system 0:08.62elapsed -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 --- Comment #3 from H.J. Lu --- (In reply to Mark Wielaard from comment #2) > It might depend on the testfile used. The libxul.so that I used for testing > is the one packaged with RHEL 7.4. But others have replicated with the Confirmed with libxul.so from RHEL 7.4: master branch: 134.46user 0.12system 2:15.03elapsed objdump.c reverted: 8.45user 0.04system 0:08.50elapsed -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 H.J. Lu changed: What|Removed |Added Version|unspecified |2.31 (HEAD) -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 Mark Wielaard changed: What|Removed |Added Status|WAITING |NEW --- Comment #2 from Mark Wielaard --- (In reply to H.J. Lu from comment #1) > Which version binutils are you using? This is with gdb-binutils git master build on RHEL 7.4 with gcc from devtoolset-7, but also happens when updating the binutils version on Fedora from f25 (which doesn't have that commit yet) to f27. > I can't reproduce it on master branch: It might depend on the testfile used. The libxul.so that I used for testing is the one packaged with RHEL 7.4. But others have replicated with the libxul.so as build upstream. The problem seems to be the newly introduced linear search of the dynamic relocs. So it might depend on whether your testfile has lots of those. Julian on CC also has some profiling benchmarks that shows the slowdown comes from the changes in find_symbol_for_address. -- 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
[Bug binutils/22911] Huge slowdown in objdump -d caused by scanning the dynamic relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=22911 H.J. Lu changed: What|Removed |Added Status|NEW |WAITING --- Comment #1 from H.J. Lu --- Which version binutils are you using? I can't reproduce it on master branch: 23.62s user 0.53s system 99% cpu 24.225 total Reverting: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=binutils/objdump.c;h=59abc1189be5643a44405cc71cabb1397ae9f5d8;hp=2d2bddb03ce5fc9093befb61522e05371d783d66;hb=a24bb4f0cce83eea8b2ad1542316651143af6f90;hpb=199fa1b7089d7f7438b087fa30504ea5a590f561 21.86s user 0.43s system 99% cpu 22.329 total -- 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