Robert P. J. DAY says:
apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
1 diff -durN gcc-4.2.1.orig/gcc/config/arm/linux-elf.h gcc-4.2.1/gcc/config/arm/linux-elf.h
2 --- gcc-4.2.1.orig/gcc/config/arm/linux-elf.h 2006-02-17 00:29:10.000000000 +0100
3 +++ gcc-4.2.1/gcc/config/arm/linux-elf.h 2007-08-03 20:36:43.000000000 +0200
6 #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
9 + * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
10 + * (big endian) configurations.
12 +#if TARGET_BIG_ENDIAN_DEFAULT
13 +#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
14 +#define TARGET_ENDIAN_OPTION "mbig-endian"
15 +#define TARGET_LINKER_EMULATION "armelfb_linux"
17 +#define TARGET_ENDIAN_DEFAULT 0
18 +#define TARGET_ENDIAN_OPTION "mlittle-endian"
19 +#define TARGET_LINKER_EMULATION "armelf_linux"
22 #undef TARGET_DEFAULT_FLOAT_ABI
23 #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
26 -#define TARGET_DEFAULT (0)
27 +#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
29 #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
31 -#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
32 +#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
34 #undef MULTILIB_DEFAULTS
35 #define MULTILIB_DEFAULTS \
36 - { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
37 + { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
39 /* Now we define the strings used to build the spec file. */
42 %{rdynamic:-export-dynamic} \
43 %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
45 - %{mbig-endian:-EB}" \
46 + %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
47 SUBTARGET_EXTRA_LINK_SPEC
50 diff -durN gcc-4.2.1.orig/gcc/config.gcc gcc-4.2.1/gcc/config.gcc
51 --- gcc-4.2.1.orig/gcc/config.gcc 2007-08-03 20:29:52.000000000 +0200
52 +++ gcc-4.2.1/gcc/config.gcc 2007-08-03 20:36:43.000000000 +0200
54 tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
55 tmake_file="${tmake_file} t-linux arm/t-arm"
58 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
63 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
64 tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"