diff options
Diffstat (limited to 'sysdeps/cris/sysdep.h')
-rw-r--r-- | sysdeps/cris/sysdep.h | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/sysdeps/cris/sysdep.h b/sysdeps/cris/sysdep.h deleted file mode 100644 index 913d5ad9b7..0000000000 --- a/sysdeps/cris/sysdep.h +++ /dev/null @@ -1,114 +0,0 @@ -/* Assembler macros for CRIS. - Copyright (C) 1999, 2000, 2001 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. */ - -#include <sysdeps/generic/sysdep.h> - -#ifndef HAVE_ELF -# error ELF is assumed. Generalize the code and retry. -#endif - -#ifndef NO_UNDERSCORES -# error User-label prefix (underscore) assumed absent. Generalize the code and retry. -#endif - -#ifdef __ASSEMBLER__ - -/* Syntactic details of assembly-code. */ - -/* It is *not* generally true that "ELF uses byte-counts for .align, most - others use log2 of count of bytes", like some neighboring configs say. - See "align" in gas/read.c which is not overridden by - gas/config/obj-elf.c. It takes a log2 argument. *Some* targets - override it to take a byte argument. People should read source instead - of relying on hearsay. */ -# define ALIGNARG(log2) log2 - -# define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg -# define ASM_SIZE_DIRECTIVE(name) .size name,.-name - -/* The non-PIC jump is preferred, since it does not stall, and does not - invoke generation of a PLT. These macros assume that $r0 is set up as - GOT register. */ -# ifdef __PIC__ -# define PLTJUMP(_x) \ - add.d C_SYMBOL_NAME (_x):PLT,$pc - -# define PLTCALL(_x) \ - move.d C_SYMBOL_NAME (_x):PLTG,$r9 @ \ - add.d $r0,$r9 @ \ - jsr $r9 - -# define SETUP_PIC \ - push $r0 @ \ - move.d $pc,$r0 @ \ - sub.d .:GOTOFF,$r0 - -# define TEARDOWN_PIC pop $r0 -# else -# define PLTJUMP(_x) jump C_SYMBOL_NAME (_x) -# define PLTCALL(_x) jsr C_SYMBOL_NAME (_x) -# define SETUP_PIC -# define TEARDOWN_PIC -# endif - -/* Define an entry point visible from C. */ -# define ENTRY(name) \ - .text @ \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name) @ \ - ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), function) @ \ - .align ALIGNARG (2) @ \ - C_LABEL(name) @ \ - CALL_MCOUNT - -# undef END -# define END(name) \ - ASM_SIZE_DIRECTIVE (C_SYMBOL_NAME (name)) - -/* If compiled for profiling, call `mcount' at the start of each function. - FIXME: Note that profiling is not actually implemented. This is just - example code which might not even compile, though it is believed to be - correct. */ -# ifdef PROF -# define CALL_MCOUNT \ - push $srp @ \ - push $r9 @ \ - push $r10 @ \ - push $r11 @ \ - push $r12 @ \ - push $r13 @ \ - SETUP_PIC @ \ - PLTCALL (mcount) @ \ - TEARDOWN_PIC @ \ - pop $r13 @ \ - pop $r12 @ \ - pop $r11 @ \ - pop $r10 @ \ - pop $r9 @ \ - pop $srp -# else -# define CALL_MCOUNT /* Do nothing. */ -# endif - -/* Since C identifiers are not normally prefixed with an underscore - on this system, the asm identifier `syscall_error' intrudes on the - C name space. Make sure we use an innocuous name. */ -# define syscall_error __syscall_error -# define mcount _mcount - -#endif /* __ASSEMBLER__ */ |