This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
glibc git repo branch, master, updated. d2812fc6d26adc7fc74d85079874a8ee944343da
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 22 May 2009 01:44:10 -0000
- Subject: glibc git repo branch, master, updated. d2812fc6d26adc7fc74d85079874a8ee944343da
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 "glibc git repo".
The branch, master has been updated
via d2812fc6d26adc7fc74d85079874a8ee944343da (commit)
via e7535de78f5e027e91cab6d4288a45b03ba0097f (commit)
from 3533b1a6a6a6b7e350b7a9459f8152b1f9f0364a (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=d2812fc6d26adc7fc74d85079874a8ee944343da
commit d2812fc6d26adc7fc74d85079874a8ee944343da
Author: H.J. Lu <hongjiu.lu@intel.com>
Date: Thu May 21 18:43:45 2009 -0700
Add ____longjmp_chk support for IA-64.
diff --git a/ChangeLog b/ChangeLog
index bbd282c..5746ede 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2009-05-21 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S: New file.
+ * sysdeps/unix/sysv/linux/ia64/__longjmp.S: If CHECK_RSP is defined,
+ use it.
+
* sysdeps/i386/__longjmp.S: Add .text.
* sysdeps/x86_64/__longjmp.S: Likewise.
diff --git a/sysdeps/unix/sysv/linux/ia64/__longjmp.S b/sysdeps/unix/sysv/linux/ia64/__longjmp.S
index aa18fad..2e74904 100644
--- a/sysdeps/unix/sysv/linux/ia64/__longjmp.S
+++ b/sysdeps/unix/sysv/linux/ia64/__longjmp.S
@@ -42,7 +42,11 @@
/* __longjmp(__jmp_buf buf, int val) */
LEAF(__longjmp)
+#ifdef CHECK_RSP
+ alloc r8=ar.pfs,2,1,1,0
+#else
alloc r8=ar.pfs,2,1,0,0
+#endif
mov r27=ar.rsc
add r2=0x98,in0 // r2 <- &jmpbuf.orig_jmp_buf_addr
;;
@@ -70,14 +74,18 @@ LEAF(__longjmp)
add r3=8,in0 // r3 <- &jmpbuf.r1
shl r9=r25,r17
;;
+ ld8.fill.nta r28=[r2],16 // r28 <- jmpbuf.sp
or r25=r8,r9
;;
mov r26=ar.rnat
mov ar.unat=r25 // setup ar.unat (NaT bits for r1, r4-r7, and r12)
;;
- ld8.fill.nta sp=[r2],16 // r12 (sp)
+#ifdef CHECK_RSP
+ CHECK_RSP (r28)
+#endif
ld8.fill.nta gp=[r3],16 // r1 (gp)
dep r11=-1,r23,3,6 // r11 <- ia64_rse_rnat_addr(jmpbuf.ar_bsp)
+ mov sp=r28 // r12 (sp)
;;
ld8.nta r16=[r2],16 // caller's unat
ld8.nta r17=[r3],16 // fpsr
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e7535de78f5e027e91cab6d4288a45b03ba0097f
commit e7535de78f5e027e91cab6d4288a45b03ba0097f
Author: H.J. Lu <hongjiu.lu@intel.com>
Date: Thu May 21 18:38:11 2009 -0700
Add missing .text directives.
The ____longjmp_chk functions on x86 and x86-64 were placed in .rodata.str1.1.
diff --git a/ChangeLog b/ChangeLog
index 5ff0279..bbd282c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/i386/__longjmp.S: Add .text.
+ * sysdeps/x86_64/__longjmp.S: Likewise.
+
2009-05-21 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Don't define
diff --git a/sysdeps/i386/__longjmp.S b/sysdeps/i386/__longjmp.S
index 15c9e55..8b07320 100644
--- a/sysdeps/i386/__longjmp.S
+++ b/sysdeps/i386/__longjmp.S
@@ -28,6 +28,7 @@
#define JBUF PARMS
#define VAL JBUF+PTR_SIZE
+ .text
ENTRY (BP_SYM (__longjmp))
ENTER
diff --git a/sysdeps/x86_64/__longjmp.S b/sysdeps/x86_64/__longjmp.S
index 7649e99..24552ec 100644
--- a/sysdeps/x86_64/__longjmp.S
+++ b/sysdeps/x86_64/__longjmp.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001,2004,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 2001,2004,2005,2006,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,6 +23,7 @@
/* Jump to the position specified by ENV, causing the
setjmp call there to return VAL, or 1 if VAL is 0.
void __longjmp (__jmp_buf env, int val). */
+ .text
ENTRY(__longjmp)
/* Restore registers. */
movq (JB_RSP*8)(%rdi),%r8
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
sysdeps/i386/__longjmp.S | 1 +
sysdeps/unix/sysv/linux/ia64/__longjmp.S | 10 +++++++++-
sysdeps/x86_64/__longjmp.S | 3 ++-
4 files changed, 21 insertions(+), 2 deletions(-)
hooks/post-receive
--
glibc git repo