]>
Commit | Line | Data |
---|---|---|
e6ebd2e4 | 1 | GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. |
bbaf00a6 | 2 | # Local configure fragment for sysdeps/s390. |
e6ebd2e4 | 3 | |
e6ebd2e4 UD |
4 | dnl It is always possible to access static and hidden symbols in an |
5 | dnl position independent way. | |
6 | AC_DEFINE(PI_STATIC_AND_HIDDEN) | |
4fa8bc3b SL |
7 | |
8 | dnl Accept as 2.24 or newer. | |
9 | AC_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 | ||
5a414ff7 DV |
13 | |
14 | AC_CACHE_CHECK(for __builtin_tbegin, libc_cv_gcc_builtin_tbegin, [dnl | |
15 | cat > conftest.c <<\EOF | |
16 | #include <htmintrin.h> | |
17 | void testtransaction () | |
18 | { | |
19 | if (__builtin_tbegin (0) == _HTM_TBEGIN_STARTED) | |
20 | { | |
21 | __builtin_tend (); | |
22 | } | |
23 | } | |
24 | EOF | |
25 | dnl | |
26 | dnl test, if the tbegin instruction is used by __builtin_tbegin | |
27 | if AC_TRY_COMMAND([${CC-cc} -mhtm -O2 -S conftest.c -o - | grep -w tbegin > /dev/null]) ; | |
28 | then | |
29 | libc_cv_gcc_builtin_tbegin=yes | |
30 | else | |
31 | libc_cv_gcc_builtin_tbegin=no | |
32 | fi | |
33 | rm -f conftest* ]) | |
34 | ||
35 | if 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." | |
37 | fi | |
38 | ||
4f0a1cea SL |
39 | |
40 | AC_CACHE_CHECK(for S390 vector instruction support, libc_cv_asm_s390_vx, [dnl | |
41 | cat > conftest.c <<\EOF | |
42 | void testvecinsn () | |
43 | { | |
44 | __asm__ (".machine \"z13\" \n\t" | |
45 | ".machinemode \"zarch_nohighgprs\" \n\t" | |
46 | "vistrbs %%v16,%%v17 \n\t" | |
47 | "locghie %%r1,0" : :); | |
48 | } | |
49 | EOF | |
50 | dnl | |
51 | dnl test, if assembler supports S390 vector instructions | |
52 | if AC_TRY_COMMAND([${CC-cc} --shared conftest.c -o conftest.o &> /dev/null]) ; | |
53 | then | |
54 | libc_cv_asm_s390_vx=yes | |
55 | else | |
56 | libc_cv_asm_s390_vx=no | |
57 | fi | |
58 | rm -f conftest* ]) | |
59 | ||
60 | if test "$libc_cv_asm_s390_vx" = yes ; | |
61 | then | |
62 | AC_DEFINE(HAVE_S390_VX_ASM_SUPPORT) | |
63 | else | |
64 | AC_MSG_WARN([Use binutils with vector-support in order to use optimized implementations.]) | |
65 | fi | |
66 | ||
67 | ||
4fa8bc3b SL |
68 | test -n "$critic_missing" && AC_MSG_ERROR([ |
69 | *** $critic_missing]) |