This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]