aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sh/bits
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/bits
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/bits')
-rw-r--r--sysdeps/sh/bits/link.h75
-rw-r--r--sysdeps/sh/bits/linkmap.h5
-rw-r--r--sysdeps/sh/bits/setjmp.h11
3 files changed, 15 insertions, 76 deletions
diff --git a/sysdeps/sh/bits/link.h b/sysdeps/sh/bits/link.h
index 2826677336..bb2fbb5f16 100644
--- a/sysdeps/sh/bits/link.h
+++ b/sysdeps/sh/bits/link.h
@@ -1,70 +1,5 @@
-/* Copyright (C) 2005 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#ifndef _LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-
-/* Registers for entry into PLT on SH. */
-typedef struct La_sh_regs
-{
- uint32_t lr_r2;
- uint32_t lr_r3;
- uint32_t lr_r4;
- uint32_t lr_r5;
- uint32_t lr_r6;
- uint32_t lr_r7;
- uint32_t lr_fpscr;
- float lr_fr4;
- float lr_fr5;
- float lr_fr6;
- float lr_fr7;
- float lr_fr8;
- float lr_fr9;
- float lr_fr10;
- float lr_fr11;
-} La_sh_regs;
-
-/* Return values for calls from PLT on SH. */
-typedef struct La_sh_retval
-{
- uint32_t lrv_r0;
- uint32_t lrv_r1;
- float lrv_fr0;
- float lrv_fr1;
-} La_sh_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf32_Addr la_sh_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- La_sh_regs *__regs,
- unsigned int *__flags,
- const char *__symname,
- long int *__framesizep);
-extern unsigned int la_sh_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- const La_sh_regs *__inregs,
- La_sh_retval *__outregs,
- const char *symname);
-
-__END_DECLS
+struct link_map_machine
+ {
+ Elf32_Addr plt; /* Address of .plt + 36 */
+ Elf32_Addr gotplt; /* Address of .got + 0x0c */
+ };
diff --git a/sysdeps/sh/bits/linkmap.h b/sysdeps/sh/bits/linkmap.h
deleted file mode 100644
index bb2fbb5f16..0000000000
--- a/sysdeps/sh/bits/linkmap.h
+++ /dev/null
@@ -1,5 +0,0 @@
-struct link_map_machine
- {
- Elf32_Addr plt; /* Address of .plt + 36 */
- Elf32_Addr gotplt; /* Address of .got + 0x0c */
- };
diff --git a/sysdeps/sh/bits/setjmp.h b/sysdeps/sh/bits/setjmp.h
index 7e3fbd3394..22497703af 100644
--- a/sysdeps/sh/bits/setjmp.h
+++ b/sysdeps/sh/bits/setjmp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999,2000,2003,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2003 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
@@ -44,4 +44,13 @@ typedef struct
} __jmp_buf[1];
#endif
+#if defined __USE_MISC || defined _ASM
+# define JB_SIZE (4 * 15)
+#endif
+
+/* Test if longjmp to JMPBUF would unwind the frame
+ containing a local variable at ADDRESS. */
+#define _JMPBUF_UNWINDS(jmpbuf, address) \
+ ((void *) (address) < &(jmpbuf)[0].__regs[7])
+
#endif /* bits/setjmp.h */