Christian Robottom Reis <k...@linaro.org> writes: > On Fri, Nov 26, 2010 at 05:57:57PM +0000, Richard Sandiford wrote: >> * More ARM testing of binutils support for STT_GNU_IFUNC. >> >> * Implemented the GLIBC support for STT_GNU_IFUNC. Simple ARM testcases >> seem to run correctly. > > Coincidentally I was reading about this exact feature at > > http://www.airs.com/blog/page/4 > > In the interest of self-education, could you tell me a little bit about > what GLIBC support for ifunc entails -- is it basically infrastructure > to allow libc functions to be defined as ifuncs, now that the assembler > supports it?
Fortunately, that infrastructure was part of the initial x86/x86_64 effort, and it was a once-only thing. You can now use the appropriate GCC or GAS syntax to define IFUNCs for any target. However, IFUNC support requires each target to define a new relocation (R_*_IRELATIVE). Each target's dynamic linker code needs to handle that new relocation and also the STT_GNU_IFUNC symbol type. It's basically boiler-plate, to be honest. The interesting target-dependent work is in BFD. Richard _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain