diff options
author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-22 16:47:59 +0000 |
---|---|---|
committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-22 16:47:59 +0000 |
commit | 9888ad6d0aae045a7c142479341642cbe023a568 (patch) | |
tree | a2fe88d03bd68ea8ca2592dc1d58cf9345eeb24f /gcc/config/arm/linux-gas.h | |
parent | 22e2b0d04b4f635c1091942c78f8b6c7079b1db9 (diff) | |
download | gcc-9888ad6d0aae045a7c142479341642cbe023a568.tar.gz |
Apply ARM/Linux patches.
Rework cpu/architecture command line parsing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25380 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/linux-gas.h')
-rw-r--r-- | gcc/config/arm/linux-gas.h | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/gcc/config/arm/linux-gas.h b/gcc/config/arm/linux-gas.h index 72567f39158..f2b5d42e1e2 100644 --- a/gcc/config/arm/linux-gas.h +++ b/gcc/config/arm/linux-gas.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. ARM Linux-based GNU systems version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. Contributed by Russell King <rmk92@ecs.soton.ac.uk>. This file is part of GNU CC. @@ -59,29 +59,25 @@ Boston, MA 02111-1307, USA. */ #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE BITS_PER_WORD -#if 0 /* not yet */ +/* Emit code to set up a trampoline and synchronise the caches. */ +#undef INITIALIZE_TRAMPOLINE +#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ +{ \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant ((TRAMP), 8)), \ + (CXT)); \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant ((TRAMP), 12)), \ + (FNADDR)); \ + emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__clear_cache"), \ + 0, VOIDmode, 2, TRAMP, Pmode, \ + plus_constant (TRAMP, TRAMPOLINE_SIZE), Pmode); \ +} /* Clear the instruction cache from `beg' to `end'. This makes an - inline system call to SYS_cacheflush. The arguments are as - follows: - - cacheflush (start, end, flags) - -*/ - + inline system call to SYS_cacheflush. */ #define CLEAR_INSN_CACHE(BEG, END) \ { \ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \ register unsigned long _end __asm ("a2") = (unsigned long) (END); \ register unsigned long _flg __asm ("a3") = 0; \ - __asm __volatile ("swi 0x9000b8"); \ + __asm __volatile ("swi 0x9f0002"); \ } - -#endif - -/* If cross-compiling, don't require stdio.h etc to build libgcc.a. */ -#ifdef CROSS_COMPILE -#ifndef inhibit_libc -#define inhibit_libc -#endif -#endif |