This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Fix float128 IFUNC relocations on ppc64le [BZ #21707]


On 07/06/2017 02:12 AM, Florian Weimer wrote:
> On 07/05/2017 10:11 PM, Joseph Myers wrote:
>> The installed compiler does -lgcc -lc -lgcc (roughly; -lgcc may actually 
>> use -lgcc_s or -lgcc_eh, and -lc may vary for e.g. profiling).  -lc is a 
>> linker script doing e.g. GROUP ( /lib64/libc.so.6 
>> /usr/lib64/libc_nonshared.a  AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ).  
>> The shared libgcc is also a linker script on some platforms.
>>
>> The glibc build uses libc.so --as-needed ld.so --no-as-needed -lgcc 
>> (again, roughly) (but libc.a -lgcc libc.a -lgcc in the static build case).
>>
>> I suppose the suggestion is that we should both use -lgcc before linking 
>> with libc, not just after (this being the issue involved in the present 
>> case), and use -Wl,--start-group -Wl,--end-group around libc.so and ld.so, 
>> both to be more similar to how things work with the installed compiler?  
>> Which makes sense, but is also rather risky for this development stage.
> 
> Okay, then let's postpone the more general approach and use whatever
> works on POWER for the release.

Right, for now only POWER needs the link command fixed.

> I assumed that the general fix would still be POWER-specific, but that
> does not seem to be the case.

Right, the fix is in general code, but it fixes a general problem for
all machines. Every machine, including x86_64, used to segfault upon
first use of __thread in an IFUNC resolver function, and the change
fixes that.

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]