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

            Bug ID: 21448
           Summary: References to constant data in shared libraries bloats
                    2.28 executables compared to 2.27
           Product: binutils
           Version: 2.28
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: michael at talosis dot ca
  Target Milestone: ---

Binutils 2.28 links certain executables into much larger binaries compared to
the 2.27 linker with identical input files.  One practical example is in
binutils itself: "gas" is 658k for me bootstrapped, but only 226k built by
2.27.

I've figured out that the trigger is large constant data referenced from a
shared library.  ld 2.28 will create a zero-filled ".data.rel.ro" section in
the executable, corresponding in size to the shared-library data item.

In the case of "gas", the table it references in libopcodes is almost twice the
size of the rest of the binary, so massive bloat occurs.

-- 
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

Reply via email to