From 13a4600029282ae0fe901f6eb08533c0c1565049 Mon Sep 17 00:00:00 2001
From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 16 Apr 2004 13:20:37 +0000
Subject: [PATCH] * config/arm/arm.c (arm_override_options): Revert previous
 patch. * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can be
 safely   built.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80752 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog               |  6 ++++++
 gcc/config/arm/arm.c        |  7 +------
 gcc/config/arm/t-xscale-elf | 12 +++++++++---
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cee23d33b41b..92cb754a3c09 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 4d57e28fbb8d..6f340df7a909 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 03a886c7bfab..1b7119a9553f 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
 
-- 
GitLab