This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-307-gb402e91
- From: roland at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Sep 2011 19:26:25 -0000
- Subject: 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