1# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
2 # Local configure fragment for sysdeps/s390.
3
4$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
5
6
7{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_tbegin" >&5
8$as_echo_n "checking for __builtin_tbegin... " >&6; }
9if ${libc_cv_gcc_builtin_tbegin+:} false; then :
10  $as_echo_n "(cached) " >&6
11else
12  cat > conftest.c <<\EOF
13#include <htmintrin.h>
14void testtransaction ()
15{
16  if (__builtin_tbegin (0) == _HTM_TBEGIN_STARTED)
17    {
18      __builtin_tend ();
19    }
20}
21EOF
22if { ac_try='${CC-cc} -mhtm -O2 -S conftest.c -o - | grep -w tbegin > /dev/null'
23  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
24  (eval $ac_try) 2>&5
25  ac_status=$?
26  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
27  test $ac_status = 0; }; } ;
28then
29  libc_cv_gcc_builtin_tbegin=yes
30else
31  libc_cv_gcc_builtin_tbegin=no
32fi
33rm -f conftest*
34fi
35{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_tbegin" >&5
36$as_echo "$libc_cv_gcc_builtin_tbegin" >&6; }
37
38if test "$libc_cv_gcc_builtin_tbegin" = no ; then
39   critic_missing="$critic_missing The used GCC has no support for __builtin_tbegin, which is needed for lock-elision on target S390."
40fi
41
42
43{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 vector instruction support" >&5
44$as_echo_n "checking for S390 vector instruction support... " >&6; }
45if ${libc_cv_asm_s390_vx+:} false; then :
46  $as_echo_n "(cached) " >&6
47else
48  cat > conftest.c <<\EOF
49void testvecinsn ()
50{
51    __asm__ (".machine \"z13\" \n\t"
52	     ".machinemode \"zarch_nohighgprs\" \n\t"
53	     "vistrbs %%v16,%%v17 \n\t"
54	     "locghie %%r1,0" : :);
55}
56EOF
57if { ac_try='${CC-cc} --shared conftest.c -o conftest.o &> /dev/null'
58  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
59  (eval $ac_try) 2>&5
60  ac_status=$?
61  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
62  test $ac_status = 0; }; } ;
63then
64  libc_cv_asm_s390_vx=yes
65else
66  libc_cv_asm_s390_vx=no
67fi
68rm -f conftest*
69fi
70{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_vx" >&5
71$as_echo "$libc_cv_asm_s390_vx" >&6; }
72
73if test "$libc_cv_asm_s390_vx" = yes ;
74then
75  $as_echo "#define HAVE_S390_VX_ASM_SUPPORT 1" >>confdefs.h
76
77else
78  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Use binutils with vector-support in order to use optimized implementations." >&5
79$as_echo "$as_me: WARNING: Use binutils with vector-support in order to use optimized implementations." >&2;}
80fi
81
82{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 vector support in gcc" >&5
83$as_echo_n "checking for S390 vector support in gcc... " >&6; }
84if ${libc_cv_gcc_s390_vx+:} false; then :
85  $as_echo_n "(cached) " >&6
86else
87  cat > conftest.c <<\EOF
88void testvecclobber ()
89{
90  __asm__ ("" : : : "v16");
91}
92EOF
93if { ac_try='${CC-cc} --shared conftest.c -o conftest.o &> /dev/null'
94  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
95  (eval $ac_try) 2>&5
96  ac_status=$?
97  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
98  test $ac_status = 0; }; } ;
99then
100  libc_cv_gcc_s390_vx=yes
101else
102  libc_cv_gcc_s390_vx=no
103fi
104rm -f conftest*
105fi
106{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_s390_vx" >&5
107$as_echo "$libc_cv_gcc_s390_vx" >&6; }
108
109if test "$libc_cv_gcc_s390_vx" = yes ;
110then
111  $as_echo "#define HAVE_S390_VX_GCC_SUPPORT 1" >>confdefs.h
112
113fi
114
115{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 arch13 zarch instruction support" >&5
116$as_echo_n "checking for S390 arch13 zarch instruction support... " >&6; }
117if ${libc_cv_asm_s390_arch13+:} false; then :
118  $as_echo_n "(cached) " >&6
119else
120  cat > conftest.c <<\EOF
121void testinsn (char *buf)
122{
123    __asm__ (".machine \"arch13\" \n\t"
124	     ".machinemode \"zarch_nohighgprs\" \n\t"
125	     "lghi %%r0,16 \n\t"
126	     "mvcrl 0(%0),32(%0) \n\t"
127	     "vstrs %%v20,%%v20,%%v20,%%v20,0,2"
128	     : : "a" (buf) : "memory", "r0");
129}
130EOF
131if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS --shared conftest.c
132			-o conftest.o &> /dev/null'
133  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
134  (eval $ac_try) 2>&5
135  ac_status=$?
136  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
137  test $ac_status = 0; }; } ;
138then
139  libc_cv_asm_s390_arch13=yes
140else
141  libc_cv_asm_s390_arch13=no
142fi
143rm -f conftest*
144fi
145{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_arch13" >&5
146$as_echo "$libc_cv_asm_s390_arch13" >&6; }
147if test "$libc_cv_asm_s390_arch13" = yes ;
148then
149  $as_echo "#define HAVE_S390_ARCH13_ASM_SUPPORT 1" >>confdefs.h
150
151fi
152
153
154{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 z10 zarch instruction support as default" >&5
155$as_echo_n "checking for S390 z10 zarch instruction support as default... " >&6; }
156if ${libc_cv_asm_s390_min_z10_zarch+:} false; then :
157  $as_echo_n "(cached) " >&6
158else
159  cat > conftest.c <<\EOF
160void testinsn (void *a, void *b, int n)
161{
162    __asm__ ("exrl %2,1f \n\t"
163	     "j 2f \n\t"
164	     "1: mvc 0(1,%0),0(%1) \n\t"
165	     "2:"
166	     : : "a" (a), "a" (b), "d" (n)
167	     : "memory", "cc");
168}
169EOF
170if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS --shared conftest.c
171			-o conftest.o &> /dev/null'
172  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
173  (eval $ac_try) 2>&5
174  ac_status=$?
175  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
176  test $ac_status = 0; }; } ;
177then
178  libc_cv_asm_s390_min_z10_zarch=yes
179else
180  libc_cv_asm_s390_min_z10_zarch=no
181fi
182rm -f conftest*
183fi
184{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z10_zarch" >&5
185$as_echo "$libc_cv_asm_s390_min_z10_zarch" >&6; }
186
187if test "$libc_cv_asm_s390_min_z10_zarch" = yes ;
188then
189  $as_echo "#define HAVE_S390_MIN_Z10_ZARCH_ASM_SUPPORT 1" >>confdefs.h
190
191fi
192
193{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 z196 zarch instruction support as default" >&5
194$as_echo_n "checking for S390 z196 zarch instruction support as default... " >&6; }
195if ${libc_cv_asm_s390_min_z196_zarch+:} false; then :
196  $as_echo_n "(cached) " >&6
197else
198  cat > conftest.c <<\EOF
199float testinsn (double e)
200{
201    float d;
202    __asm__ ("ledbra %0,5,%1,4" : "=f" (d) : "f" (e) );
203    return d;
204}
205EOF
206if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS --shared conftest.c
207			-o conftest.o &> /dev/null'
208  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
209  (eval $ac_try) 2>&5
210  ac_status=$?
211  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
212  test $ac_status = 0; }; } ;
213then
214  libc_cv_asm_s390_min_z196_zarch=yes
215else
216  libc_cv_asm_s390_min_z196_zarch=no
217fi
218rm -f conftest*
219fi
220{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z196_zarch" >&5
221$as_echo "$libc_cv_asm_s390_min_z196_zarch" >&6; }
222
223if test "$libc_cv_asm_s390_min_z196_zarch" = yes ;
224then
225  $as_echo "#define HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT 1" >>confdefs.h
226
227fi
228
229{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 z13 zarch instruction support as default" >&5
230$as_echo_n "checking for S390 z13 zarch instruction support as default... " >&6; }
231if ${libc_cv_asm_s390_min_z13_zarch+:} false; then :
232  $as_echo_n "(cached) " >&6
233else
234  cat > conftest.c <<\EOF
235int testinsn (void)
236{
237    int i;
238    __asm__ ("vl %%v16,0(%%r15)\n\t"
239	     "vlgvf %0,%%v16,0"
240	     : "=d" (i) : : "memory", "v16");
241    return i;
242}
243EOF
244if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS --shared conftest.c
245			-o conftest.o &> /dev/null'
246  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
247  (eval $ac_try) 2>&5
248  ac_status=$?
249  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
250  test $ac_status = 0; }; } ;
251then
252  libc_cv_asm_s390_min_z13_zarch=yes
253else
254  libc_cv_asm_s390_min_z13_zarch=no
255fi
256rm -f conftest*
257fi
258{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z13_zarch" >&5
259$as_echo "$libc_cv_asm_s390_min_z13_zarch" >&6; }
260
261if test "$libc_cv_asm_s390_min_z13_zarch" = yes ;
262then
263  $as_echo "#define HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT 1" >>confdefs.h
264
265fi
266
267{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for S390 arch13 zarch instruction support as default" >&5
268$as_echo_n "checking for S390 arch13 zarch instruction support as default... " >&6; }
269if ${libc_cv_asm_s390_min_arch13_zarch+:} false; then :
270  $as_echo_n "(cached) " >&6
271else
272  cat > conftest.c <<\EOF
273void testinsn (char *buf)
274{
275    __asm__ ("lghi %%r0,16 \n\t"
276	     "mvcrl 0(%0),32(%0) \n\t"
277	     "vstrs %%v20,%%v20,%%v20,%%v20,0,2"
278	     : : "a" (buf) : "memory", "r0");
279}
280EOF
281if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS --shared conftest.c
282			-o conftest.o &> /dev/null'
283  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
284  (eval $ac_try) 2>&5
285  ac_status=$?
286  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
287  test $ac_status = 0; }; } ;
288then
289  libc_cv_asm_s390_min_arch13_zarch=yes
290else
291  libc_cv_asm_s390_min_arch13_zarch=no
292fi
293rm -f conftest*
294fi
295{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_arch13_zarch" >&5
296$as_echo "$libc_cv_asm_s390_min_arch13_zarch" >&6; }
297if test "$libc_cv_asm_s390_min_arch13_zarch" = yes ;
298then
299  $as_echo "#define HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT 1" >>confdefs.h
300
301fi
302
303
304
305{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC is sufficient to build libc on s390x" >&5
306$as_echo_n "checking if $CC is sufficient to build libc on s390x... " >&6; }
307if ${libc_cv_compiler_ok_on_s390x+:} false; then :
308  $as_echo_n "(cached) " >&6
309else
310
311cat confdefs.h - <<_ACEOF >conftest.$ac_ext
312/* end confdefs.h.  */
313
314int
315main ()
316{
317
318#if !defined __GNUC__ || __GNUC__ < 7 || (__GNUC__ == 7 && __GNUC_MINOR__ < 1)
319#error insufficient compiler for building on s390x
320#endif
321
322  ;
323  return 0;
324}
325_ACEOF
326if ac_fn_c_try_cpp "$LINENO"; then :
327  libc_cv_compiler_ok_on_s390x=yes
328else
329  libc_cv_compiler_ok_on_s390x=no
330fi
331rm -f conftest.err conftest.i conftest.$ac_ext
332fi
333{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_ok_on_s390x" >&5
334$as_echo "$libc_cv_compiler_ok_on_s390x" >&6; }
335if test "$libc_cv_compiler_ok_on_s390x" != yes; then
336   critic_missing="$critic_missing On s390x, GCC >= 7.1.0 is required."
337fi
338
339test -n "$critic_missing" && as_fn_error $? "
340*** $critic_missing" "$LINENO" 5
341