+2004-04-14  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (arm_override_options): If the user has not
+       specified an ABI, then default to AAPCS for the iWMMXt processor.
+       * config/arm/t-xscale-elf: Remove redundant multilib specifications.
+       * config/arm/t-xscale-coff: Likewise.
+
 2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * builtins.c (fold_builtin_isdigit): New.
 
        error ("invalid ABI option: -mabi=%s", target_abi_name);
     }
   else
-    arm_abi = ARM_DEFAULT_ABI;
+    {
+      if (TARGET_IWMMXT)
+       arm_abi = ARM_ABI_AAPCS;
+      else
+       arm_abi = ARM_DEFAULT_ABI;
+    }
 
   if (TARGET_IWMMXT && !ARM_DOUBLEWORD_ALIGN)
     error ("iwmmxt requires an AAPCS compatible ABI for proper operation");
 
        echo '#endif' >> dp-bit.c
        cat $(srcdir)/config/fp-bit.c >> dp-bit.c
 
-MULTILIB_OPTIONS     = mlittle-endian/mbig-endian
-MULTILIB_DIRNAMES    = le be
+MULTILIB_OPTIONS     = mbig-endian
+MULTILIB_DIRNAMES    = be
 MULTILIB_EXCEPTIONS  = 
 MULTILIB_MATCHES     = mbig-endian=mbe mlittle-endian=mle
 
 # Note XScale does not support 26 bit APCS.
 # Note XScale does not support hard FP
 
-MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
-MULTILIB_DIRNAMES   += normal interwork
+MULTILIB_OPTIONS    += mthumb-interwork
+MULTILIB_DIRNAMES   += interwork
 
-MULTILIB_OPTIONS    += marm/mthumb
-MULTILIB_DIRNAMES   += arm thumb
+MULTILIB_OPTIONS    += mthumb
+MULTILIB_DIRNAMES   += thumb
 MULTILIB_EXCEPTIONS += *mhard-float/*mthumb*
 
 MULTILIB_REDUNDANT_DIRS = interwork/thumb=thumb
 
        echo '#endif' >> dp-bit.c
        cat $(srcdir)/config/fp-bit.c >> dp-bit.c
 
-MULTILIB_OPTIONS     = mlittle-endian/mbig-endian
-MULTILIB_DIRNAMES    = le be
+MULTILIB_OPTIONS     = mbig-endian
+MULTILIB_DIRNAMES    = be
 MULTILIB_EXCEPTIONS  = 
 MULTILIB_MATCHES     = mbig-endian=mbe mlittle-endian=mle
 
 # Note XScale does not support 26 bit APCS.
 # Note XScale does not support hard FP
 
-MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
-MULTILIB_DIRNAMES   += normal interwork
+MULTILIB_OPTIONS    += mthumb-interwork
+MULTILIB_DIRNAMES   += interwork
 
-MULTILIB_OPTIONS    += marm/mthumb
-MULTILIB_DIRNAMES   += arm thumb
+MULTILIB_OPTIONS    += mthumb
+MULTILIB_DIRNAMES   += thumb
 MULTILIB_EXCEPTIONS += *mhard-float/*mthumb*
 
 MULTILIB_REDUNDANT_DIRS = interwork/thumb=thumb