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 release/2.24/master updated. glibc-2.24-38-gd012ea8


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, release/2.24/master has been updated
       via  d012ea850680a2a94959f1c5136502a0f712b30a (commit)
      from  b3b37f1a5559a7620e31c8053ed1b44f798f2b6d (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=d012ea850680a2a94959f1c5136502a0f712b30a

commit d012ea850680a2a94959f1c5136502a0f712b30a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 28 09:44:49 2016 -0800

    X86_64: Don't use PLT nor GOT in static archives [BZ #20750]
    
    There is no need to use PLT nor GOT in static archives to branch to a
    function, regardless whether static archives is compiled with PIC or
    not.  When static archives are used to create dynamic executable,
    PLT/GOT may be used.  The resulting executable still works correctly.
    
    	[BZ #20750]
    	* sysdeps/x86_64/sysdep.h (JUMPTARGET): Check SHARED instead
    	of PIC.
    
    (cherry picked from commit c9070e6305c08365c5f8b604bdca39c699d70cfa)

diff --git a/ChangeLog b/ChangeLog
index bf89bd3..a9b7540 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #20750]
+	* sysdeps/x86_64/sysdep.h (JUMPTARGET): Check SHARED instead
+	of PIC.
+
 2016-12-31  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #18784]
diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
index 75ac747..4b67fa8 100644
--- a/sysdeps/x86_64/sysdep.h
+++ b/sysdeps/x86_64/sysdep.h
@@ -89,13 +89,14 @@ lose:									      \
   END (name)
 
 #undef JUMPTARGET
-#ifdef PIC
+#ifdef SHARED
 # ifdef BIND_NOW
 #  define JUMPTARGET(name)	*name##@GOTPCREL(%rip)
 # else
 #  define JUMPTARGET(name)	name##@PLT
 # endif
 #else
+/* For static archives, branch to target directly.  */
 # define JUMPTARGET(name)	name
 #endif
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog               |    6 ++++++
 sysdeps/x86_64/sysdep.h |    3 ++-
 2 files changed, 8 insertions(+), 1 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]