From 53c87bfd9cb9ee6dd7c44daaabdea298913f033f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sun, 13 Apr 1997 15:34:53 -0400 Subject: [PATCH] (ASM_SPEC): Define. (STRUCT_VALUE_REGNUM, STATIC_CHAIN_REGNUM, INITIALIZE_TRAMPOLINE): Remove definitions, undoing the change of Mar 20 1996. From-SVN: r13894 --- gcc/config/m68k/linux.h | 38 +++++++------------------------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 10ef0e8be06..7e9641cb844 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -112,6 +112,13 @@ Boston, MA 02111-1307, USA. */ "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE}" #endif +/* We override the ASM_SPEC from svr4.h because we must pass -m68040 down + to the assembler. */ +#undef ASM_SPEC +#define ASM_SPEC \ + "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \ +%{m68040} %{m68060:-m68040}" + /* Provide a LINK_SPEC appropriate for Linux. Here we provide support for the special GCC options -static and -shared, which allow us to link things in one of these three modes by applying the appropriate @@ -199,19 +206,6 @@ Boston, MA 02111-1307, USA. */ fprintf (FILE, "\tjbsr _mcount\n"); \ } -/* Register in which address to store a structure value is passed to a - function. The default in m68k.h is a1. For m68k/SVR4 it is a0. */ - -#undef STRUCT_VALUE_REGNUM -#define STRUCT_VALUE_REGNUM 8 - -/* Register in which static-chain is passed to a function. The - default in m68k.h is a0, but that is already the struct value - regnum. Make it a1 instead. */ - -#undef STATIC_CHAIN_REGNUM -#define STATIC_CHAIN_REGNUM 9 - /* How to renumber registers for dbx and gdb. On the Sun-3, the floating point registers have numbers 18 to 25, not 16 to 23 as they do in the compiler. */ @@ -306,24 +300,6 @@ do { \ #undef PCC_STATIC_STRUCT_RETURN #define DEFAULT_PCC_STRUCT_RETURN 0 -/* 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 is different from the generic version in that we use a1 as the - static call chain. */ - -#undef INITIALIZE_TRAMPOLINE -#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ -{ \ - emit_move_insn (gen_rtx (MEM, HImode, TRAMP), GEN_INT (0x227C)); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 2)), CXT); \ - emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 6)), \ - GEN_INT (0x4EF9)); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 8)), FNADDR); \ - FINALIZE_TRAMPOLINE (TRAMP); \ -} - /* Finalize the trampoline by flushing the insn cache. */ #undef FINALIZE_TRAMPOLINE