aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-12-04 23:05:17 +0000
committerNick Clifton <nickc@gcc.gnu.org>2000-12-04 23:05:17 +0000
commitc84df4c5696d09b71bab1421d2cd0d8119dcfb7b (patch)
treef55c836f5c4626cca728b4ef89f0c76b1fb092b7 /gcc
parentc4f0b011c74598c5fce423229858df86c8972b34 (diff)
downloadgcc-c84df4c5696d09b71bab1421d2cd0d8119dcfb7b.zip
gcc-c84df4c5696d09b71bab1421d2cd0d8119dcfb7b.tar.gz
gcc-c84df4c5696d09b71bab1421d2cd0d8119dcfb7b.tar.bz2
Do not create interworking functions if the target architecture does not
support Thumb instructions. From-SVN: r38017
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/lib1funcs.asm14
2 files changed, 12 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05034cf..9538f2d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-12-04 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
+ not create these functions if the target architecture does not
+ support Thumb instructions.
+
2000-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
* ONEWS: New file with the current contents of NEWS up to EGCS
diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm
index ea816ab..4e762b4 100644
--- a/gcc/config/arm/lib1funcs.asm
+++ b/gcc/config/arm/lib1funcs.asm
@@ -657,10 +657,9 @@ Lover12:
assembler because their presence allows interworked code to be linked even
when the GCC library is this one. */
-/* Do not build the interworking functions when the target cpu
- is the arm v3 architecture. (This is one of the multilib
- options). */
-#if defined L_call_via_rX && ! defined __ARM_ARCH_3__
+/* Do not build the interworking functions when the target architecture does
+ not support Thumb instructions. (This can be a multilib option). */
+#if defined L_call_via_rX && (defined __ARM_ARCH_4T__ || defined __ARM_ARCH_5T__ || defined __ARM_ARCH_5TE__)
/* These labels & instructions are used by the Arm/Thumb interworking code.
The address of function to be called is loaded into a register and then
@@ -699,10 +698,9 @@ Lover12:
#endif /* L_call_via_rX */
/* ------------------------------------------------------------------------ */
-/* Do not build the interworking functions when the target cpu
- is the arm v3 architecture. (This is one of the multilib
- options). */
-#if defined L_interwork_call_via_rX && ! defined __ARM_ARCH_3__
+/* Do not build the interworking functions when the target architecture does
+ not support Thumb instructions. (This can be a multilib option). */
+#if defined L_interwork_call_via_rX && (defined __ARM_ARCH_4T__ || defined __ARM_ARCH_5T__ || defined __ARM_ARCH_5TE__)
/* These labels & instructions are used by the Arm/Thumb interworking code,
when the target address is in an unknown instruction set. The address