This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26-508-g9557747
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 4 Oct 2017 00:55:11 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26-508-g9557747
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, master has been updated
via 955774751b71c4bc94029dd541ad9d34634ec995 (commit)
from 02d2d8927d2fd3815a9f3c5c767aa71a8a33408e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=955774751b71c4bc94029dd541ad9d34634ec995
commit 955774751b71c4bc94029dd541ad9d34634ec995
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Oct 3 17:54:13 2017 -0700
i386: Use "movl main@GOT(%ebx), %eax" in start.S
Don't use "leal main@GOTOFF(%ebx), %eax" since main may be in a
shared object. Linker will convert "movl main@GOT(%ebx), %eax"
to "leal main@GOTOFF(%ebx), %eax" if main is defined locally.
* sysdeps/i386/start.S: Replace "leal main@GOT(%ebx), %eax" with
"movl main@GOTOFF(%ebx), %eax".
diff --git a/ChangeLog b/ChangeLog
index 01517c5..a8d731c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2017-10-03 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/i386/start.S: Replace "leal main@GOT(%ebx), %eax" with
+ "movl main@GOTOFF(%ebx), %eax".
+
+2017-10-03 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/i386/dl-machine.h (elf_machine_load_address): Don't
allow undefined _DYNAMIC in PIE libc.a.
* sysdeps/x86_64/dl-machine.h (elf_machine_load_address):
diff --git a/sysdeps/i386/start.S b/sysdeps/i386/start.S
index 375a93c..916fcd2 100644
--- a/sysdeps/i386/start.S
+++ b/sysdeps/i386/start.S
@@ -99,8 +99,11 @@ _start:
pushl main@GOT(%ebx)
# else
/* Avoid relocation in static PIE since _start is called before
- it is relocated. */
- leal main@GOTOFF(%ebx), %eax
+ it is relocated. Don't use "leal main@GOTOFF(%ebx), %eax"
+ since main may be in a shared object. Linker will convert
+ "movl main@GOT(%ebx), %eax" to "leal main@GOTOFF(%ebx), %eax"
+ if main is defined locally. */
+ movl main@GOT(%ebx), %eax
pushl %eax
# endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
sysdeps/i386/start.S | 7 +++++--
2 files changed, 10 insertions(+), 2 deletions(-)
hooks/post-receive
--
GNU C Library master sources