aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sh/sh4
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /sysdeps/sh/sh4
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.bz2
glibc-a334319f6530564d22e775935d9c91663623a1b4.zip
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'sysdeps/sh/sh4')
-rw-r--r--sysdeps/sh/sh4/Versions5
-rw-r--r--sysdeps/sh/sh4/__longjmp.S23
-rw-r--r--sysdeps/sh/sh4/dl-machine.h2
-rw-r--r--sysdeps/sh/sh4/dl-trampoline.S2
-rw-r--r--sysdeps/sh/sh4/fpu/bits/mathdef.h (renamed from sysdeps/sh/sh4/bits/mathdef.h)0
-rw-r--r--sysdeps/sh/sh4/fpu/feholdexcpt.c3
-rw-r--r--sysdeps/sh/sh4/fpu/fesetround.c3
-rw-r--r--sysdeps/sh/sh4/fpu/libm-test-ulps4
-rw-r--r--sysdeps/sh/sh4/setjmp.S29
9 files changed, 17 insertions, 54 deletions
diff --git a/sysdeps/sh/sh4/Versions b/sysdeps/sh/sh4/Versions
deleted file mode 100644
index 8cc1c7b7d4..0000000000
--- a/sysdeps/sh/sh4/Versions
+++ /dev/null
@@ -1,5 +0,0 @@
-ld {
- GLIBC_PRIVATE {
- __fpscr_values;
- }
-}
diff --git a/sysdeps/sh/sh4/__longjmp.S b/sysdeps/sh/sh4/__longjmp.S
index 320a7d11f7..7cd83bfcc4 100644
--- a/sysdeps/sh/sh4/__longjmp.S
+++ b/sysdeps/sh/sh4/__longjmp.S
@@ -1,5 +1,5 @@
/* longjmp for SH.
- Copyright (C) 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -30,28 +30,15 @@ ENTRY (__longjmp)
mov.l @r4+, r10
mov.l @r4+, r11
mov.l @r4+, r12
+ mov.l @r4+, r13
+ mov.l @r4+, r14
+ mov.l @r4+, r15
mov r5, r0 /* get the return value in place */
tst r0, r0
bf.s 1f
- mov.l @r4+, r13
+ lds.l @r4+, pr
mov #1,r0 /* can't let setjmp() return zero! */
1:
-#ifdef PTR_DEMANGLE
- mov.l @r4+, r2
- PTR_DEMANGLE (r2, r1)
- mov r2, r14
- mov.l @r4+, r2
- PTR_DEMANGLE2 (r2, r1)
- mov r2, r15
- mov.l @r4+, r2
- PTR_DEMANGLE2 (r2, r1)
- lds r2, pr
- mov #0, r1
-#else
- mov.l @r4+, r14
- mov.l @r4+, r15
- lds.l @r4+, pr
-#endif
ldc.l @r4+, gbr
lds.l @r4+, fpscr
fmov.s @r4+, fr12
diff --git a/sysdeps/sh/sh4/dl-machine.h b/sysdeps/sh/sh4/dl-machine.h
new file mode 100644
index 0000000000..ec9f6f7b45
--- /dev/null
+++ b/sysdeps/sh/sh4/dl-machine.h
@@ -0,0 +1,2 @@
+#define HAVE_FPU
+#include <sysdeps/sh/dl-machine.h>
diff --git a/sysdeps/sh/sh4/dl-trampoline.S b/sysdeps/sh/sh4/dl-trampoline.S
deleted file mode 100644
index f9529851a1..0000000000
--- a/sysdeps/sh/sh4/dl-trampoline.S
+++ /dev/null
@@ -1,2 +0,0 @@
-#define HAVE_FPU
-#include <sysdeps/sh/dl-trampoline.S>
diff --git a/sysdeps/sh/sh4/bits/mathdef.h b/sysdeps/sh/sh4/fpu/bits/mathdef.h
index 2b8caf1943..2b8caf1943 100644
--- a/sysdeps/sh/sh4/bits/mathdef.h
+++ b/sysdeps/sh/sh4/fpu/bits/mathdef.h
diff --git a/sysdeps/sh/sh4/fpu/feholdexcpt.c b/sysdeps/sh/sh4/fpu/feholdexcpt.c
index 7aac5a0d39..dafb4f7daa 100644
--- a/sysdeps/sh/sh4/fpu/feholdexcpt.c
+++ b/sysdeps/sh/sh4/fpu/feholdexcpt.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions.
- Copyright (C) 1997, 1998, 1999, 2000, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -35,4 +35,3 @@ feholdexcept (fenv_t *envp)
return 1;
}
-libm_hidden_def (feholdexcept)
diff --git a/sysdeps/sh/sh4/fpu/fesetround.c b/sysdeps/sh/sh4/fpu/fesetround.c
index cf4349004e..9966838387 100644
--- a/sysdeps/sh/sh4/fpu/fesetround.c
+++ b/sysdeps/sh/sh4/fpu/fesetround.c
@@ -1,5 +1,5 @@
/* Set current rounding direction.
- Copyright (C) 1998, 2000, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
@@ -41,4 +41,3 @@ fesetround (int round)
return 1;
}
-libm_hidden_def (fesetround)
diff --git a/sysdeps/sh/sh4/fpu/libm-test-ulps b/sysdeps/sh/sh4/fpu/libm-test-ulps
index 4831f4849b..3dd37f1309 100644
--- a/sysdeps/sh/sh4/fpu/libm-test-ulps
+++ b/sysdeps/sh/sh4/fpu/libm-test-ulps
@@ -60,12 +60,12 @@ float: 1
ifloat: 1
# cacosh
-Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
+Test "Real part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
double: 1
float: 7
idouble: 1
ifloat: 7
-Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
+Test "Imaginary part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
double: 1
float: 3
idouble: 1
diff --git a/sysdeps/sh/sh4/setjmp.S b/sysdeps/sh/sh4/setjmp.S
index f9a4f0a8ce..c7b0aed0e7 100644
--- a/sysdeps/sh/sh4/setjmp.S
+++ b/sysdeps/sh/sh4/setjmp.S
@@ -1,5 +1,5 @@
/* setjmp for SH4.
- Copyright (C) 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -18,7 +18,9 @@
02111-1307 USA. */
#include <sysdep.h>
-#include <jmpbuf-offsets.h>
+#define _SETJMP_H
+#define _ASM
+#include <bits/setjmp.h>
ENTRY (__sigsetjmp)
/* Save registers */
@@ -29,22 +31,9 @@ ENTRY (__sigsetjmp)
fmov.s fr12, @-r4
sts.l fpscr, @-r4
stc.l gbr, @-r4
-#ifdef PTR_MANGLE
- sts pr, r2
- PTR_MANGLE (r2, r1)
- mov.l r2, @-r4
- mov r15, r2
- PTR_MANGLE2 (r2, r1)
- mov.l r2, @-r4
- mov r14, r2
- PTR_MANGLE2 (r2, r1)
- mov.l r2, @-r4
- mov #0, r1
-#else
sts.l pr, @-r4
mov.l r15, @-r4
mov.l r14, @-r4
-#endif
mov.l r13, @-r4
mov.l r12, @-r4
mov.l r11, @-r4
@@ -52,13 +41,8 @@ ENTRY (__sigsetjmp)
mov.l r9, @-r4
mov.l r8, @-r4
-#if defined NOT_IN_libc && defined IS_IN_rtld
- /* In ld.so we never save the signal mask. */
- rts
- mov #0, r0
-#else
/* Make a tail call to __sigjmp_save; it takes the same args. */
-# ifdef SHARED
+#ifdef SHARED
mov.l 1f, r1
mova 1f, r0
bra 2f
@@ -74,13 +58,12 @@ ENTRY (__sigsetjmp)
.align 2
.L1:
.long C_SYMBOL_NAME(__sigjmp_save@GOT)
-# else
+#else
mov.l .L1, r1
jmp @r1
nop
.align 2
.L1:
.long C_SYMBOL_NAME(__sigjmp_save)
-# endif
#endif
END (__sigsetjmp)