diff options
author | peter <peter@FreeBSD.org> | 2000-05-12 21:48:54 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2000-05-12 21:48:54 +0000 |
commit | 0f1968a738502e388bd99a8120cd30a7c4bef4b7 (patch) | |
tree | e062126969b89e9400639caa139b03608f0b0dca | |
parent | fda97442c1d31b908b3ed05db5ef94d6da71991e (diff) | |
download | FreeBSD-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)
-rw-r--r-- | lib/libstand/alpha/_setjmp.S | 4 |
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 |