From c84df4c5696d09b71bab1421d2cd0d8119dcfb7b Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 4 Dec 2000 23:05:17 +0000 Subject: [PATCH] Do not create interworking functions if the target architecture does not support Thumb instructions. From-SVN: r38017 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/lib1funcs.asm | 14 ++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05034cfaf2d..9538f2d9dbb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-12-04 Nick Clifton + + * 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 * 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 ea816ab34a5..4e762b49cff 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