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 hjl/pr21740 created. glibc-2.25-755-g47d9576


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/pr21740 has been created
        at  47d95763a35fbc83ac871b10fc59f9eca1ef0a40 (commit)

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=47d95763a35fbc83ac871b10fc59f9eca1ef0a40

commit 47d95763a35fbc83ac871b10fc59f9eca1ef0a40
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Jul 9 08:39:17 2017 -0700

    Don't add stack_chk_fail_local.o to libc.a [BZ #21740]
    
    commit 524a8ef2ad76af8ac049293d993a1856b0d888fb
    Author: Nick Alcock <nick.alcock@oracle.com>
    Date:   Mon Dec 26 10:08:57 2016 +0100
    
        PLT avoidance for __stack_chk_fail [BZ #7065]
    
        Add a hidden __stack_chk_fail_local alias to libc.so,
        and make sure that on targets which use __stack_chk_fail,
        this does not introduce a local PLT reference into libc.so.
    
    which unconditionally added
    
    strong_alias (__stack_chk_fail, __stack_chk_fail_local)
    
    defines __stack_chk_fail_local as an alias of __stack_chk_fail in libc.a.
    There is no need to add stack_chk_fail_local.o to libc.a.  We only need
    to add stack_chk_fail_local.oS to libc_nonshared.a.
    
    Tested on x86-64:
    
    [hjl@gnu-skl-1 build-x86_64-linux]$ nm libc.a | grep __stack_chk_fail
    0000000000000000 T __stack_chk_fail
    0000000000000000 T __stack_chk_fail_local
    [hjl@gnu-skl-1 build-x86_64-linux]$ nm libc_nonshared.a | grep __stack_chk_fail_local
    0000000000000000 T __stack_chk_fail_local
    [hjl@gnu-skl-1 build-x86_64-linux]$
    
    	[BZ #21740]
    	* debug/Makefile (elide-routines.o): New.

diff --git a/debug/Makefile b/debug/Makefile
index ce5fa88..504bf87 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -53,6 +53,10 @@ routines  = backtrace backtracesyms backtracesymsfd noophooks \
 	    $(static-only-routines)
 static-only-routines := warning-nop stack_chk_fail_local
 
+# Don't add stack_chk_fail_local.o to libc.a since __stack_chk_fail_local
+# is an alias of __stack_chk_fail in stack_chk_fail.o.
+elide-routines.o := stack_chk_fail_local
+
 # Building the stack-protector failure routines with stack protection
 # makes no sense.
 

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


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]