aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2014-08-12 14:26:13 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2014-08-13 23:28:05 +0200
commitc0ce7599526c4dce6d889fc4a5aa007f445e6d76 (patch)
tree6dd1e4b095cf937f2a50466daf4a2a1a6796fb9a
parentefea141c6e6e44ca48f3837e5c3383ccfe9ba247 (diff)
downloadmeta-openembedded-contrib-c0ce7599526c4dce6d889fc4a5aa007f445e6d76.tar.gz
meta-openembedded-contrib-c0ce7599526c4dce6d889fc4a5aa007f445e6d76.tar.bz2
meta-openembedded-contrib-c0ce7599526c4dce6d889fc4a5aa007f445e6d76.zip
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: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch50
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng.inc5
2 files changed, 55 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
new file mode 100644
index 0000000000..cc8d11044a
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
@@ -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
+
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
index 57976b3a2a..22767778f6 100644
--- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
+++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
@@ -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)} \