rpms/glibc/devel glibc-setjmp-mangling.patch,1.5,1.6
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Mon Dec 19 15:53:33 UTC 2005
Author: jakub
Update of /cvs/dist/rpms/glibc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv21919
Modified Files:
glibc-setjmp-mangling.patch
Log Message:
2.3.90-19
glibc-setjmp-mangling.patch:
nptl/sysdeps/ia64/tls.h | 22 ++++++++++----
nptl/sysdeps/powerpc/tcb-offsets.sym | 1
nptl/sysdeps/powerpc/tls.h | 15 ++++++++-
nptl/sysdeps/s390/tcb-offsets.sym | 1
nptl/sysdeps/s390/tls.h | 7 ++++
sysdeps/powerpc/powerpc32/__longjmp-common.S | 6 +++
sysdeps/powerpc/powerpc32/setjmp-common.S | 3 +
sysdeps/powerpc/powerpc64/__longjmp-common.S | 5 ++-
sysdeps/powerpc/powerpc64/setjmp-common.S | 3 +
sysdeps/s390/s390-32/__longjmp.c | 28 ++++++++++++-----
sysdeps/s390/s390-32/elf/setjmp.S | 16 ++++++++--
sysdeps/s390/s390-32/setjmp.S | 16 ++++++++--
sysdeps/s390/s390-64/__longjmp.c | 33 +++++++++++++--------
sysdeps/s390/s390-64/elf/setjmp.S | 16 ++++++++--
sysdeps/s390/s390-64/setjmp.S | 18 ++++++++---
sysdeps/unix/sysv/linux/ia64/__longjmp.S | 5 ++-
sysdeps/unix/sysv/linux/ia64/setjmp.S | 10 +++++-
sysdeps/unix/sysv/linux/ia64/sysdep.h | 23 ++++++++++++++
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h | 18 +++++++++++
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 19 ++++++++++++
sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h | 28 +++++++++++++++--
sysdeps/unix/sysv/linux/s390/s390-64/socket.S | 1
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h | 24 ++++++++++++++-
23 files changed, 271 insertions(+), 47 deletions(-)
Index: glibc-setjmp-mangling.patch
===================================================================
RCS file: /cvs/dist/rpms/glibc/devel/glibc-setjmp-mangling.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- glibc-setjmp-mangling.patch 19 Dec 2005 15:25:44 -0000 1.5
+++ glibc-setjmp-mangling.patch 19 Dec 2005 15:53:30 -0000 1.6
@@ -243,7 +243,7 @@
mov.m ar.unat=loc2 // restore caller's unat
mov rp=loc0
--- libc/sysdeps/s390/s390-32/setjmp.S.jj 2001-07-06 06:56:03.000000000 +0200
-+++ libc/sysdeps/s390/s390-32/setjmp.S 2005-12-19 13:16:32.000000000 +0100
++++ libc/sysdeps/s390/s390-32/setjmp.S 2005-12-19 16:39:36.000000000 +0100
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2000, 2001 Free Software Foundation, Inc.
@@ -251,18 +251,52 @@
Contributed by Martin Schwidefsky (schwidefsky at de.ibm.com).
This file is part of the GNU C Library.
-@@ -29,10 +29,20 @@
+@@ -29,10 +29,22 @@
/* R2 = pointer to jmp_buf, R3 = savemask */
ENTRY(__sigsetjmp)
-- stm %r6,%r15,0(%r2) /* store registers in jmp_buf */
++#ifdef PTR_MANGLE
+ stm %r6,%r13,0(%r2) /* store registers in jmp_buf */
+ lr %r4,%r14
-+#ifdef PTR_MANGLE
+ PTR_MANGLE (%r4, %r5)
++ st %r4,32(%r2)
++ st %r15,36(%r2)
++#else
+ stm %r6,%r15,0(%r2) /* store registers in jmp_buf */
+#endif
+ std %f4,40(%r2)
+ std %f6,48(%r2)
+-#ifdef PIC
++#if defined NOT_IN_libc && defined IS_IN_rtld
++ /* In ld.so we never save the signal mask. */
++ lhi %r2,0
++ br %r14
++#elif defined PIC
+ /* We cannot use the PLT, because it requires that %r12 be set, but
+ we can't save and restore our caller's value. Instead, we do an
+ indirect jump through the GOT. */
+--- libc/sysdeps/s390/s390-32/elf/setjmp.S.jj 2005-09-12 09:29:34.000000000 +0200
++++ libc/sysdeps/s390/s390-32/elf/setjmp.S 2005-12-19 16:43:16.000000000 +0100
+@@ -1,5 +1,5 @@
+ /* setjmp for s390, ELF version.
+- Copyright (C) 2000, 2002 Free Software Foundation, Inc.
++ Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
+ Contributed by Martin Schwidefsky (schwidefsky at de.ibm.com).
+ This file is part of the GNU C Library.
+
+@@ -46,10 +46,22 @@ END (__setjmp)
+
+ ENTRY(__sigsetjmp)
+ .Linternal_sigsetjmp:
++#ifdef PTR_MANGLE
++ stm %r6,%r13,0(%r2) /* store registers in jmp_buf */
++ lr %r4,%r14
++ PTR_MANGLE (%r4, %r5)
+ st %r4,32(%r2)
+ st %r15,36(%r2)
++#else
+ stm %r6,%r15,0(%r2) /* store registers in jmp_buf */
++#endif
std %f4,40(%r2)
std %f6,48(%r2)
-#ifdef PIC
@@ -316,25 +350,26 @@
/* Avoid `volatile function does return' warnings. */
for (;;);
--- libc/sysdeps/s390/s390-64/setjmp.S.jj 2001-07-06 06:56:03.000000000 +0200
-+++ libc/sysdeps/s390/s390-64/setjmp.S 2005-12-19 13:18:13.000000000 +0100
++++ libc/sysdeps/s390/s390-64/setjmp.S 2005-12-19 16:41:22.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2005 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky at de.ibm.com).
This file is part of the GNU C Library.
-@@ -28,16 +28,24 @@
+@@ -28,16 +28,26 @@
/* R2 = pointer to jmp_buf, R3 = savemask. */
ENTRY(__sigsetjmp)
-- stmg %r6,%r15,0(%r2) /* Store registers in jmp_buf. */
-+ stmg %r6,%r13,0(%r2) /* Store registers in jmp_buf. */
-+ lgr %r4,%r14
+#ifdef PTR_MANGLE
++ stmg %r6,%r13,0(%r2) /* Store registers in jmp_buf. */
++ lgr %r4,%r14
+ PTR_MANGLE (%r4, %r5)
-+#endif
+ stg %r4,64(%r2)
+ stg %r15,72(%r2)
++#else
+ stmg %r6,%r15,0(%r2) /* Store registers in jmp_buf. */
++#endif
std %f1,80(%r2)
std %f3,88(%r2)
std %f5,96(%r2)
@@ -352,6 +387,41 @@
END (__sigsetjmp)
-
-
+--- libc/sysdeps/s390/s390-64/elf/setjmp.S.jj 2005-09-12 09:29:34.000000000 +0200
++++ libc/sysdeps/s390/s390-64/elf/setjmp.S 2005-12-19 16:43:25.000000000 +0100
+@@ -1,5 +1,5 @@
+ /* setjmp for 64 bit S/390, ELF version.
+- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++ Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
+ Contributed by Martin Schwidefsky (schwidefsky at de.ibm.com).
+ This file is part of the GNU C Library.
+
+@@ -46,12 +46,24 @@ END (setjmp)
+
+ ENTRY(__sigsetjmp)
+ .Linternal_sigsetjmp:
++#ifdef PTR_MANGLE
++ stmg %r6,%r13,0(%r2) /* Store registers in jmp_buf. */
++ lgr %r4,%r14
++ PTR_MANGLE (%r4, %r5)
++ stg %r4,64(%r2)
++ stg %r15,72(%r2)
++#else
+ stmg %r6,%r15,0(%r2) /* Store registers in jmp_buf. */
++#endif
+ std %f1,80(%r2)
+ std %f3,88(%r2)
+ std %f5,96(%r2)
+ std %f7,104(%r2)
+-#ifdef PIC
++#if defined NOT_IN_libc && defined IS_IN_rtld
++ /* In ld.so we never save the signal mask. */
++ lghi %r2,0
++ br %r14
++#elif defined PIC
+ jg __sigjmp_save at PLT /* Branch to PLT of __sigsetjmp. */
+ #else
+ jg __sigjmp_save
--- libc/sysdeps/s390/s390-64/__longjmp.c.jj 2001-07-06 06:56:03.000000000 +0200
+++ libc/sysdeps/s390/s390-64/__longjmp.c 2005-12-19 13:46:12.000000000 +0100
@@ -1,4 +1,4 @@
More information about the fedora-cvs-commits
mailing list