This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] skip patchable_function_entry tests on ia64
- From: Torsten Duwe <duwe at suse dot de>
- To: Jim Wilson <wilson at tuliptree dot org>
- Cc: Andreas Schwab <schwab at suse dot de>, Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 11 Aug 2017 12:34:29 +0200
- Subject: [PATCH] skip patchable_function_entry tests on ia64
- Authentication-results: sourceware.org; auth=none
- References: <20170706140311.GA20710@suse.de> <d3e6d7a1-1f1c-c0b5-133a-0ab29eb5034d@arm.com> <20170707193028.GA17752@suse.de> <mvmbmo7uvuu.fsf@suse.de> <20170726142629.GG22969@suse.de> <mvm379juv2y.fsf@suse.de> <F3E4420A-1F0D-48F0-978B-4A6C0B65A4E1@linaro.org> <alpine.LSU.2.21.1708010442150.25964@anthias.pfeifer.com> <mvm8tj3r24a.fsf@suse.de> <B3ACC0F7-B23C-428B-95BF-A5AA853C1208@linaro.org>
As Andreas found out, patchable_function_entry tests generate false failures
on ia64. On a closer look, this feature needs some more thought on itanium:
I *could* imagine it is a good idea to generate N complete nop "bundles",
which would be properly aligned and allow for easy replacement with alternate
binary code.
But I'd rather leave this to the platform experts, or whoever comes up with
a good use case, to implement the proper cpu override hook. Meanwhile, as
long as the expected results remain undefined, disable the tests.
Torsten
gcc/testsuite/ChangeLog
2017-08-11 Torsten Duwe <duwe@suse.de>
* c-c++-common/patchable_function_entry-default.c: Skip test on ia64.
* c-c++-common/patchable_function_entry-decl.c: Likewise.
* c-c++-common/patchable_function_entry-definition.c: Likewise.
diff --git a/gcc/testsuite/c-c++-common/patchable_function_entry-decl.c b/gcc/testsuite/c-c++-common/patchable_function_entry-decl.c
index 5c39a354559..e35dce4f3d8 100644
--- a/gcc/testsuite/c-c++-common/patchable_function_entry-decl.c
+++ b/gcc/testsuite/c-c++-common/patchable_function_entry-decl.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target { ! nvptx*-*-* } } } */
+/* { dg-skip-if "undefined padding" { "ia64*-*-*" } { "*" } { "" } } */
/* { dg-options "-O2 -fpatchable-function-entry=3,1" } */
/* { dg-final { scan-assembler-times "nop" 2 } } */
diff --git a/gcc/testsuite/c-c++-common/patchable_function_entry-default.c b/gcc/testsuite/c-c++-common/patchable_function_entry-default.c
index 48094f75f78..1b7e188d5f9 100644
--- a/gcc/testsuite/c-c++-common/patchable_function_entry-default.c
+++ b/gcc/testsuite/c-c++-common/patchable_function_entry-default.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target { ! nvptx*-*-* } } } */
+/* { dg-skip-if "undefined padding" { "ia64*-*-*" } { "*" } { "" } } */
/* { dg-options "-O2 -fpatchable-function-entry=3,1" } */
/* { dg-final { scan-assembler-times "nop" 3 } } */
diff --git a/gcc/testsuite/c-c++-common/patchable_function_entry-definition.c b/gcc/testsuite/c-c++-common/patchable_function_entry-definition.c
index af8202f283b..33e37dbc49f 100644
--- a/gcc/testsuite/c-c++-common/patchable_function_entry-definition.c
+++ b/gcc/testsuite/c-c++-common/patchable_function_entry-definition.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target { ! nvptx*-*-* } } } */
+/* { dg-skip-if "undefined padding" { "ia64*-*-*" } { "*" } { "" } } */
/* { dg-options "-O2 -fpatchable-function-entry=3,1" } */
/* { dg-final { scan-assembler-times "nop" 1 } } */