x86: Fix tst-ifunc-isa-* build when gcc ifunc support is not enabled

Message ID 20210323224853.322700-1-samuel.thibault@ens-lyon.org
State New
Headers show
Series
  • x86: Fix tst-ifunc-isa-* build when gcc ifunc support is not enabled
Related show

Commit Message

Samuel Thibault March 23, 2021, 10:48 p.m.
---
 sysdeps/x86/tst-ifunc-isa-1.c | 17 +++++++++++++++++
 sysdeps/x86/tst-ifunc-isa-2.c | 17 +++++++++++++++++
 2 files changed, 34 insertions(+)

-- 
2.30.2

Comments

H.J. Lu via Libc-alpha March 23, 2021, 11:09 p.m. | #1
On Tue, Mar 23, 2021 at 3:49 PM Samuel Thibault
<samuel.thibault@ens-lyon.org> wrote:
>

> ---

>  sysdeps/x86/tst-ifunc-isa-1.c | 17 +++++++++++++++++

>  sysdeps/x86/tst-ifunc-isa-2.c | 17 +++++++++++++++++

>  2 files changed, 34 insertions(+)

>

> diff --git a/sysdeps/x86/tst-ifunc-isa-1.c b/sysdeps/x86/tst-ifunc-isa-1.c

> index 37d599210c..7a58591c79 100644

> --- a/sysdeps/x86/tst-ifunc-isa-1.c

> +++ b/sysdeps/x86/tst-ifunc-isa-1.c

> @@ -16,6 +16,10 @@

>     License along with the GNU C Library; if not, see

>     <https://www.gnu.org/licenses/>.  */

>

> +#include <config.h>

> +

> +#ifdef HAVE_GCC_IFUNC

> +

>  #include <stdlib.h>

>  #include "tst-ifunc-isa.h"

>

> @@ -27,4 +31,17 @@ do_test (void)

>    return value == expected ? EXIT_SUCCESS : EXIT_FAILURE;

>  }

>

> +#else  /* !HAVE_GCC_IFUNC */

> +

> +#include <support/check.h>

> +

> +static int

> +do_test (void)

> +{

> +  FAIL_UNSUPPORTED ("GCC does not support the ifunc attribute");

> +  return 1;                     /* Not reachable.  */

> +}

> +

> +#endif  /* !HAVE_GCC_IFUNC */

> +

>  #include <support/test-driver.c>


Can you add LIBC_CONFIG_VAR with have-gcc-ifunc to skip
these tests?


-- 
H.J.
H.J. Lu via Libc-alpha March 24, 2021, 12:17 a.m. | #2
H.J. Lu, le mar. 23 mars 2021 16:09:18 -0700, a ecrit:
> Can you add LIBC_CONFIG_VAR with have-gcc-ifunc to skip

> these tests?


Ok, and ifuncmain9 can use it as well.

Samuel

Patch

diff --git a/sysdeps/x86/tst-ifunc-isa-1.c b/sysdeps/x86/tst-ifunc-isa-1.c
index 37d599210c..7a58591c79 100644
--- a/sysdeps/x86/tst-ifunc-isa-1.c
+++ b/sysdeps/x86/tst-ifunc-isa-1.c
@@ -16,6 +16,10 @@ 
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <config.h>
+
+#ifdef HAVE_GCC_IFUNC
+
 #include <stdlib.h>
 #include "tst-ifunc-isa.h"
 
@@ -27,4 +31,17 @@  do_test (void)
   return value == expected ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
+#else  /* !HAVE_GCC_IFUNC */
+
+#include <support/check.h>
+
+static int
+do_test (void)
+{
+  FAIL_UNSUPPORTED ("GCC does not support the ifunc attribute");
+  return 1;                     /* Not reachable.  */
+}
+
+#endif  /* !HAVE_GCC_IFUNC */
+
 #include <support/test-driver.c>
diff --git a/sysdeps/x86/tst-ifunc-isa-2.c b/sysdeps/x86/tst-ifunc-isa-2.c
index 0bdf7176fa..20f8724997 100644
--- a/sysdeps/x86/tst-ifunc-isa-2.c
+++ b/sysdeps/x86/tst-ifunc-isa-2.c
@@ -16,6 +16,10 @@ 
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <config.h>
+
+#ifdef HAVE_GCC_IFUNC
+
 #include <stdlib.h>
 #include "tst-ifunc-isa.h"
 #include <support/test-driver.h>
@@ -31,4 +35,17 @@  do_test (void)
   return value == sse2 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
+#else  /* !HAVE_GCC_IFUNC */
+
+#include <support/check.h>
+
+static int
+do_test (void)
+{
+  FAIL_UNSUPPORTED ("GCC does not support the ifunc attribute");
+  return 1;                     /* Not reachable.  */
+}
+
+#endif  /* !HAVE_GCC_IFUNC */
+
 #include <support/test-driver.c>