This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [RFC] Add IFUNC support for MIPS
- From: Faraz Shahbazker <faraz dot shahbazker at imgtec dot com>
- To: <binutils at sourceware dot org>, <rdsandiford at googlemail dot com>
- Date: Mon, 3 Aug 2015 08:29:50 -0700
- Subject: Re: [RFC] Add IFUNC support for MIPS
- Authentication-results: sourceware.org; auth=none
- References: <5583540C dot 7070800 at imgtec dot com> <87381jtr31 dot fsf at googlemail dot com> <55899D52 dot 1050000 at imgtec dot com> <87vbeegucz dot fsf at googlemail dot com> <5589AFCD dot 10905 at imgtec dot com> <87oaipn8i4 dot fsf at googlemail dot com>
On 08/02/2015 06:08 AM, Richard Sandiford wrote:
> Faraz Shahbazker <faraz.shahbazker@imgtec.com> writes:
>> A chunk of the patch tries to address the link-order problem, namely: If
>> an external reference binds to an IFUNC resolver within another object
>> which has not been relocated at the time when the referring object is
>> loaded, it is not possible to invoke this IFUNC resolver to determine
>> the resolved function.
>>
>> Is this problem worth solving or should I leave it alone?
>
> I don't think we can reasonably support that in the general case.
> E.g. in the attached testcase b.c has a pointer reference to foo,
> which in a.c is defined as an ifunc. The ifunc resolver refers
> to relocated data in a.c. That doesn't work on x86_64-linux-gnu:
I have dropped this completely from the recent patch. Thanks for the explanation though.
Regards,
Faraz