From f12d26af47d21dff9112b8c241080b6331534c80 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 16 Apr 1996 16:59:21 -0400 Subject: [PATCH] Override trampoline macros. From-SVN: r11827 --- gcc/config/m68k/linux.h | 15 +++++++++++++++ gcc/config/m68k/m68kv4.h | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 80194114ba6..ce872d933a6 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -319,3 +319,18 @@ do { \ ASM_OUTPUT_INT (FILE, const0_rtx); \ ASM_OUTPUT_INT (FILE, const0_rtx); \ } + +/* Redefine since we are using a different trampoline */ +#undef TRAMPOLINE_SIZE +#define TRAMPOLINE_SIZE 18 + +/* 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. */ + +#undef INITIALIZE_TRAMPOLINE +#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ +{ \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 10)), CXT); \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 14)), FNADDR); \ +} diff --git a/gcc/config/m68k/m68kv4.h b/gcc/config/m68k/m68kv4.h index 8273c70bf9a..88bad79316a 100644 --- a/gcc/config/m68k/m68kv4.h +++ b/gcc/config/m68k/m68kv4.h @@ -329,3 +329,18 @@ int switch_table_difference_label_flag; ASM_OUTPUT_INT (FILE, const0_rtx); \ ASM_OUTPUT_INT (FILE, const0_rtx); \ } + +/* Redefine since we are using a different trampoline */ +#undef TRAMPOLINE_SIZE +#define TRAMPOLINE_SIZE 18 + +/* 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. */ + +#undef INITIALIZE_TRAMPOLINE +#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ +{ \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 10)), CXT); \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 14)), FNADDR); \ +} -- 2.30.2