diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cee23d33b41bb099eb2063fb804fa379fff8b222..92cb754a3c09f015ab197b35124e830071cfb4c1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-04-16 Nick Clifton <nickc@redhat.com> + + * config/arm/arm.c (arm_override_options): Revert previous patch. + * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can + be safely built. + 2004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com> * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 4d57e28fbb8db69e2e94ab4e50a07fc3c943a69b..6f340df7a909d2f714a1bb6990076da8fe460376 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -856,12 +856,7 @@ arm_override_options (void) error ("invalid ABI option: -mabi=%s", target_abi_name); } else - { - if (TARGET_IWMMXT) - arm_abi = ARM_ABI_AAPCS; - else - arm_abi = ARM_DEFAULT_ABI; - } + arm_abi = ARM_DEFAULT_ABI; if (TARGET_IWMMXT && !ARM_DOUBLEWORD_ALIGN) error ("iwmmxt requires an AAPCS compatible ABI for proper operation"); diff --git a/gcc/config/arm/t-xscale-elf b/gcc/config/arm/t-xscale-elf index 03a886c7bfab8c89c208bef1725a35c727567f6c..1b7119a9553f8d9362404cf399c476e6771af6ee 100644 --- a/gcc/config/arm/t-xscale-elf +++ b/gcc/config/arm/t-xscale-elf @@ -37,9 +37,15 @@ MULTILIB_EXCEPTIONS += *mhard-float/*mthumb* MULTILIB_REDUNDANT_DIRS = interwork/thumb=thumb -MULTILIB_OPTIONS += mcpu=iwmmxt -MULTILIB_DIRNAMES += iwmmxt -MULTILIB_REDUNDANT_DIRS += interwork/thumb/iwmmxt=thumb +# The iWMMXt multilibs are suppressed for now because gcc only +# supports generating them with the IWMMXT or AAPCS ABIs, neither of +# which is the default. Until GCC can generate code for an iWMMXt +# which will work with the default ABI it is not possible to safely +# generate these multilibs. +# +# MULTILIB_OPTIONS += mcpu=iwmmxt +# MULTILIB_DIRNAMES += iwmmxt +# MULTILIB_REDUNDANT_DIRS += interwork/thumb/iwmmxt=thumb EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o