build: simplify thread local storage handling

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
Christian Brauner 2022-01-20 09:57:21 +01:00
parent f7d3ef8380
commit e27637b7b9
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2
3 changed files with 7 additions and 18 deletions

View File

@ -1,14 +0,0 @@
# See if we have working TLS. We only check to see if it compiles, and that
# the resulting program actually runs, not whether the resulting TLS variables
# work properly; that check is done at runtime, since we can run binaries
# compiled with __thread on systems without TLS.
AC_DEFUN([LXC_CHECK_TLS],
[
AC_MSG_CHECKING(for TLS)
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ static __thread int val; int main() { return 0; } ]])],[have_tls=yes],[have_tls=no],[have_tls=no ])
AC_MSG_RESULT($have_tls)
if test "$have_tls" = "yes"; then
AC_DEFINE([HAVE_TLS],[1],[Define if the compiler supports __thread])
AC_DEFINE([thread_local],[__thread],[Define to the compiler TLS keyword])
fi
])

View File

@ -777,9 +777,6 @@ AC_CHECK_TYPES([struct rtnl_link_stats64], [], [], [[#include <linux/if_link.h>]
AX_PTHREAD
AC_SEARCH_LIBS(clock_gettime, [rt])
# See if we support thread-local storage.
LXC_CHECK_TLS
# Hardening flags
CC_CHECK_FLAGS_APPEND([AM_CFLAGS],[CFLAGS],[ \
-fPIE \

View File

@ -5,8 +5,14 @@
#include "config.h"
#include <stdbool.h>
#include <assert.h>
#include <errno.h>
#include <inttypes.h>
#include <linux/types.h>
#include <stdbool.h>
#include <sys/param.h>
#include <sys/sysmacros.h>
#include <sys/types.h>
#ifndef thread_local
#if __STDC_VERSION__ >= 201112L && \