This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
ppc64le: getauxval call from IFUNC resolver
- From: Florian Weimer <fweimer at redhat dot com>
- To: Joseph Myers <joseph at codesourcery dot com>, Tulio Magno Quites Machado Filho <tuliom at linux dot vnet dot ibm dot com>
- Cc: "Gabriel F. T. Gomes" <gftg at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org, Peter Bergner <bergner at vnet dot ibm dot com>
- Date: Tue, 4 Jul 2017 08:37:49 +0200
- Subject: ppc64le: getauxval call from IFUNC resolver
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=fweimer at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D56EAA0221
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D56EAA0221
- References: <1498221206-26864-1-git-send-email-gftg@linux.vnet.ibm.com> <1498221206-26864-8-git-send-email-gftg@linux.vnet.ibm.com> <87mv8uznbr.fsf@linux.vnet.ibm.com> <alpine.DEB.2.20.1706262259190.9666@digraph.polyomino.org.uk> <62cd295b-4a28-a8ba-16b6-aef1cd1f1868@redhat.com>
On 06/27/2017 09:05 AM, Florian Weimer wrote:
> On 06/27/2017 01:02 AM, Joseph Myers wrote:
>> I'm seeing a testsuite regression for powerpc64le with
>> build-many-glibcs.py with this patch (elf/check-localplt fails), did you
>> not see that in your testing?
>>
>> https://sourceware.org/ml/libc-testresults/2017-q2/msg00427.html
>>
>> The failure is: "Extra PLT reference: libc.so: __getauxval". As the
>> __getauxval reference comes from have_ieee_hw_p in libgcc, presumably you
>> need to allow that PLT reference in localplt.data with an appropriate
>> comment, as it won't be readily possible to avoid it.
>
> The __getauxval call happens from IFUNC resolvers and violates current
> guidelines regarding what can be done from IFUNC resolvers. This is
> another reason to get rid of the PLT reference.
>
> My IFUNC resolver enhancements are not ready for 2.26, and I plan to
> wait for DJ's dl-minimal malloc improvements to land, rather than
> rolling my own memory allocator to back the IFUNC resolver queue.
The above isn't correct because even if you can call getauxval, it
doesn't have the data to return meaningful results during relocation.
This currently breaks --enable-bind-now builds on pcp64le:
https://sourceware.org/bugzilla/show_bug.cgi?id=21707
For the time being, we just disable --enable-bind-now, but I'd prefer a
proper fix, perhaps the one suggested here:
https://sourceware.org/ml/libc-alpha/2017-06/msg01383.html
Thanks,
Florian