1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

ld.so: Remove __libc_memalign

It is no longer needed since commit 6c444ad6e9
(elf: Do not use memalign for TCB/TLS blocks allocation [BZ #17730]).
Applications do not link against ld.so and will use the definition in
libc.so, so there is no ABI impact.
This commit is contained in:
Florian Weimer
2016-11-30 16:23:58 +01:00
parent 9e78f6f6e7
commit b04beebf07
48 changed files with 106 additions and 119 deletions

View File

@ -1,5 +1,4 @@
GLIBC_2.17 GLIBC_2.17 A
GLIBC_2.17 __libc_memalign F
GLIBC_2.17 __libc_stack_end D 0x8
GLIBC_2.17 __stack_chk_guard D 0x8
GLIBC_2.17 __tls_get_addr F

View File

@ -7,11 +7,10 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
libm.so: matherr
# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
# internally to allocate aligned TLS storage. The other malloc family of
# functions are expected to allow user symbol interposition.
# The dynamic loader needs __tls_get_addr for TLS.
ld.so: __tls_get_addr
ld.so: __libc_memalign
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x28
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -24,11 +24,10 @@ libm.so: matherr
# We used to offer inline functions that used this, so it must be exported.
# Ought to reorg things such that carg isn't thus forced to use a plt.
libm.so: __atan2
# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
# internally to allocate aligned TLS storage. The other malloc family of
# functions are expected to allow user symbol interposition.
# The dynamic loader needs __tls_get_addr for TLS.
ld.so: __tls_get_addr ?
ld.so: __libc_memalign + RELA R_ALPHA_GLOB_DAT
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc + RELA R_ALPHA_GLOB_DAT
ld.so: calloc + RELA R_ALPHA_GLOB_DAT
ld.so: realloc + RELA R_ALPHA_GLOB_DAT

View File

@ -1,5 +1,4 @@
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __libc_memalign F
GLIBC_2.4 __libc_stack_end D 0x4
GLIBC_2.4 __stack_chk_guard D 0x4
GLIBC_2.4 __tls_get_addr F

View File

@ -7,11 +7,10 @@ libc.so: realloc
libm.so: matherr
libpthread.so: __errno_location
libpthread.so: raise
# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
# internally to allocate aligned TLS storage. The other malloc family of
# functions are expected to allow user symbol interposition.
# The dynamic loader needs __tls_get_addr for TLS.
ld.so: __tls_get_addr
ld.so: __libc_memalign
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.2 GLIBC_2.2 A
GLIBC_2.2 __libc_memalign F
GLIBC_2.2 __libc_stack_end D 0x4
GLIBC_2.2 _dl_mcount F
GLIBC_2.2 _r_debug D 0x14

View File

@ -13,10 +13,8 @@ libc.so: sigprocmask
libc.so: __errno_location
libm.so: matherr
libpthread.so: __errno_location
# 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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -7,10 +7,8 @@ libc.so: malloc + REL R_386_GLOB_DAT
libc.so: memalign + REL R_386_GLOB_DAT
libc.so: realloc + REL R_386_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 + REL R_386_GLOB_DAT
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc + REL R_386_GLOB_DAT
ld.so: calloc + REL R_386_GLOB_DAT
ld.so: realloc + REL R_386_GLOB_DAT

View File

@ -1,5 +1,4 @@
GLIBC_2.2 GLIBC_2.2 A
GLIBC_2.2 __libc_memalign F
GLIBC_2.2 __libc_stack_end D 0x8
GLIBC_2.2 _dl_mcount F
GLIBC_2.2 _r_debug D 0x28

View File

@ -6,10 +6,8 @@ libc.so: realloc
libm.so: matherr
libm.so: matherrf
libm.so: matherrl
# 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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __libc_memalign F
GLIBC_2.4 __libc_stack_end D 0x4
GLIBC_2.4 __stack_chk_guard D 0x4
GLIBC_2.4 __tls_get_addr F

View File

@ -6,10 +6,8 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -1,5 +1,4 @@
GLIBC_2.18 GLIBC_2.18 A
GLIBC_2.18 __libc_memalign F
GLIBC_2.18 __libc_stack_end D 0x4
GLIBC_2.18 __stack_chk_guard D 0x4
GLIBC_2.18 __tls_get_addr F

View File

@ -6,11 +6,10 @@ libc.so: memalign
libc.so: realloc
libm.so: matherr
libpthread.so: __errno_location
# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign
# internally to allocate aligned TLS storage. The other malloc family of
# functions are expected to allow user symbol interposition.
# The dynamic loader needs __tls_get_addr for TLS.
ld.so: __tls_get_addr
ld.so: __libc_memalign
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x28
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -1,5 +1,4 @@
GLIBC_2.21 GLIBC_2.21 A
GLIBC_2.21 __libc_memalign F
GLIBC_2.21 __libc_stack_end D 0x4
GLIBC_2.21 __stack_chk_guard D 0x4
GLIBC_2.21 __tls_get_addr F

View File

@ -27,10 +27,8 @@ libc.so: __nedf2
libc.so: __eqdf2
libc.so: __extendsfdf2
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -5,10 +5,8 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -35,10 +35,8 @@ libc.so: realloc
libm.so: copysignl ?
libm.so: fabsl
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.17 GLIBC_2.17 A
GLIBC_2.17 __libc_memalign F
GLIBC_2.17 __libc_stack_end D 0x8
GLIBC_2.17 __tls_get_addr F
GLIBC_2.17 _dl_mcount F

View File

@ -3,7 +3,6 @@ GLIBC_2.22 __tls_get_addr_opt F
GLIBC_2.23 GLIBC_2.23 A
GLIBC_2.23 __parse_hwcap_and_convert_at_platform F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __libc_memalign F
GLIBC_2.3 __libc_stack_end D 0x8
GLIBC_2.3 __tls_get_addr F
GLIBC_2.3 _dl_mcount F

View File

@ -4,10 +4,8 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -5,17 +5,8 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
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.
# It is also allowed to call __libc_memalign via function-pointer loaded from
# GOT instead of calling via a plt-stub. In this case there is a R_390_GLOB_DAT
# relocation in section .rela.dyn instead of R_390_JMP_SLOT in .rela.plt.
# After commit "elf: Do not use memalign for TCB/TLS blocks allocation
# [BZ #17730]" __libc_memalign is only called in elf/dl-minimal.c: malloc() in
# ld.so and gcc -O2/-O3 leads to R_390_GLOB_DAT. If build with
# -fno-optimize-sibling-calls an R_390_JMP_SLOT is generated.
ld.so: __libc_memalign + RELA R_390_GLOB_DAT
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -1,5 +1,4 @@
GLIBC_2.2 GLIBC_2.2 A
GLIBC_2.2 __libc_memalign F
GLIBC_2.2 __libc_stack_end D 0x8
GLIBC_2.2 _dl_mcount F
GLIBC_2.2 _r_debug D 0x28

View File

@ -1,5 +1,4 @@
GLIBC_2.2 GLIBC_2.2 A
GLIBC_2.2 __libc_memalign F
GLIBC_2.2 __libc_stack_end D 0x4
GLIBC_2.2 _dl_mcount F
GLIBC_2.2 _r_debug D 0x14

View File

@ -10,10 +10,8 @@ libc.so: _Unwind_Find_FDE
libc.so: _exit
libc.so: __errno_location
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.0 GLIBC_2.0 A
GLIBC_2.0 __libc_memalign F
GLIBC_2.0 _r_debug D 0x14
GLIBC_2.0 calloc F
GLIBC_2.0 free F

View File

@ -16,10 +16,8 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.2 GLIBC_2.2 A
GLIBC_2.2 __libc_memalign F
GLIBC_2.2 __libc_stack_end D 0x8
GLIBC_2.2 _dl_mcount F
GLIBC_2.2 _r_debug D 0x28

View File

@ -18,10 +18,8 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
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
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc

View File

@ -1,5 +1,4 @@
GLIBC_2.12 GLIBC_2.12 A
GLIBC_2.12 __libc_memalign F
GLIBC_2.12 __libc_stack_end D 0x4
GLIBC_2.12 __tls_get_addr F
GLIBC_2.12 _dl_mcount F

View File

@ -1,5 +1,4 @@
GLIBC_2.12 GLIBC_2.12 A
GLIBC_2.12 __libc_memalign F
GLIBC_2.12 __libc_stack_end D 0x8
GLIBC_2.12 __tls_get_addr F
GLIBC_2.12 _dl_mcount F

View File

@ -1,5 +1,4 @@
GLIBC_2.12 GLIBC_2.12 A
GLIBC_2.12 __libc_memalign F
GLIBC_2.12 __libc_stack_end D 0x4
GLIBC_2.12 __tls_get_addr F
GLIBC_2.12 _dl_mcount F

View File

@ -1,5 +1,4 @@
GLIBC_2.2.5 GLIBC_2.2.5 A
GLIBC_2.2.5 __libc_memalign F
GLIBC_2.2.5 __libc_stack_end D 0x8
GLIBC_2.2.5 _dl_mcount F
GLIBC_2.2.5 _r_debug D 0x28

View File

@ -1,5 +1,4 @@
GLIBC_2.16 GLIBC_2.16 A
GLIBC_2.16 __libc_memalign F
GLIBC_2.16 __libc_stack_end D 0x4
GLIBC_2.16 __tls_get_addr F
GLIBC_2.16 _dl_mcount F