On 09/12/16 15:39, Kyrill Tkachov wrote:
On 09/12/16 15:28, Thomas Preudhomme wrote:
Hi,
The current target selector for empty_fiq_handler.c testcase skips the test
when targeting Thumb mode on a device with ARM execution state. Because it
checks Thumb mode by looking for an -mthumb option it fails to work when GCC
was configured with --with-mode=thumb. It is also too restrictive because
interrupt handler can be compiled in Thumb-2. This patch checks the arm_thumb1
effective target instead of the -mthumb flag to fix both issues.
ChangeLog entry is as follows:
*** gcc/testsuite/ChangeLog ***
2016-12-09 Thomas Preud'homme <thomas.preudho...@arm.com>
* gcc.target/arm/empty_fiq_handler: Skip instead if targeting Thumb-1
on a non Thumb-only target.
Tested with GCC built for ARMv5T and ARMv7-A with --with-mode=thumb and
--with-mode=arm and for ARMv6S-M with --with-mode=thumb:
* test pass in all cases for ARMv5T and ARMv7-A with -marm
* test pass in all cases for ARMv6S-M and ARMv7-A with -mthumb
* test pass without option when defaulting to ARM for ARMv5T and ARMv7-A
* test pass without option when defaulting to Thumb for ARMv6S-M and ARMv7-A
* test is unsupported with -marm for ARMv5T
* test is unsupported without option when defaulting to Thumb for ARMv5T
Is this ok for stage3?
ENOPATCH ;)
Doh. Thanks also to Christophe for notifying me. Please find the patch attached
now.
Best regards,
Thomas
diff --git a/gcc/testsuite/gcc.target/arm/empty_fiq_handler.c b/gcc/testsuite/gcc.target/arm/empty_fiq_handler.c
index 8313f2199122be153a737946e817a5e3bee60372..69bb0669dd416e1fcb015c278d62961d071fc42f 100644
--- a/gcc/testsuite/gcc.target/arm/empty_fiq_handler.c
+++ b/gcc/testsuite/gcc.target/arm/empty_fiq_handler.c
@@ -1,5 +1,4 @@
-/* { dg-do compile } */
-/* { dg-skip-if "" { ! arm_cortex_m } { "-mthumb" } } */
+/* { dg-do compile { target { {! arm_thumb1 } || arm_cortex_m } } } */
/* Below code used to trigger an ICE due to missing constraints for
sp = fp + cst pattern. */