+2014-11-06 Carlos O'Donell <carlos@redhat.com>
+
+ * elf/Makefile (all-built-dso): Add $(common-objpfx)elf/ld.so.
+ (localplt-build-dso): Add elf/ld.so.
+ * sysdeps/unix/sysv/linux/i386/localplt.data: Add ___tls_get_addr
+ i.e. 3 underscore version, __libc_memalign, malloc, calloc, realloc,
+ and free for ld.so.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data: Add
+ __libc_memalign, malloc, calloc, realloc, and free for ld.so.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data:
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/localplt.data: Likewise.
+ * sysdeps/generic/localplt.data: Add __tls_get_addr i.e. 2 underscore
+ version, __libc_memalign, malloc, calloc, realloc and free for ld.so.
+ * sysdeps/unix/sysv/linux/aarch64/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/arm/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data: Likewise.
+
2014-11-05 Joseph Myers <joseph@codesourcery.com>
[BZ #14132]
$(objpfx)tst-pie1: $(objpfx)tst-piemod1.so
ifeq (yes,$(build-shared))
-all-built-dso := $(common-objpfx)libc.so \
+all-built-dso := $(common-objpfx)elf/ld.so $(common-objpfx)libc.so \
$(filter-out $(common-objpfx)linkobj/libc.so, \
$(sort $(wildcard $(addprefix $(common-objpfx), \
*/lib*.so \
localplt-built-dso := $(addprefix $(common-objpfx),\
libc.so \
+ elf/ld.so \
math/libm.so \
rt/librt.so \
dlfcn/libdl.so \
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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
libm.so: __signbit
libm.so: __signbitf
libm.so: __signbitl
+# 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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
# 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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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.
+# Note that it is triple underscore for ___tls_get_addr e.g. the alternate
+# ABI.
+ld.so: ___tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
libm.so: matherr
libm.so: matherrf
libm.so: matherrl
+# 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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
libm.so: __signbitf
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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
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.
+ld.so: __tls_get_addr
+ld.so: __libc_memalign
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free