diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-02-05 01:01:39 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-02-05 01:01:39 +0000 |
commit | 0899b8897c1bcec464c0e220dd118f293bab05eb (patch) | |
tree | a3c9ec843b443ac85b2b3bc23913385c498bd59b /sysdeps/sh | |
parent | 22cc3f7580c97122906e147addbc798e43081079 (diff) | |
download | glibc-0899b8897c1bcec464c0e220dd118f293bab05eb.tar.gz |
* sysdeps/sh/sh4/dl-trampoline.S: Only set HAVE_FPU if __SH_FPU_ANY__
is set.
* sysdeps/sh/sh4/setjmp.S: Support SH4-NOFPU.
* sysdeps/sh/sh4/__longjmp.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh4/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh4/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Likewise.
Diffstat (limited to 'sysdeps/sh')
-rw-r--r-- | sysdeps/sh/sh4/__longjmp.S | 7 | ||||
-rw-r--r-- | sysdeps/sh/sh4/dl-trampoline.S | 4 | ||||
-rw-r--r-- | sysdeps/sh/sh4/setjmp.S | 4 |
3 files changed, 12 insertions, 3 deletions
diff --git a/sysdeps/sh/sh4/__longjmp.S b/sysdeps/sh/sh4/__longjmp.S index 320a7d11f7..2fd137bcba 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, 2005, 2006, 2009 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 @@ -52,6 +52,7 @@ ENTRY (__longjmp) mov.l @r4+, r15 lds.l @r4+, pr #endif +#ifdef __SH_FPU_ANY__ ldc.l @r4+, gbr lds.l @r4+, fpscr fmov.s @r4+, fr12 @@ -59,4 +60,8 @@ ENTRY (__longjmp) fmov.s @r4+, fr14 rts fmov.s @r4+, fr15 +#else + rts + ldc.l @r4+, gbr +#endif /* !__SH_FPU_ANY__ */ END (__longjmp) diff --git a/sysdeps/sh/sh4/dl-trampoline.S b/sysdeps/sh/sh4/dl-trampoline.S index f9529851a1..bd9bb7e5bd 100644 --- a/sysdeps/sh/sh4/dl-trampoline.S +++ b/sysdeps/sh/sh4/dl-trampoline.S @@ -1,2 +1,4 @@ -#define HAVE_FPU +#ifdef __SH_FPU_ANY__ +# define HAVE_FPU +#endif #include <sysdeps/sh/dl-trampoline.S> diff --git a/sysdeps/sh/sh4/setjmp.S b/sysdeps/sh/sh4/setjmp.S index f9a4f0a8ce..03f0b08dcd 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, 2005, 2006, 2009 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 @@ -23,11 +23,13 @@ ENTRY (__sigsetjmp) /* Save registers */ add #JB_SIZE, r4 +#ifdef __SH_FPU_ANY__ fmov.s fr15, @-r4 fmov.s fr14, @-r4 fmov.s fr13, @-r4 fmov.s fr12, @-r4 sts.l fpscr, @-r4 +#endif /* __SH_FPU_ANY__ */ stc.l gbr, @-r4 #ifdef PTR_MANGLE sts pr, r2 |