From e188b8cd98f599468fbb200c7d590de955daf761 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 5 Aug 2019 13:46:33 +0200 Subject: configure: Autodetect TLS bug on ARM with old gcc and apply workaround Check if compiler being used contains the bug. GCC 7.3.0 is the oldest version containing the fix, and version 6.3.0 is known to contain the bug. Bug is only known to appear so far only on ARM32. If the bug is present, gcc will generate a wrong binary which wil lend up segfaulting when accessing TLS (__thread) variables under certain conditions. Related: OS#4062 Related: SYS#4628 Change-Id: I8acc2cf41b73da0c3290f1cefd79f2bc68b0e77d --- configure.ac | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index d717a0bb..3764e29e 100644 --- a/configure.ac +++ b/configure.ac @@ -122,6 +122,10 @@ AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ CHECK_TM_INCLUDES_TM_GMTOFF +dnl Check if We need to apply workaround for TLS bug on ARM platform for GCC < 7.3.0: +CHECK_TLS_GCC_ARM_BUG +CFLAGS="$CFLAGS $TLS_GCC_ARM_BUG_CFLAGS" + dnl Generate the output AC_CONFIG_HEADER(config.h) -- cgit v1.2.3