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

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2019-03-08
                 CC|amodra at gmail dot com            |
           Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
     Ever confirmed|0                           |1

--- Comment #4 from Alan Modra <amodra at gmail dot com> ---
The difference is due to the string merge code.  The ELF linker sizes .rodata
as 0x20 bytes:
.rodata         0x0000000000001308       0x20
 *(.rodata .rodata.* .gnu.linkonce.r.*)
 .rodata.str1.8
                0x0000000000001308       0x20 tmpdir/sr3.o
                                         0x1b (size before relaxing)

Whereas the srec linker sizes .rodata as 0x1b bytes:
.rodata         0x0000000000001308       0x1b
 *(.rodata .rodata.* .gnu.linkonce.r.*)
 .rodata.str1.8
                0x0000000000001308       0x1b tmpdir/sr3.o

This affects the placement of the next section, .eh_frame.

Funny enough, the padding was added to the string merge code to fix a similar
srec failure on sparc.  In that case the input string section was padded out to
its alignment.  Powerpc64 doesn't do that unnecessary padding.
See https://sourceware.org/ml/binutils/2005-04/msg00251.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

Reply via email to