diff options
Diffstat (limited to 'gcc/config/alpha/linux.h')
-rw-r--r-- | gcc/config/alpha/linux.h | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h index 47e06c6..aa43450 100644 --- a/gcc/config/alpha/linux.h +++ b/gcc/config/alpha/linux.h @@ -1,7 +1,7 @@ -/* Definitions of target machine for GNU compiler, - for Alpha Linux-based GNU systems. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. - Contributed by Richard Henderson. +/* Definitions of target machine for GNU compiler, for Alpha Linux-based GNU + systems using ECOFF. + Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Contributed by Bob Manson. This file is part of GNU CC. @@ -44,28 +44,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef TARGET_CAN_FAULT_IN_PROLOGUE #define TARGET_CAN_FAULT_IN_PROLOGUE 1 -/* Emit RTL insns to initialize the variable parts of a trampoline. - FNADDR is an RTX for the address of the function's pure code. - CXT is an RTX for the static chain value for the function. - - This differs from the standard version in that: - - We do not initialize the "hint" field because it only has an 8k - range and so the target is in range of something on the stack. - Omitting the hint saves a bogus branch-prediction cache line load. - - GNU/Linux always has an executable stack -- no need for a system call. */ - -#undef INITIALIZE_TRAMPOLINE -#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ -{ \ - rtx _addr; \ - \ - _addr = memory_address (Pmode, plus_constant ((TRAMP), 16)); \ - emit_move_insn (gen_rtx (MEM, Pmode, _addr), (FNADDR)); \ - _addr = memory_address (Pmode, plus_constant ((TRAMP), 24)); \ - emit_move_insn (gen_rtx (MEM, Pmode, _addr), (CXT)); \ - \ - emit_insn (gen_rtx (UNSPEC_VOLATILE, VOIDmode, \ - gen_rtvec (1, const0_rtx), 0)); \ -} +#undef ASM_FINAL_SPEC |