summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1994-12-14 01:14:28 +0000
committerRoland McGrath <roland@gnu.org>1994-12-14 01:14:28 +0000
commit92fa42d19a726d9810db3853cbbf3d7356843217 (patch)
tree06087c8e61267623ec34e8c28127b24f932bc048
parentf9a06ffb8c931e687dce884e20a142ab0f599a53 (diff)
Use sethi and or to put address of __sigsetjmp in %g1 and jmp there.
jmp cannot contain a complete absolute pointer.
-rw-r--r--sysdeps/sparc/bsd-_setjmp.S4
-rw-r--r--sysdeps/sparc/bsd-setjmp.S4
2 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/sparc/bsd-_setjmp.S b/sysdeps/sparc/bsd-_setjmp.S
index 9fb05ee4e2..5b685d5496 100644
--- a/sysdeps/sparc/bsd-_setjmp.S
+++ b/sysdeps/sparc/bsd-_setjmp.S
@@ -20,5 +20,7 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h>
ENTRY (setjmp)
- jmp C_SYMBOL_NAME (__sigsetjmp)
+ sethi %hi(C_SYMBOL_NAME (__sigsetjmp)), %g1
+ or %lo(C_SYMBOL_NAME (__sigsetjmp)), %g1, %g1
+ jmp %g1
mov %g0, %o1 /* Pass second argument of zero. */
diff --git a/sysdeps/sparc/bsd-setjmp.S b/sysdeps/sparc/bsd-setjmp.S
index bf2918e2ef..b0a6326a2c 100644
--- a/sysdeps/sparc/bsd-setjmp.S
+++ b/sysdeps/sparc/bsd-setjmp.S
@@ -20,5 +20,7 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h>
ENTRY (setjmp)
- jmp C_SYMBOL_NAME (__sigsetjmp)
+ sethi %hi(C_SYMBOL_NAME (__sigsetjmp)), %g1
+ or %lo(C_SYMBOL_NAME (__sigsetjmp)), %g1, %g1
+ jmp %g1
mov 1, %o1 /* Pass second argument of one. */