mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08:00
d3d9c95aef
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".
20 lines
952 B
Plaintext
20 lines
952 B
Plaintext
# See scripts/check-localplt.awk for how this file is processed.
|
|
# PLT use is required for the malloc family and for matherr because
|
|
# 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 + 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 + 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 + 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
|