diff options
Diffstat (limited to 'sysdeps/sh/bits')
-rw-r--r-- | sysdeps/sh/bits/link.h | 75 | ||||
-rw-r--r-- | sysdeps/sh/bits/linkmap.h | 5 | ||||
-rw-r--r-- | sysdeps/sh/bits/setjmp.h | 11 |
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 */ |