bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/29993] objcopy --merge-notes slow for large .so with many


From: wcohen at redhat dot com
Subject: [Bug binutils/29993] objcopy --merge-notes slow for large .so with many annobin notes
Date: Thu, 12 Jan 2023 19:17:55 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=29993

William Cohen <wcohen at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wcohen at redhat dot com

--- Comment #1 from William Cohen <wcohen at redhat dot com> ---
Looked at the number of notes in the libxul.so found that there were about 4
million lines of output with the following:


<wcohen> fche, hmm.  there looks to be a huge amount of notes in libxul.so.  $
cd ~/rpmbuild/BUILD/firefox-108.0.1; readelf --notes --wide
./objdir/dist/firefox/libxul.so | wc
<wcohen> readelf: ./objdir/dist/firefox/libxul.so: Warning: Gap in build notes
detected from 0xb9f69a to 0x661ae9f
<wcohen> 4378890 42206207 436839245
<wcohen> over 4 million lines of notes output for libxul.so.  that might
explain why so much time spent in objcopy.

Used "perf report" to see where the samles were in merge_gnu_build_notes.  The
behavior is caused by the large number of notes and "Rule 2" linearly searching
through the list of previous notes.  Even if "identically attributed notes" are
grouped together there can still be a lot to go through.

There appears to be a lot merged out as the installed firefox libxul.so is much
more compact:

$ readelf --notes --wide /usr/lib64/firefox/libxul.so |wc 
readelf: /usr/lib64/firefox/libxul.so: Warning: Gap in build notes detected
from 0xcb7d6f to 0x661aebf
     86     836    7897

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]