diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2004-01-14 17:51:31 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2004-01-14 17:51:31 +0000 |
commit | 192c8d78feb564118b934cb8fe9a7edda6144c33 (patch) | |
tree | e04bb21af748b57fb39bbe926a57a28efdae075c | |
parent | e512ab39b71dc2fbbb0c22d82c686e8c0b0b6612 (diff) | |
download | gcc-192c8d78feb564118b934cb8fe9a7edda6144c33.zip gcc-192c8d78feb564118b934cb8fe9a7edda6144c33.tar.gz gcc-192c8d78feb564118b934cb8fe9a7edda6144c33.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config.gcc | 2 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 18 | ||||
-rw-r--r-- | gcc/config/arm/linux-elf.h | 2 |
4 files changed, 23 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d2c852..ba94c155 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +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> * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx diff --git a/gcc/config.gcc b/gcc/config.gcc index fb4ecd4..fd75363 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -662,7 +662,7 @@ arm*-*-netbsd*) use_collect2=yes ;; 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" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" gnu_ld=yes diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 9cc35f4..40c26c9 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -2030,13 +2030,19 @@ typedef struct /* 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. */ -#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, plus_constant (TRAMP, TARGET_ARM ? 12 : 20)), FNADDR); \ +#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, \ + plus_constant (TRAMP, \ + TARGET_ARM ? 12 : 20)), \ + FNADDR); \ } +#endif /* Addressing modes, and classification of registers for them. */ diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h index c9ac16b..8b94c9d 100644 --- a/gcc/config/arm/linux-elf.h +++ b/gcc/config/arm/linux-elf.h @@ -34,6 +34,8 @@ #undef TARGET_DEFAULT #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" #undef MULTILIB_DEFAULTS |