Commit c0ce7599 authored by Hongxu Jia's avatar Hongxu Jia Committed by Martin Jansa
Browse files

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:100: 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: default avatarHongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: default avatarMartin Jansa <Martin.Jansa@gmail.com>
parent efea141c
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
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
+5 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source
           file://syslog-ng.conf \
           file://initscript \
           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
@@ -32,8 +33,12 @@ EXTRA_OECONF = " \
    --with-sysroot=${STAGING_DIR_HOST} \
    --with-libmongo-client=no --disable-mongodb \
    --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 \
    ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
    ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \