Commit 192c8d78 by Richard Earnshaw Committed by Richard Earnshaw

re PR bootstrap/12527 ([arm] bootstrap error on arm-linux, miscompiling genconstants)

PR bootstrap/12527
* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
Move linux-gas.h and linux-elf.h before aout.h.
* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.

From-SVN: r75870
parent e512ab39
2004-01-14 Richard Earnshaw <rearnsha@arm.com>
PR bootstrap/12527
* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
Move linux-gas.h and linux-elf.h before aout.h.
* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
2004-01-14 Kazu Hirata <kazu@cs.umass.edu> 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.md: Use GEN_INT instead of gen_rtx * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
......
...@@ -662,7 +662,7 @@ arm*-*-netbsd*) ...@@ -662,7 +662,7 @@ arm*-*-netbsd*)
use_collect2=yes use_collect2=yes
;; ;;
arm*-*-linux*) # ARM GNU/Linux with ELF arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h linux.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h" tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux" tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes gnu_ld=yes
......
...@@ -2030,13 +2030,19 @@ typedef struct ...@@ -2030,13 +2030,19 @@ typedef struct
/* Emit RTL insns to initialize the variable parts of a trampoline. /* Emit RTL insns to initialize the variable parts of a trampoline.
FNADDR is an RTX for the address of the function's pure code. 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. */ CXT is an RTX for the static chain value for the function. */
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ #ifndef INITIALIZE_TRAMPOLINE
{ \ #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
emit_move_insn \ { \
(gen_rtx_MEM (SImode, plus_constant (TRAMP, TARGET_ARM ? 8 : 16)), CXT); \ emit_move_insn (gen_rtx_MEM (SImode, \
emit_move_insn \ plus_constant (TRAMP, \
(gen_rtx_MEM (SImode, plus_constant (TRAMP, TARGET_ARM ? 12 : 20)), FNADDR); \ TARGET_ARM ? 8 : 16)), \
CXT); \
emit_move_insn (gen_rtx_MEM (SImode, \
plus_constant (TRAMP, \
TARGET_ARM ? 12 : 20)), \
FNADDR); \
} }
#endif
/* Addressing modes, and classification of registers for them. */ /* Addressing modes, and classification of registers for them. */
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS) #define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p" #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
#undef MULTILIB_DEFAULTS #undef MULTILIB_DEFAULTS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment