This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch hjl/pr18078 created. glibc-2.21-178-g9d758fc
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 9 Mar 2015 23:04:12 -0000
- Subject: GNU C Library master sources branch hjl/pr18078 created. glibc-2.21-178-g9d758fc
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/pr18078 has been created
at 9d758fcf853188107fab5a788af5c295f5e5e2ce (commit)
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9d758fcf853188107fab5a788af5c295f5e5e2ce
commit 9d758fcf853188107fab5a788af5c295f5e5e2ce
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 9 13:22:01 2015 -0700
Mark PLT entries for free and malloc options
On x86, linker in binutils 2.26 and newer consolidates R_*_JUMP_SLOT with
R_*_GLOB_DAT relocation against the same symbol. It makes R_*_JUMP_SLOT
relocations against free and malloc optional. We should mark PLT entries
for free and malloc optional.
[BZ #18078]
* sysdeps/unix/sysv/linux/i386/localplt.data: Mark PLT entries
for free and malloc optional.
* sysdeps/x86_64/localplt.data: New file.
diff --git a/sysdeps/unix/sysv/linux/i386/localplt.data b/sysdeps/unix/sysv/linux/i386/localplt.data
index b25abf8..9d70ba7 100644
--- a/sysdeps/unix/sysv/linux/i386/localplt.data
+++ b/sysdeps/unix/sysv/linux/i386/localplt.data
@@ -1,7 +1,10 @@
+# Linker in binutils 2.26 and newer consolidates R_X86_64_JUMP_SLOT
+# relocation with R_386_GLOB_DAT relocation against the same symbol.
+# It makes R_386_JUMP_SLOT relocations against free and malloc optional.
libc.so: _Unwind_Find_FDE
libc.so: calloc
-libc.so: free
-libc.so: malloc
+libc.so: free ?
+libc.so: malloc ?
libc.so: memalign
libc.so: realloc
libm.so: matherr
@@ -12,4 +15,4 @@ ld.so: __libc_memalign
ld.so: malloc
ld.so: calloc
ld.so: realloc
-ld.so: free
+ld.so: free ?
diff --git a/sysdeps/x86_64/localplt.data b/sysdeps/x86_64/localplt.data
new file mode 100644
index 0000000..165259a
--- /dev/null
+++ b/sysdeps/x86_64/localplt.data
@@ -0,0 +1,20 @@
+# 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.
+# It makes R_X86_64_JUMP_SLOT relocations against free and malloc optional.
+libc.so: calloc
+libc.so: free ?
+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
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free ?
-----------------------------------------------------------------------
hooks/post-receive
--
GNU C Library master sources