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

Message ID 20210323224853.322700-1-samuel.thibault@ens-lyon.org
State Superseded, archived
Headers
Series x86: Fix tst-ifunc-isa-* build when gcc ifunc support is not enabled |

Commit Message

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

Comments

H.J. Lu March 23, 2021, 11:09 p.m. UTC | #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?
  
Samuel Thibault March 24, 2021, 12:17 a.m. UTC | #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>