blob: ef17f245a130541b538e226da78a47f9ae8c44db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/powerpc/powerpc64le.
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $libc_cv_cc_submachine"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the target machine is at least POWER8" >&5
printf %s "checking if the target machine is at least POWER8... " >&6; }
if test ${libc_cv_target_power8_ok+y}
then :
printf %s "(cached) " >&6
else case e in #(
e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef _ARCH_PWR8
#error invalid target architecture
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
libc_cv_target_power8_ok=yes
else case e in #(
e) libc_cv_target_power8_ok=no ;;
esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_target_power8_ok" >&5
printf "%s\n" "$libc_cv_target_power8_ok" >&6; }
if test "$libc_cv_target_power8_ok" != "yes"
then :
critic_missing="$critic_missing POWER8 or newer is required on powerpc64le."
fi
CFLAGS="$OLD_CFLAGS"
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mno-gnu-attribute"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the compiler supports -mno-gnu-attribute" >&5
printf %s "checking if the compiler supports -mno-gnu-attribute... " >&6; }
if test ${libc_cv_no_gnu_attr_ok+y}
then :
printf %s "(cached) " >&6
else case e in #(
e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
libc_cv_no_gnu_attr_ok=yes
else case e in #(
e) libc_cv_no_gnu_attr_ok=no ;;
esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_no_gnu_attr_ok" >&5
printf "%s\n" "$libc_cv_no_gnu_attr_ok" >&6; }
if test "$libc_cv_no_gnu_attr_ok" != "yes"
then :
critic_missing="$critic_missing A compiler with -mno-gnu-attribute is required on powerpc64le."
fi
CFLAGS="$OLD_CFLAGS"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC compiles signbit with 128-bit floating point type" >&5
printf %s "checking if $CC compiles signbit with 128-bit floating point type... " >&6; }
if test ${libc_cv_compiler_powerpc64le_ice+y}
then :
printf %s "(cached) " >&6
else case e in #(
e) save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mabi=ieeelongdouble -Wno-psabi"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int sbr (long double a) { return __builtin_signbit (a); }
int sbm (long double *a) { return __builtin_signbit (*a); }
int sbo (long double *a) { return __builtin_signbit (a[4]); }
int sbi (long double *a, unsigned long n) { return __builtin_signbit (a[n]); }
void sbs (int *p, long double a) { *p = __builtin_signbit (a); }
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
libc_cv_compiler_powerpc64le_ice=yes
else case e in #(
e) libc_cv_compiler_powerpc64le_ice=no ;;
esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$save_CFLAGS" ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_powerpc64le_ice" >&5
printf "%s\n" "$libc_cv_compiler_powerpc64le_ice" >&6; }
if test "$libc_cv_compiler_powerpc64le_ice" != "yes"
then :
critic_missing="$critic_missing __builtin_signbit is broken. GCC 7.4 or newer is required to resolve (PR83862)."
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC compiles with -mabi=ieeelongdouble and -mlong-double-128" >&5
printf %s "checking if $CC compiles with -mabi=ieeelongdouble and -mlong-double-128... " >&6; }
if test ${libc_cv_compiler_powerpc64le_ldbl128_mabi+y}
then :
printf %s "(cached) " >&6
else case e in #(
e) save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mabi=ieeelongdouble -mlong-double-128"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
long double x;
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
libc_cv_compiler_powerpc64le_ldbl128_mabi=yes
else case e in #(
e) libc_cv_compiler_powerpc64le_ldbl128_mabi=no ;;
esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$save_CFLAGS" ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_powerpc64le_ldbl128_mabi" >&5
printf "%s\n" "$libc_cv_compiler_powerpc64le_ldbl128_mabi" >&6; }
if test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" = "no"
then :
critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlong-double-128 simultaneously."
fi
test -n "$critic_missing" && as_fn_error $? "*** $critic_missing" "$LINENO" 5
|