bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/24311] ld 2.31+ (powerpc64-linux-musl) test suite: FAIL: S-recor


From: amodra at gmail dot com
Subject: [Bug ld/24311] ld 2.31+ (powerpc64-linux-musl) test suite: FAIL: S-records with constructors
Date: Fri, 08 Mar 2019 03:29:05 +0000

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.


reply via email to

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