On 22/09/16 15:51, Thomas Preudhomme wrote:
> Sorry, noticed an error in the patch. It was not caught during testing
> because GCC was built with --with-mode=thumb. Correct patch attached.
> 
> Best regards,
> 
> Thomas
> 
> On 22/09/16 14:49, Thomas Preudhomme wrote:
>> Hi,
>>
>> ARMv6-M and ARMv8-M Baseline only support soft float ABI. Therefore, the
>> arm_arch_v8m_base add option should pass -mfloat-abi=soft, much like
>> -mthumb is
>> passed for architectures that only support Thumb instruction set. This
>> patch
>> adds -mfloat-abi=soft to both arm_arch_v6m and arm_arch_v8m_base add
>> options.
>> Patch is in attachment.
>>
>> ChangeLog entry is as follows:
>>
>> *** gcc/testsuite/ChangeLog ***
>>
>> 2016-07-15  Thomas Preud'homme  <thomas.preudho...@arm.com>
>>
>>         * lib/target-supports.exp (add_options_for_arm_arch_v6m): Add
>>         -mfloat-abi=soft option.
>>         (add_options_for_arm_arch_v8m_base): Likewise.
>>
>>
>> Is this ok for trunk?
>>
>> Best regards,
>>
>> Thomas
> 
> 6_softfloat_testing_v6m_v8m_baseline.patch
> 
> 
> diff --git a/gcc/testsuite/lib/target-supports.exp 
> b/gcc/testsuite/lib/target-supports.exp
> index 
> 0dabea0850124947a7fe333e0b94c4077434f278..b5d72f1283be6a6e4736a1d20936e169c1384398
>  100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -3540,24 +3540,25 @@ proc check_effective_target_arm_fp16_hw { } {
>  # Usage: /* { dg-require-effective-target arm_arch_v5_ok } */
>  #        /* { dg-add-options arm_arch_v5 } */
>  #     /* { dg-require-effective-target arm_arch_v5_multilib } */
> -foreach { armfunc armflag armdef } { v4 "-march=armv4 -marm" __ARM_ARCH_4__
> -                                  v4t "-march=armv4t" __ARM_ARCH_4T__
> -                                  v5 "-march=armv5 -marm" __ARM_ARCH_5__
> -                                  v5t "-march=armv5t" __ARM_ARCH_5T__
> -                                  v5te "-march=armv5te" __ARM_ARCH_5TE__
> -                                  v6 "-march=armv6" __ARM_ARCH_6__
> -                                  v6k "-march=armv6k" __ARM_ARCH_6K__
> -                                  v6t2 "-march=armv6t2" __ARM_ARCH_6T2__
> -                                  v6z "-march=armv6z" __ARM_ARCH_6Z__
> -                                  v6m "-march=armv6-m -mthumb" 
> __ARM_ARCH_6M__
> -                                  v7a "-march=armv7-a" __ARM_ARCH_7A__
> -                                  v7r "-march=armv7-r" __ARM_ARCH_7R__
> -                                  v7m "-march=armv7-m -mthumb" 
> __ARM_ARCH_7M__
> -                                  v7em "-march=armv7e-m -mthumb" 
> __ARM_ARCH_7EM__
> -                                  v8a "-march=armv8-a" __ARM_ARCH_8A__
> -                                  v8_1a "-march=armv8.1a" __ARM_ARCH_8A__
> -                                  v8m_base "-march=armv8-m.base -mthumb" 
> __ARM_ARCH_8M_BASE__
> -                                  v8m_main "-march=armv8-m.main -mthumb" 
> __ARM_ARCH_8M_MAIN__ } {
> +foreach { armfunc armflag armdef } {
> +     v4 "-march=armv4 -marm" __ARM_ARCH_4__
> +     v4t "-march=armv4t" __ARM_ARCH_4T__
> +     v5 "-march=armv5 -marm" __ARM_ARCH_5__
> +     v5t "-march=armv5t" __ARM_ARCH_5T__
> +     v5te "-march=armv5te" __ARM_ARCH_5TE__
> +     v6 "-march=armv6" __ARM_ARCH_6__
> +     v6k "-march=armv6k" __ARM_ARCH_6K__
> +     v6t2 "-march=armv6t2" __ARM_ARCH_6T2__
> +     v6z "-march=armv6z" __ARM_ARCH_6Z__
> +     v6m "-march=armv6-m -mthumb -mfloat-abi=soft" __ARM_ARCH_6M__
> +     v7a "-march=armv7-a" __ARM_ARCH_7A__
> +     v7r "-march=armv7-r" __ARM_ARCH_7R__
> +     v7m "-march=armv7-m -mthumb" __ARM_ARCH_7M__
> +     v7em "-march=armv7e-m -mthumb" __ARM_ARCH_7EM__
> +     v8a "-march=armv8-a" __ARM_ARCH_8A__
> +     v8_1a "-march=armv8.1a" __ARM_ARCH_8A__
> +     v8m_base "-march=armv8-m.base -mthumb -mfloat-abi=soft" 
> __ARM_ARCH_8M_BASE__
> +     v8m_main "-march=armv8-m.main -mthumb" __ARM_ARCH_8M_MAIN__ } {
>      eval [string map [list FUNC $armfunc FLAG $armflag DEF $armdef ] {
>       proc check_effective_target_arm_arch_FUNC_ok { } {
>           if { [ string match "*-marm*" "FLAG" ] &&
> 

I think if you're going to do this you need to also check that changing
the ABI in this way isn't incompatible with other aspects of how the
user has invoked dejagnu.

R.

Reply via email to