diff options
Diffstat (limited to 'sysdeps/sparc/sparc32')
-rw-r--r-- | sysdeps/sparc/sparc32/fpu/s_fdim.S | 3 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/soft-fp/q_neg.c | 7 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/stackguard-macros.h | 3 |
3 files changed, 7 insertions, 6 deletions
diff --git a/sysdeps/sparc/sparc32/fpu/s_fdim.S b/sysdeps/sparc/sparc32/fpu/s_fdim.S index 2f0c5ce583..22f69ce519 100644 --- a/sysdeps/sparc/sparc32/fpu/s_fdim.S +++ b/sysdeps/sparc/sparc32/fpu/s_fdim.S @@ -30,7 +30,8 @@ ENTRY(__fdim) fbug 1f st %g0, [%sp + 76] ldd [%sp + 72], %f0 - fnegd %f0, %f2 + fnegs %f0, %f2 + fmovs %f1, %f3 1: retl fsubd %f0, %f2, %f0 END(__fdim) diff --git a/sysdeps/sparc/sparc32/soft-fp/q_neg.c b/sysdeps/sparc/sparc32/soft-fp/q_neg.c index 551c40887b..5e2449c916 100644 --- a/sysdeps/sparc/sparc32/soft-fp/q_neg.c +++ b/sysdeps/sparc/sparc32/soft-fp/q_neg.c @@ -24,7 +24,6 @@ long double _Q_neg(const long double a) { - FP_DECL_EX; long double c = a; #if (__BYTE_ORDER == __BIG_ENDIAN) @@ -36,11 +35,9 @@ long double _Q_neg(const long double a) #else FP_DECL_Q(A); FP_DECL_Q(C); - FP_UNPACK_Q(A, a); + FP_UNPACK_RAW_Q(A, a); FP_NEG_Q(C, A); - FP_PACK_Q(c, C); + FP_PACK_RAW_Q(c, C); #endif - FP_CLEAR_EXCEPTIONS; - FP_HANDLE_EXCEPTIONS; return c; } diff --git a/sysdeps/sparc/sparc32/stackguard-macros.h b/sysdeps/sparc/sparc32/stackguard-macros.h index c0b02b0bbd..1eef0f19f0 100644 --- a/sysdeps/sparc/sparc32/stackguard-macros.h +++ b/sysdeps/sparc/sparc32/stackguard-macros.h @@ -2,3 +2,6 @@ #define STACK_CHK_GUARD \ ({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; }) + +#define POINTER_CHK_GUARD \ + ({ uintptr_t x; asm ("ld [%%g7+0x18], %0" : "=r" (x)); x; }) |