diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-10-14 05:59:50 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-10-14 06:00:02 -0700 |
commit | d3d9c95aefded7716d037e241f9d23a1cccab45a (patch) | |
tree | 2b926e69a63a8e6ba6ea89f4f35e85b1b6d72390 /sysdeps/x86_64 | |
parent | 8f763b04a0249d5a94a667da31294dd2395ec3bf (diff) | |
download | glibc-d3d9c95aefded7716d037e241f9d23a1cccab45a.tar.gz glibc-d3d9c95aefded7716d037e241f9d23a1cccab45a.tar.xz glibc-d3d9c95aefded7716d037e241f9d23a1cccab45a.zip |
Support PLT and GOT references in local PIC check
Linker in binutils 2.26 and newer generate GOT references instead PLT references when -z now is passed to linker. We need to extend scripts/localplt.awk to allow PLT or GOT references. [BZ #19007] * scripts/localplt.awk: Also allow GOT references. * sysdeps/unix/sysv/linux/i386/localplt.data: Mark _Unwind_Find_FDE, calloc, memalign, realloc and __libc_memalign with "+ REL R_386_GLOB_DAT". * sysdeps/x86_64/localplt.data: Mark calloc, memalign, realloc and __libc_memalign with "+ RELA R_X86_64_GLOB_DAT".
Diffstat (limited to 'sysdeps/x86_64')
-rw-r--r-- | sysdeps/x86_64/localplt.data | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sysdeps/x86_64/localplt.data b/sysdeps/x86_64/localplt.data index d140476dfe..f168b143ff 100644 --- a/sysdeps/x86_64/localplt.data +++ b/sysdeps/x86_64/localplt.data @@ -3,17 +3,17 @@ # users can define their own functions and have library internals call them. # Linker in binutils 2.26 and newer consolidates R_X86_64_JUMP_SLOT # relocation with R_X86_64_GLOB_DAT relocation against the same symbol. -libc.so: calloc +libc.so: calloc + RELA R_X86_64_GLOB_DAT libc.so: free + RELA R_X86_64_GLOB_DAT libc.so: malloc + RELA R_X86_64_GLOB_DAT -libc.so: memalign -libc.so: realloc +libc.so: memalign + RELA R_X86_64_GLOB_DAT +libc.so: realloc + RELA R_X86_64_GLOB_DAT libm.so: matherr # The dynamic loader uses __libc_memalign internally to allocate aligned # TLS storage. The other malloc family of functions are expected to allow # user symbol interposition. -ld.so: __libc_memalign -ld.so: malloc -ld.so: calloc -ld.so: realloc +ld.so: __libc_memalign + RELA R_X86_64_GLOB_DAT +ld.so: malloc + RELA R_X86_64_GLOB_DAT +ld.so: calloc + RELA R_X86_64_GLOB_DAT +ld.so: realloc + RELA R_X86_64_GLOB_DAT ld.so: free + RELA R_X86_64_GLOB_DAT |