syslog-ng: fix do_compi1e of qemuarm while DEBUG_BUILD

The thread local storage caused arm-gcc broken while compiling
syslog-ng with option '-g -O'.
...
dnscache.s: Assembler messages:
dnscache.s💯 Error: invalid operands (.text and *UND* sections) for `-'
...

Add option --enable-thread-tls in configure to explicitly disable
thread local storage for arm while DEBUG_BUILD enabled.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Hongxu Jia
2014-08-12 14:26:13 +08:00
committed by Martin Jansa
parent efea141c6e
commit c0ce759952
2 changed files with 55 additions and 0 deletions
@@ -0,0 +1,50 @@
configure.ac: add option --enable-thread-tls to manage thread ssl support
Add option --enable-thread-tls to manage the including of thread
local storage, so we could explicitly disable it.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 474e094..cedca54 100644
--- a/configure.ac
+++ b/configure.ac
@@ -120,6 +120,9 @@ AC_ARG_ENABLE(memtrace,
AC_ARG_ENABLE(ssl,
[ --enable-ssl Enable SSL support.],,enable_ssl="auto")
+AC_ARG_ENABLE(thread-tls,
+ [ --enable-thread-tls Enable Thread Transport Layer Security support.],,enable_thread_tls="no")
+
AC_ARG_ENABLE(dynamic-linking,
[ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto")
@@ -381,12 +384,14 @@ dnl ***************************************************************************
dnl Is the __thread keyword available?
dnl ***************************************************************************
-AC_LINK_IFELSE([AC_LANG_PROGRAM(
-[[#include <pthread.h>
-__thread int a;
-]],
-[a=0;])],
-[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")])
+if test "x$enable_thread_tls" != "xno"; then
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+ [[#include <pthread.h>
+ __thread int a;
+ ]],
+ [a=0;])],
+ [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")])
+fi
dnl ***************************************************************************
dnl How to do static linking?
--
1.9.1
@@ -18,6 +18,7 @@ SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source
file://syslog-ng.conf \ file://syslog-ng.conf \
file://initscript \ file://initscript \
file://volatiles.03_syslog-ng \ file://volatiles.03_syslog-ng \
file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \
" "
inherit autotools systemd pkgconfig update-rc.d update-alternatives inherit autotools systemd pkgconfig update-rc.d update-alternatives
@@ -32,8 +33,12 @@ EXTRA_OECONF = " \
--with-sysroot=${STAGING_DIR_HOST} \ --with-sysroot=${STAGING_DIR_HOST} \
--with-libmongo-client=no --disable-mongodb \ --with-libmongo-client=no --disable-mongodb \
--with-librabbitmq-client=no \ --with-librabbitmq-client=no \
${CONFIG_TLS} \
" "
CONFIG_TLS = "--enable-thread-tls"
CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
PACKAGECONFIG ??= "openssl \ PACKAGECONFIG ??= "openssl \
${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \