blob: 493e9a469c886c865f1513f65bef95671848a332 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
2# Local configure fragment for sysdeps/s390.
3
4dnl It is always possible to access static and hidden symbols in an
5dnl position independent way.
6AC_DEFINE(PI_STATIC_AND_HIDDEN)
7
8dnl Accept as 2.24 or newer.
9AC_CHECK_PROG_VER(AS, $AS, --version,
10 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
11 [2.2[4-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], critic_missing="$critic_missing The program AS is required in version >= 2.24 for target S390.")
12
13
14AC_CACHE_CHECK(for __builtin_tbegin, libc_cv_gcc_builtin_tbegin, [dnl
15cat > conftest.c <<\EOF
16#include <htmintrin.h>
17void testtransaction ()
18{
19 if (__builtin_tbegin (0) == _HTM_TBEGIN_STARTED)
20 {
21 __builtin_tend ();
22 }
23}
24EOF
25dnl
26dnl test, if the tbegin instruction is used by __builtin_tbegin
27if AC_TRY_COMMAND([${CC-cc} -mhtm -O2 -S conftest.c -o - | grep -w tbegin > /dev/null]) ;
28then
29 libc_cv_gcc_builtin_tbegin=yes
30else
31 libc_cv_gcc_builtin_tbegin=no
32fi
33rm -f conftest* ])
34
35if test "$enable_lock_elision" = yes && test "$libc_cv_gcc_builtin_tbegin" = no ; then
36 critic_missing="$critic_missing The used GCC has no support for __builtin_tbegin, which is needed for lock-elision on target S390."
37fi
38
39test -n "$critic_missing" && AC_MSG_ERROR([
40*** $critic_missing])