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: [Question] ifunc odering in ELF



On 16/09/2019 23:43, Florian Weimer wrote:
> * Juchan Kim:
> 
>> We have two ifuncs foo1 and foo2 in our library
>>
>> foo1 has foo1_resolver() 
>> foo2 has foo2_resolver()
>>
>>
>> foo1_resolver() {
>> 	...
>> }
>>
>> foo2_resolver() {
>> 	foo1()
>> 	...
>> }
> 
> IFUNC resolvers must not depend on run-time relocations.  If you follow
> that rule, this cannot happen.
> 
> binutils ld sorts IFUNC relocations last, which helps, but to cover more
> cases (but not all of them), run-time reordering of relocations is
> needed.  We have some patches for that, but my impression is that the
> glibc project does not want them.  Instead, we're probably going to
> remove all IFUNC resolvers with relocation dependencies from glibc, and
> tell others to do so as well.
> 

That's was not my impression, I this we should to go this way iff we can't
really make IFUNC reordering work on loader. From your initial work on
the two-phase IFUNC relocation, which prevents us to move forward?


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