summaryrefslogtreecommitdiffstats
path: root/lib/libstand
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2000-05-12 21:48:54 +0000
committerpeter <peter@FreeBSD.org>2000-05-12 21:48:54 +0000
commit0f1968a738502e388bd99a8120cd30a7c4bef4b7 (patch)
treee062126969b89e9400639caa139b03608f0b0dca /lib/libstand
parentfda97442c1d31b908b3ed05db5ef94d6da71991e (diff)
downloadFreeBSD-src-0f1968a738502e388bd99a8120cd30a7c4bef4b7.zip
FreeBSD-src-0f1968a738502e388bd99a8120cd30a7c4bef4b7.tar.gz
We compile expressly on the alpha with -mno-fp-regs - so do not use them
explicitly here. This was the original cause of instruction faults on the Alpha in loader. (not this code, but the same problem in libficl.a)
Diffstat (limited to 'lib/libstand')
-rw-r--r--lib/libstand/alpha/_setjmp.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libstand/alpha/_setjmp.S b/lib/libstand/alpha/_setjmp.S
index 96be5ec..1587978 100644
--- a/lib/libstand/alpha/_setjmp.S
+++ b/lib/libstand/alpha/_setjmp.S
@@ -60,6 +60,7 @@ LEAF(_setjmp, 1)
/* Too bad we can't check if we actually used FP */
ldiq t0, 1
stq t0, (36 * 8)(a0) /* say we've used FP. */
+#if 0
stt fs0, ((2 + 37) * 8)(a0) /* saved bits of sc_fpregs */
stt fs1, ((3 + 37) * 8)(a0)
stt fs2, ((4 + 37) * 8)(a0)
@@ -71,6 +72,7 @@ LEAF(_setjmp, 1)
mf_fpcr ft0 /* get FP control reg */
stt ft0, (69 * 8)(a0) /* and store it in sc_fpcr */
stq zero, (70 * 8)(a0) /* FP software control XXX */
+#endif
stq zero, (71 * 8)(a0) /* sc_reserved[0] */
stq zero, (72 * 8)(a0) /* sc_reserved[1] */
stq zero, (73 * 8)(a0) /* sc_xxx[0] */
@@ -99,6 +101,7 @@ LEAF(_longjmp, 2)
ldq s6, ((15 + 4) * 8)(a0)
/* ldq ra, ((26 + 4) * 8)(a0) set above */
ldq sp, ((30 + 4) * 8)(a0)
+#if 0
ldt fs0, ((2 + 37) * 8)(a0) /* saved bits of sc_fpregs */
ldt fs1, ((3 + 37) * 8)(a0)
ldt fs2, ((4 + 37) * 8)(a0)
@@ -109,6 +112,7 @@ LEAF(_longjmp, 2)
ldt fs7, ((9 + 37) * 8)(a0)
ldt ft0, (69 * 8)(a0) /* get sc_fpcr */
mt_fpcr ft0 /* and restore it. */
+#endif
mov a1, v0 /* return second arg */
RET
OpenPOWER on IntegriCloud