glibc git repo branch, master, updated. d2812fc6d26adc7fc74d85079874a8ee944343da

drepper@sourceware.org drepper@sourceware.org
Fri May 22 01:44:00 GMT 2009


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



More information about the Glibc-cvs mailing list