Merge pull request #2562 from brauner/2018-08-22/check_compiler

autotools: check if compiler is new enough
This commit is contained in:
Christian Brauner 2018-08-22 01:57:28 +02:00 committed by GitHub
commit 027e437ccb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 16 deletions

View File

@ -45,6 +45,22 @@ AC_CANONICAL_HOST
AM_PROG_CC_C_O
AC_GNU_SOURCE
# Test if we have a new enough compiler.
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define GCC_VERSION \
(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#define CLANG_VERSION \
(__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
#if GCC_VERSION < 40600 && CLANG_VERSION < 10000
#error Sorry, your compiler is too old - please upgrade it
#endif
]])], [valid_compiler=yes], [valid_compiler=no])
if test "x$valid_compiler" = "xno"; then
AC_MSG_ERROR([Sorry, your compiler is too old - please upgrade it])
fi
# libtool
LT_INIT
AC_SUBST([LIBTOOL_DEPS])

View File

@ -1651,28 +1651,21 @@ static int lxc_spawn(struct lxc_handler *handler)
ret = socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0,
handler->data_sock);
if (ret < 0) {
lxc_sync_fini(handler);
return -1;
}
if (ret < 0)
goto out_sync_fini;
ret = resolve_clone_flags(handler);
if (ret < 0) {
lxc_sync_fini(handler);
return -1;
}
if (ret < 0)
goto out_sync_fini;
if (conf->shmount.path_host) {
if (!conf->shmount.path_cont) {
lxc_sync_fini(handler);
return -1;
}
if (!conf->shmount.path_cont)
goto out_sync_fini;
ret = lxc_setup_shmount(conf);
if (ret < 0) {
ERROR("Failed to setup shared mount point");
lxc_sync_fini(handler);
return -1;
goto out_sync_fini;
}
}
@ -1687,8 +1680,7 @@ static int lxc_spawn(struct lxc_handler *handler)
ret = lxc_find_gateway_addresses(handler);
if (ret < 0) {
ERROR("Failed to find gateway addresses");
lxc_sync_fini(handler);
return -1;
goto out_sync_fini;
}
/* That should be done before the clone because we will
@ -1963,6 +1955,8 @@ out_delete_net:
out_abort:
lxc_abort(name, handler);
out_sync_fini:
lxc_sync_fini(handler);
if (handler->pinfd >= 0) {
close(handler->pinfd);