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-146-g7c41b4a


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  7c41b4a1315fc4415e468bbac94f77ecdb74f4c8 (commit)
      from  483d70687919ab42c3c6498a99e51b210e5f45ca (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=7c41b4a1315fc4415e468bbac94f77ecdb74f4c8

commit 7c41b4a1315fc4415e468bbac94f77ecdb74f4c8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 05:47:10 2017 -0700

    Enable hidden visibility in libc.a compiled with PIE
    
    When building libc.a with PIE, enable hidden visibility to allow direct
    access to definitions within libc.a without using GOT.
    
    Size comparison of elf/ldconfig when the compiler defaults to -fPIE:
    
    On x86-64:
            text	   data	    bss	    dec	    hex
    Before: 619206	  20132	   5488	 644826	  9d6da
    After : 619062	  20132	   5488	 644682	  9d64a
    On i686:
            text	   data	    bss	    dec	    hex
    Before: 556305	  10816	   3056	 570177	  8b341
    After : 553688	  10756	   3056	 567500	  8a8cc
    
    	* include/libc-symbols.h (attribute_hidden): Enable hidden
    	visibility in libc.a compiled with PIE.

diff --git a/ChangeLog b/ChangeLog
index d25a8fd..e7ffb59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2017-08-21  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* include/libc-symbols.h (attribute_hidden): Enable hidden
+	visibility in libc.a compiled with PIE.
+
+2017-08-21  H.J. Lu  <hongjiu.lu@intel.com>
+
 	[BZ #18822]
 	* sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)):
 	Add attribute_hidden.
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index fe3ab81..d6a1c26 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -363,7 +363,8 @@ for linking")
   strong_alias(real, name)
 #endif
 
-#if defined SHARED || defined LIBC_NONSHARED
+#if defined SHARED || defined LIBC_NONSHARED \
+  || (BUILD_PIE_DEFAULT && IS_IN (libc))
 # define attribute_hidden __attribute__ ((visibility ("hidden")))
 #else
 # define attribute_hidden

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

Summary of changes:
 ChangeLog              |    5 +++++
 include/libc-symbols.h |    3 ++-
 2 files changed, 7 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]