--- gcc-3.2.2.orig/gcc/config.gcc 2003-02-25 15:45:35.000000000 +0100 +++ gcc-3.2.2/gcc/config.gcc 2003-02-25 18:55:15.000000000 +0100 @@ -746,7 +746,7 @@ arm*-*-rtems*) xm_defines=POSIX tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h" - tmake_file="arm/t-arm-elf t-rtems" + tmake_file="arm/t-arm-elf arm/t-rtems t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi --- gcc-3.2.2.orig/gcc/config/arm/t-rtems 1970-01-01 01:00:00.000000000 +0100 +++ gcc-3.2.2/gcc/config/arm/t-rtems 2003-02-26 05:10:35.000000000 +0100 @@ -0,0 +1,4 @@ +MULTILIB_OPTIONS = marm/mthumb msoft-float/mhard-float +MULTILIB_DIRNAMES = arm thumb soft fpu +MULTILIB_EXCEPTIONS = +MULTILIB_MATCHES = marm=mno-thumb --- gcc-3.2.2/gcc/config/arm/rtems-elf.h 2002-05-01 02:11:01.000000000 +0200 +++ gcc-3.2.2/gcc/config/arm/rtems-elf.h 2003-02-27 16:27:21.000000000 +0100 @@ -26,3 +26,17 @@ #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D__rtems__ -D__ELF__ -Asystem=rtems" + +/* Redefine it to be independent of any defaults */ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME) + +/* Because TARGET_DEFAULT sets ARM_FLAG_SOFT_FLOAT */ +#undef CPP_FLOAT_DEFAULT_SPEC +#define CPP_FLOAT_DEFAULT_SPEC "-D__SOFTFP__" + +/* Because TARGET_DEFAULT sets ARM_FLAG_SOFT_FLOAT */ +#undef SUBTARGET_EXTRA_ASM_SPEC +#define SUBTARGET_EXTRA_ASM_SPEC "\ + %{!mhard-float: \ + %{!msoft-float:-mno-fpu}}"