summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure1024
1 files changed, 726 insertions, 298 deletions
diff --git a/configure b/configure
index f0ece41..f43a58a 100755
--- a/configure
+++ b/configure
@@ -775,6 +775,7 @@ enable_largefile
with_openssl
with_stackprotect
with_hardening
+with_retpoline
with_rpath
with_cflags
with_cflags_after
@@ -796,6 +797,7 @@ with_pie
enable_pkcs11
enable_security_key
with_security_key_builtin
+enable_dsa_keys
with_ssl_dir
with_openssl_header_check
with_ssl_engine
@@ -820,6 +822,7 @@ with_superuser_path
with_4in6
with_bsd_auth
with_pid_dir
+enable_fd_passing
enable_lastlog
enable_utmp
enable_utmpx
@@ -1464,8 +1467,10 @@ Optional Features:
--disable-largefile omit support for large files
--disable-pkcs11 disable PKCS#11 support code [no]
--disable-security-key disable U2F/FIDO support code no
+ --disable-dsa-keys disable DSA key support no
--disable-strip Disable calling strip(1) on install
--disable-etc-default-login Disable using PATH from /etc/default/login no
+ --disable-fd-passing disable file descriptor passsing no
--disable-lastlog disable use of lastlog even if detected no
--disable-utmp disable use of utmp even if detected no
--disable-utmpx disable use of utmpx even if detected no
@@ -1481,6 +1486,7 @@ Optional Packages:
--without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL**
--without-stackprotect Don't use compiler's stack protection
--without-hardening Don't use toolchain hardening flags
+ --without-retpoline Enable retpoline spectre mitigation
--without-rpath Disable auto-added -R linker paths
--with-cflags Specify additional flags to pass to compiler
--with-cflags-after Specify additional flags to pass to compiler after configure
@@ -6028,6 +6034,7 @@ fi
use_stack_protector=1
use_toolchain_hardening=1
+use_retpoline=1
# Check whether --with-stackprotect was given.
if test ${with_stackprotect+y}
@@ -6049,6 +6056,16 @@ then :
fi
+# Check whether --with-retpoline was given.
+if test ${with_retpoline+y}
+then :
+ withval=$with_retpoline;
+ if test "x$withval" = "xno"; then
+ use_retpoline=0
+ fi
+fi
+
+
# We use -Werror for the tests only so that we catch warnings like "this is
# on by default" for things like -fPIE.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror" >&5
@@ -6126,18 +6143,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6187,18 +6210,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6263,18 +6292,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6324,18 +6359,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6400,18 +6441,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6461,18 +6508,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6537,18 +6590,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6598,18 +6657,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6674,18 +6739,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6735,18 +6806,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6811,18 +6888,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6872,18 +6955,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -6948,18 +7037,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7009,18 +7104,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7085,18 +7186,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7146,18 +7253,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7222,18 +7335,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7283,18 +7402,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7359,18 +7484,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7420,18 +7551,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7496,18 +7633,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7557,18 +7700,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7633,18 +7782,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7694,18 +7849,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7770,18 +7931,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7831,18 +7998,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7907,18 +8080,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -7968,18 +8147,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8044,18 +8229,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8105,18 +8296,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8181,18 +8378,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8242,18 +8445,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8318,18 +8527,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8379,18 +8594,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8455,18 +8676,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8516,18 +8743,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8569,12 +8802,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
}
if test "x$use_toolchain_hardening" = "x1"; then
{
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -mretpoline" >&5
-printf %s "checking if $CC supports compile flag -mretpoline... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5
+printf %s "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; }
saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WERROR -mretpoline"
+ CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-mretpoline"
+ test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -8593,18 +8826,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8654,18 +8893,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8704,14 +8949,14 @@ printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-} # clang
+}
{
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,retpolineplt" >&5
-printf %s "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5
+printf %s "checking if $LD supports link flag -Wl,-z,relro... " >&6; }
saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $WERROR -Wl,-z,retpolineplt"
+ LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-Wl,-z,retpolineplt"
+ test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -8730,18 +8975,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8792,18 +9043,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8845,12 +9102,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
}
{
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5
-printf %s "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; }
- saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5
+printf %s "checking if $LD supports link flag -Wl,-z,now... " >&6; }
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2"
+ test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -8869,18 +9126,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8897,20 +9160,21 @@ int main(int argc, char **argv) {
_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if ac_fn_c_try_link "$LINENO"
then :
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- CFLAGS="$saved_CFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
else
- if test "$cross_compiling" = yes
+ if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- CFLAGS="$saved_CFLAGS $_define_flag"
+ LDFLAGS="$saved_LDFLAGS $_define_flag"
+
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -8930,18 +9194,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -8962,11 +9232,11 @@ if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- CFLAGS="$saved_CFLAGS $_define_flag"
+ LDFLAGS="$saved_LDFLAGS $_define_flag"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fails at run time" >&5
printf "%s\n" "no, fails at run time" >&6; }
- CFLAGS="$saved_CFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -8976,18 +9246,19 @@ fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- CFLAGS="$saved_CFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
}
{
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5
-printf %s "checking if $LD supports link flag -Wl,-z,relro... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5
+printf %s "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; }
saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro"
+ LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro"
+ test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9006,18 +9277,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9068,18 +9345,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9120,13 +9403,18 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
}
+ # NB. -ftrapv expects certain support functions to be present in
+ # the compiler library (libgcc or similar) to detect integer operations
+ # that can overflow. We must check that the result of enabling it
+ # actually links. The test program compiled/linked includes a number
+ # of integer operations that should exercise this.
{
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5
-printf %s "checking if $LD supports link flag -Wl,-z,now... " >&6; }
- saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5
+printf %s "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; }
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $WERROR -ftrapv"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now"
+ test "x$_define_flag" = "x" && _define_flag="-ftrapv"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9145,18 +9433,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9178,16 +9472,15 @@ then :
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- LDFLAGS="$saved_LDFLAGS"
+ CFLAGS="$saved_CFLAGS"
else
- if test "$cross_compiling" = yes
+ if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- LDFLAGS="$saved_LDFLAGS $_define_flag"
-
+ CFLAGS="$saved_CFLAGS $_define_flag"
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9207,18 +9500,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9239,11 +9538,11 @@ if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- LDFLAGS="$saved_LDFLAGS $_define_flag"
+ CFLAGS="$saved_CFLAGS $_define_flag"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fails at run time" >&5
printf "%s\n" "no, fails at run time" >&6; }
- LDFLAGS="$saved_LDFLAGS"
+ CFLAGS="$saved_CFLAGS"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -9253,19 +9552,25 @@ fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- LDFLAGS="$saved_LDFLAGS"
+ CFLAGS="$saved_CFLAGS"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
}
- {
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5
-printf %s "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; }
- saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack"
+ # clang 15 seems to have a bug in -fzero-call-used-regs=all. See
+ # https://bugzilla.mindrot.org/show_bug.cgi?id=3475 and
+ # https://github.com/llvm/llvm-project/issues/59242
+ # clang 17 has a different bug that causes an ICE when using this
+ # flag at all (https://bugzilla.mindrot.org/show_bug.cgi?id=3629)
+ case "$CLANG_VER" in
+ apple-15*) {
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds" >&5
+printf %s "checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds... " >&6; }
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $WERROR -fzero-call-used-regs=used"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack"
+ test "x$_define_flag" = "x" && _define_flag="-fzero-call-used-regs=used"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9284,18 +9589,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9317,16 +9628,15 @@ then :
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- LDFLAGS="$saved_LDFLAGS"
+ CFLAGS="$saved_CFLAGS"
else
- if test "$cross_compiling" = yes
+ if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- LDFLAGS="$saved_LDFLAGS $_define_flag"
-
+ CFLAGS="$saved_CFLAGS $_define_flag"
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9346,18 +9656,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9378,11 +9694,11 @@ if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- LDFLAGS="$saved_LDFLAGS $_define_flag"
+ CFLAGS="$saved_CFLAGS $_define_flag"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fails at run time" >&5
printf "%s\n" "no, fails at run time" >&6; }
- LDFLAGS="$saved_LDFLAGS"
+ CFLAGS="$saved_CFLAGS"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -9392,24 +9708,20 @@ fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- LDFLAGS="$saved_LDFLAGS"
+ CFLAGS="$saved_CFLAGS"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-}
- # NB. -ftrapv expects certain support functions to be present in
- # the compiler library (libgcc or similar) to detect integer operations
- # that can overflow. We must check that the result of enabling it
- # actually links. The test program compiled/linked includes a number
- # of integer operations that should exercise this.
- {
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5
-printf %s "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; }
+} ;;
+ 17*) ;;
+ *) {
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds" >&5
+printf %s "checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds... " >&6; }
saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WERROR -ftrapv"
+ CFLAGS="$CFLAGS $WERROR -fzero-call-used-regs=used"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-ftrapv"
+ test "x$_define_flag" = "x" && _define_flag="-fzero-call-used-regs=used"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9428,18 +9740,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9489,18 +9807,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9540,20 +9864,15 @@ printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-}
- # clang 15 seems to have a bug in -fzero-call-used-regs=all. See
- # https://bugzilla.mindrot.org/show_bug.cgi?id=3475 and
- # https://github.com/llvm/llvm-project/issues/59242
- # clang 17 has a different bug that causes an ICE when using this
- # flag at all (https://bugzilla.mindrot.org/show_bug.cgi?id=3629)
- case "$CLANG_VER" in
- apple-15*) {
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds" >&5
-printf %s "checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds... " >&6; }
+} ;;
+ esac
+ {
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrivial-auto-var-init=zero" >&5
+printf %s "checking if $CC supports compile flag -ftrivial-auto-var-init=zero... " >&6; }
saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WERROR -fzero-call-used-regs=used"
+ CFLAGS="$CFLAGS $WERROR -ftrivial-auto-var-init=zero"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-fzero-call-used-regs=used"
+ test "x$_define_flag" = "x" && _define_flag="-ftrivial-auto-var-init=zero"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9572,18 +9891,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9600,7 +9925,7 @@ int main(int argc, char **argv) {
_ACEOF
-if ac_fn_c_try_link "$LINENO"
+if ac_fn_c_try_compile "$LINENO"
then :
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
@@ -9633,18 +9958,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9682,17 +10013,17 @@ printf "%s\n" "no" >&6; }
CFLAGS="$saved_CFLAGS"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-} ;;
- 17*) ;;
- *) {
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds" >&5
-printf %s "checking if $CC supports compile flag -fzero-call-used-regs=used and linking succeeds... " >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+}
+ fi
+ if test "x$use_retpoline" = "x1"; then
+ {
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -mretpoline" >&5
+printf %s "checking if $CC supports compile flag -mretpoline... " >&6; }
saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WERROR -fzero-call-used-regs=used"
+ CFLAGS="$CFLAGS $WERROR -mretpoline"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-fzero-call-used-regs=used"
+ test "x$_define_flag" = "x" && _define_flag="-mretpoline"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9711,18 +10042,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9739,7 +10076,7 @@ int main(int argc, char **argv) {
_ACEOF
-if ac_fn_c_try_link "$LINENO"
+if ac_fn_c_try_compile "$LINENO"
then :
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
@@ -9772,18 +10109,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9821,17 +10164,15 @@ printf "%s\n" "no" >&6; }
CFLAGS="$saved_CFLAGS"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-} ;;
- esac
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+} # clang
{
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrivial-auto-var-init=zero" >&5
-printf %s "checking if $CC supports compile flag -ftrivial-auto-var-init=zero... " >&6; }
- saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WERROR -ftrivial-auto-var-init=zero"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,retpolineplt" >&5
+printf %s "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; }
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $WERROR -Wl,-z,retpolineplt"
_define_flag=""
- test "x$_define_flag" = "x" && _define_flag="-ftrivial-auto-var-init=zero"
+ test "x$_define_flag" = "x" && _define_flag="-Wl,-z,retpolineplt"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9850,18 +10191,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9878,20 +10225,21 @@ int main(int argc, char **argv) {
_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if ac_fn_c_try_link "$LINENO"
then :
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- CFLAGS="$saved_CFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
else
- if test "$cross_compiling" = yes
+ if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- CFLAGS="$saved_CFLAGS $_define_flag"
+ LDFLAGS="$saved_LDFLAGS $_define_flag"
+
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9911,18 +10259,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -9943,11 +10297,11 @@ if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- CFLAGS="$saved_CFLAGS $_define_flag"
+ LDFLAGS="$saved_LDFLAGS $_define_flag"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, fails at run time" >&5
printf "%s\n" "no, fails at run time" >&6; }
- CFLAGS="$saved_CFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -9957,10 +10311,11 @@ fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- CFLAGS="$saved_CFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
}
fi
@@ -11321,18 +11676,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -11382,18 +11743,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -15000,18 +15367,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -15061,18 +15434,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -15137,18 +15516,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -15199,18 +15584,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
@@ -16279,6 +16670,23 @@ then :
fi
+disable_ecdsa=
+# Check whether --enable-dsa-keys was given.
+if test ${enable_dsa_keys+y}
+then :
+ enableval=$enable_dsa_keys;
+ if test "x$enableval" = "xno" ; then
+ disable_ecdsa=1
+ fi
+
+
+fi
+
+test -z "$disable_ecdsa" &&
+
+printf "%s\n" "#define WITH_DSA 1" >>confdefs.h
+
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
printf %s "checking for library containing dlopen... " >&6; }
if test ${ac_cv_search_dlopen+y}
@@ -17900,7 +18308,13 @@ then :
else
CPPFLAGS="-I${withval} ${CPPFLAGS}"
fi
- openssl_bin_PATH="${PATH}${PATH_SEPARATOR}${withval}/bin${PATH_SEPARATOR}${withval}/apps"
+ if test -x "${withval}/bin/openssl" && \
+ "${withval}/bin/openssl" version >/dev/null 2>&1; then
+ openssl_bin_PATH="${withval}/bin${PATH_SEPARATOR}${PATH}"
+ elif test -x "${withval}/apps/openssl" && \
+ "${withval}/apps/openssl" version >/dev/null 2>&1; then
+ openssl_bin_PATH="${withval}/apps${PATH_SEPARATOR}${PATH}"
+ fi
fi
@@ -18076,9 +18490,9 @@ printf "%s\n" "$ssl_header_ver" >&6; }
else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-printf "%s\n" "not found" >&6; }
- as_fn_error $? "OpenSSL version header not found." "$LINENO" 5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
+ as_fn_error $? "OpenSSL version test program failed." "$LINENO" 5
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -18488,8 +18902,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Check for OpenSSL without EVP_aes_{192,256}_cbc
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has crippled AES support" >&5
-printf %s "checking whether OpenSSL has crippled AES support... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL lacks support for AES 192/256" >&5
+printf %s "checking whether OpenSSL lacks support for AES 192/256... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -24874,6 +25288,20 @@ printf "%s\n" "#define _PATH_SSH_PIDDIR \"$piddir\"" >>confdefs.h
+
+# Check whether --enable-fd-passing was given.
+if test ${enable_fd_passing+y}
+then :
+ enableval=$enable_fd_passing;
+ if test "x$enableval" = "xno" ; then
+ printf "%s\n" "#define DISABLE_FD_PASSING 1" >>confdefs.h
+
+ fi
+
+
+fi
+
+
# Check whether --enable-lastlog was given.
if test ${enable_lastlog+y}
then :