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.14-307-gb402e91


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  b402e91af4a1771cdc11bb7d88bbc631aeeddb82 (commit)
      from  4d8e1f11950c7ceb6b5037c66ee104d031487d72 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b402e91af4a1771cdc11bb7d88bbc631aeeddb82

commit b402e91af4a1771cdc11bb7d88bbc631aeeddb82
Author: Roland McGrath <mcgrathr@chromium.org>
Date:   Thu Sep 15 12:26:08 2011 -0700

    Use HIDDEN_JUMPTARGET rather than spelling out its effects, for ____longjmp_chk implementations.

diff --git a/ChangeLog b/ChangeLog
index fa117e9..5ddbdab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2011-09-15  Roland McGrath  <roland@hack.frob.com>
+
+	* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
+	(CALL_FAIL): Use HIDDEN_JUMPTARGET for __fortify_fail.
+	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
+	(CALL_FAIL): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S (CHECK_RSP): Likewise.
+	(CALL_FAIL): Macro removed.
+	Patch mostly by Mike Frysinger <vapier@gentoo.org>.
+
 2011-09-15  Ulrich Drepper  <drepper@gmail.com>
 
 	* sysdeps/x86_64/fpu/bits/mathinline.h: Add fmax and fmin optimizations
diff --git a/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S b/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
index a07e6c8..cd3c66a 100644
--- a/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
+++ b/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
@@ -33,10 +33,10 @@ longjmp_msg:
 			cfi_register(%ebx,%ecx);			      \
 			LOAD_PIC_REG (bx);				      \
 			leal	longjmp_msg@GOTOFF(%ebx), %eax;		      \
-			call	__GI___fortify_fail@PLT
+			call	HIDDEN_JUMPTARGET(__fortify_fail)
 #else
 # define CALL_FAIL	movl	$longjmp_msg, %eax;			      \
-			call	__fortify_fail
+			call	HIDDEN_JUMPTARGET(__fortify_fail)
 #endif
 
 
diff --git a/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S
index e097c22..fa87f67 100644
--- a/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S
+++ b/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S
@@ -30,19 +30,13 @@ longjmp_msg:
 
 #define __longjmp ____longjmp_chk
 
-#ifdef PIC
-#  define CALL_FAIL	__GI___fortify_fail
-#else
-#  define CALL_FAIL	__fortify_fail
-#endif
-
 #define CHECK_RSP(reg) \
 	cmp.ltu p0, p8 = reg, r12;				\
 (p8)	br.cond.dpnt .Lok;;					\
 	addl r28 = @ltoffx(longjmp_msg#), r1;;			\
 	ld8.mov r28 = [r28], longjmp_msg#;;			\
 	ld8 out0 = [r28];					\
-	br.call.sptk.many b0 = CALL_FAIL#;;			\
+	br.call.sptk.many b0 = HIDDEN_JUMPTARGET(__fortify_fail)#;; \
 .Lok:
 
 #include "__longjmp.S"
diff --git a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
index 3881082..d8cbe06 100644
--- a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
+++ b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
@@ -34,7 +34,7 @@ longjmp_msg:
 			cfi_remember_state;				      \
 			cfi_def_cfa_offset(16);				      \
 			leaq	longjmp_msg(%rip), %rdi;		      \
-			call	__GI___fortify_fail;			      \
+			call	HIDDEN_JUMPTARGET(__fortify_fail);	      \
 			nop;						      \
 			cfi_restore_state
 #else
@@ -42,7 +42,7 @@ longjmp_msg:
 			cfi_remember_state;				      \
 			cfi_def_cfa_offset(16);				      \
 			movq	$longjmp_msg, %rdi;			      \
-			call	__fortify_fail;				      \
+			call	HIDDEN_JUMPTARGET(__fortify_fail);	      \
 			nop;						      \
 			cfi_restore_state
 #endif

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

Summary of changes:
 ChangeLog                                        |   10 ++++++++++
 sysdeps/unix/sysv/linux/i386/____longjmp_chk.S   |    4 ++--
 sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S   |    8 +-------
 sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S |    4 ++--
 4 files changed, 15 insertions(+), 11 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]