diff mbox

[testsuite] add code to arm_thumbX_ok to exercise ABI

Message ID 53E41A0D.6020500@mentor.com
State New
Headers show

Commit Message

Janis Johnson Aug. 8, 2014, 12:30 a.m. UTC
Running an arm-none-eabi test that adds "-mthumb" for a multilib that
uses "-march=armv5te -mfloat-abi=hard" works fine if the test doesn't
have any calls, but if it does then the effective-target checks for
arm_thumb1_ok and arm_thumb2_ok pass but the test's compile step fails
with "sorry, unimplemented: Thumb-1 hard-float VFP ABI".

This patch adds code to those effective-target checks to exercise
argument handling and causes them to fail for the multilib flags
listed above.  Tested by running gcc.target/arm tests with a variety
of multilib flags.  OK for mainline and the 4.9 branch?

Janis
2014-08-07  Janis Johnson  <janisjo@codesourcery.com>

	* lib/target-supports.exp (check_effective_target_arm_thumb1_ok,
	check_effective_target_arm_thumb2_ok): Test with code that passes
	an argument and returns a result.

Comments

Richard Earnshaw Aug. 8, 2014, 10:39 a.m. UTC | #1
On 08/08/14 01:30, Janis Johnson wrote:
> Running an arm-none-eabi test that adds "-mthumb" for a multilib that
> uses "-march=armv5te -mfloat-abi=hard" works fine if the test doesn't
> have any calls, but if it does then the effective-target checks for
> arm_thumb1_ok and arm_thumb2_ok pass but the test's compile step fails
> with "sorry, unimplemented: Thumb-1 hard-float VFP ABI".
> 
> This patch adds code to those effective-target checks to exercise
> argument handling and causes them to fail for the multilib flags
> listed above.  Tested by running gcc.target/arm tests with a variety
> of multilib flags.  OK for mainline and the 4.9 branch?
> 
> Janis
> 
> 
> gcc-20140807-1
> 
> 
> 2014-08-07  Janis Johnson  <janisjo@codesourcery.com>
> 
> 	* lib/target-supports.exp (check_effective_target_arm_thumb1_ok,
> 	check_effective_target_arm_thumb2_ok): Test with code that passes
> 	an argument and returns a result.
> 

OK.

R.
Christophe Lyon Aug. 18, 2014, 2:36 p.m. UTC | #2
On 8 August 2014 02:30, Janis Johnson <janis_johnson@mentor.com> wrote:
> Running an arm-none-eabi test that adds "-mthumb" for a multilib that
> uses "-march=armv5te -mfloat-abi=hard" works fine if the test doesn't
> have any calls, but if it does then the effective-target checks for
> arm_thumb1_ok and arm_thumb2_ok pass but the test's compile step fails
> with "sorry, unimplemented: Thumb-1 hard-float VFP ABI".
>
> This patch adds code to those effective-target checks to exercise
> argument handling and causes them to fail for the multilib flags
> listed above.  Tested by running gcc.target/arm tests with a variety
> of multilib flags.  OK for mainline and the 4.9 branch?
>
> Janis

Some time ago (https://gcc.gnu.org/ml/gcc-patches/2012-09/msg01501.html)
I suggested to add similar stuff to check_effective_target_arm_arch_FUNC_ok
for similar reasons.

Do you agree?
Janis Johnson Aug. 18, 2014, 3:33 p.m. UTC | #3
On 08/18/2014 07:36 AM, Christophe Lyon wrote:
> On 8 August 2014 02:30, Janis Johnson <janis_johnson@mentor.com> wrote:
>> Running an arm-none-eabi test that adds "-mthumb" for a multilib that
>> uses "-march=armv5te -mfloat-abi=hard" works fine if the test doesn't
>> have any calls, but if it does then the effective-target checks for
>> arm_thumb1_ok and arm_thumb2_ok pass but the test's compile step fails
>> with "sorry, unimplemented: Thumb-1 hard-float VFP ABI".
>>
>> This patch adds code to those effective-target checks to exercise
>> argument handling and causes them to fail for the multilib flags
>> listed above.  Tested by running gcc.target/arm tests with a variety
>> of multilib flags.  OK for mainline and the 4.9 branch?
>>
>> Janis
> 
> Some time ago (https://gcc.gnu.org/ml/gcc-patches/2012-09/msg01501.html)
> I suggested to add similar stuff to check_effective_target_arm_arch_FUNC_ok
> for similar reasons.
> 
> Do you agree?
> 

I agree but I prefer to have one of the ARM maintainers approve changes
like that; we sometimes have different philosophies about how to handle
additional options in tests.

Janis
diff mbox

Patch

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp	(revision 213683)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -2761,6 +2761,7 @@ 
 	#if !defined(__arm__) || !defined(__thumb__) || defined(__thumb2__)
 	#error FOO
 	#endif
+	int foo (int i) { return i; }
     } "-mthumb"]
 }
 
@@ -2772,6 +2773,7 @@ 
 	#if !defined(__thumb2__)
 	#error FOO
 	#endif
+	int foo (int i) { return i; }
     } "-mthumb"]
 }