PATCH: Handle STT_GNU_IFUNC symols when building shared library

H.J. Lu hjl.tools@gmail.com
Wed May 25 18:02:00 GMT 2011


On Thu, Jan 6, 2011 at 10:47 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> I checked in this patch to properly handle local/global STT_GNU_IFUNC
> symols when building shared library.
>
>
> H.J.
> ---
> bfd/
>
> 2012-01-06  H.J. Lu  <hongjiu.lu@intel.com>
>
>        PR ld/12366
>        PR ld/12371
>        * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
>        handle symbols marked with regular reference, but not non-GOT
>        reference when building shared library.
>
>        * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
>        local and global STT_GNU_IFUNC symols when building shared
>        library.
>        * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
>
> ld/testsuite/
>
> 2012-01-06  H.J. Lu  <hongjiu.lu@intel.com>
>
>        PR ld/12366
>        PR ld/12371
>        * ld-ifunc/ifunc-10-i386.s: Add more tests.
>        * ld-ifunc/ifunc-10-x86-64.s: Likewise.
>        * ld-ifunc/ifunc-11-i386.s: Likewise.
>        * ld-ifunc/ifunc-11-x86-64.s: Likewise.
>
>        * ld-ifunc/ifunc-12-i386.d: New.
>        * ld-ifunc/ifunc-12-i386.s: Likewise.
>        * ld-ifunc/ifunc-12-x86-64.d: Likewise.
>        * ld-ifunc/ifunc-12-x86-64.s: Likewise.
>        * ld-ifunc/ifunc-13-i386.d: Likewise.
>        * ld-ifunc/ifunc-13-x86-64.d: Likewise.
>        * ld-ifunc/ifunc-13a-i386.s: Likewise.
>        * ld-ifunc/ifunc-13a-x86-64.s: Likewise.
>        * ld-ifunc/ifunc-13b-i386.s: Likewise.
>        * ld-ifunc/ifunc-13b-x86-64.s: Likewise.
>

I backported it to 2.21 branch.


H.J.



More information about the Binutils mailing list