diff options
author | marcel <marcel@FreeBSD.org> | 2003-07-25 22:36:48 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-07-25 22:36:48 +0000 |
commit | 3c92e21eeb938c38b87965deb5e22241b9b268de (patch) | |
tree | 7b862067691b321a3e716c4e6b4190d6548896de | |
parent | 90dbdc0a7e3841c1ba9d25c597611f08c6384c20 (diff) | |
download | FreeBSD-src-3c92e21eeb938c38b87965deb5e22241b9b268de.zip FreeBSD-src-3c92e21eeb938c38b87965deb5e22241b9b268de.tar.gz |
Revert previous commit. We don't use setjmp()/longjmp() for context
switching anymore, so there's no need to save and restore GP. This
change breaks threaded applications linked against libc_r. Pull the
tier 2 card again: relink. This will link against libthr instead.
-rw-r--r-- | lib/libc/ia64/gen/_setjmp.S | 6 | ||||
-rw-r--r-- | sys/ia64/include/setjmp.h | 3 |
2 files changed, 3 insertions, 6 deletions
diff --git a/lib/libc/ia64/gen/_setjmp.S b/lib/libc/ia64/gen/_setjmp.S index 8e3ba12..3966e83 100644 --- a/lib/libc/ia64/gen/_setjmp.S +++ b/lib/libc/ia64/gen/_setjmp.S @@ -171,11 +171,10 @@ ENTRY(_setjmp, 1) mov r3 = b4 ;; st8 [r11] = r2, J_B5-J_B3 - st8 [r10] = r3, J_GP-J_B4 + st8 [r10] = r3 mov r2 = b5 ;; st8 [r11] = r2 - st8 [r10] = r1 ;; // // return @@ -291,12 +290,11 @@ ENTRY(___longjmp, 2) mov b1 = r2 mov b2 = r3 ld8 r2 = [r10], J_B5-J_B3 - ld8 r3 = [r11], J_GP-J_B4 + ld8 r3 = [r11] ;; mov b3 = r2 mov b4 = r3 ld8 r2 = [r10] - ld8 r1 = [r11] ld8 r21 = [r31] // get user unat ;; mov b5 = r2 diff --git a/sys/ia64/include/setjmp.h b/sys/ia64/include/setjmp.h index 6f4fab9..d7ca9f6 100644 --- a/sys/ia64/include/setjmp.h +++ b/sys/ia64/include/setjmp.h @@ -88,11 +88,10 @@ #define J_B5 0x1d0 #define J_SIGMASK 0x1d8 #define J_SIGSET 0x1e0 -#define J_GP 0x1f0 #endif /* __BSD_VISIBLE */ /* - * We have 8 bytes left for future use, but it's a nice round, + * We only have 16 bytes left for future use, but it's a nice round, * but above all large number. Size is in bytes. */ #define _JMPBUFSZ 0x200 |