]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR bootstrap/12527 ([arm] bootstrap error on arm-linux, miscompiling genconstants)
authorRichard Earnshaw <rearnsha@arm.com>
Wed, 14 Jan 2004 17:51:31 +0000 (17:51 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 14 Jan 2004 17:51:31 +0000 (17:51 +0000)
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

gcc/ChangeLog
gcc/config.gcc
gcc/config/arm/arm.h
gcc/config/arm/linux-elf.h

index 0d2c852d9a401ecc0c777e791b8df33159030707..ba94c155d03977605d8b43ea7dc92b4f1143bfb0 100644 (file)
@@ -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
index fb4ecd40c3870831af29c998a4e0de96d75e9b54..fd75363eba22bee4057f8154035b77c7e09f8ba4 100644 (file)
@@ -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
index 9cc35f405a510ca70a183976739056e405c3ae90..40c26c9b39dc9fef305732f0455e17909df389f1 100644 (file)
@@ -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
 
 \f
 /* Addressing modes, and classification of registers for them.  */
index c9ac16bdf304c5c3ddf024f02e9561cc3266733d..8b94c9d647e79c6e8262cc2c72fa4cb25713cfe7 100644 (file)
@@ -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