aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-04-14 17:31:33 +0000
committerNick Clifton <nickc@gcc.gnu.org>2004-04-14 17:31:33 +0000
commitcd2b7af02951e96f1a436d6b5584267e49259930 (patch)
treec3d8b0aad9d67ec5ba2f34e233c3eae554762ad7 /gcc
parent61218d193a20df95d34fa975b296448d382416a8 (diff)
downloadgcc-cd2b7af02951e96f1a436d6b5584267e49259930.zip
gcc-cd2b7af02951e96f1a436d6b5584267e49259930.tar.gz
gcc-cd2b7af02951e96f1a436d6b5584267e49259930.tar.bz2
arm.c (arm_override_options): If the user has not specified an ABI...
* 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. From-SVN: r80683
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/arm.c7
-rw-r--r--gcc/config/arm/t-xscale-coff12
-rw-r--r--gcc/config/arm/t-xscale-elf12
4 files changed, 25 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0312f28..63351f1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+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.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 6f340df..4d57e28 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -856,7 +856,12 @@ arm_override_options (void)
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");
diff --git a/gcc/config/arm/t-xscale-coff b/gcc/config/arm/t-xscale-coff
index 89f371f..686fd9b 100644
--- a/gcc/config/arm/t-xscale-coff
+++ b/gcc/config/arm/t-xscale-coff
@@ -20,19 +20,19 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
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
diff --git a/gcc/config/arm/t-xscale-elf b/gcc/config/arm/t-xscale-elf
index b72c21c..03a886c 100644
--- a/gcc/config/arm/t-xscale-elf
+++ b/gcc/config/arm/t-xscale-elf
@@ -20,19 +20,19 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
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