[Buildroot] [PATCH 1/3] package/suricata: fix build on m68k
Arnout Vandecappelle
arnout at mind.be
Mon May 27 22:27:55 UTC 2019
On 24/04/2019 22:21, Fabrice Fontaine wrote:
> Fixes:
> - http://autobuild.buildroot.org/results/ed923bcc1454ce90444b8dac7c064b5f4ea4a0a5
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
> .../0001-fix-build-on-m68k-with-uclibc.patch | 48 +++++++++++++++++++
> package/suricata/suricata.mk | 2 +
> 2 files changed, 50 insertions(+)
> create mode 100644 package/suricata/0001-fix-build-on-m68k-with-uclibc.patch
>
> diff --git a/package/suricata/0001-fix-build-on-m68k-with-uclibc.patch b/package/suricata/0001-fix-build-on-m68k-with-uclibc.patch
> new file mode 100644
> index 0000000000..09b4b70588
> --- /dev/null
> +++ b/package/suricata/0001-fix-build-on-m68k-with-uclibc.patch
> @@ -0,0 +1,48 @@
> +From 58750008dd562c08642bed1bb3194cb87e301570 Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +Date: Wed, 24 Apr 2019 19:14:29 +0200
> +Subject: [PATCH] fix build on m68k with uclibc
> +
> +uclibc on m68k defines _POSIX_SPIN_LOCKS but does not define
> +pthread_spin_unlock so check for this function before using
> +pthread_spin_xxx functions
This makes no sense... If pthread_spin_lock is defined but pthread_spin_unlock
is not, then there are no spinlocks. So this clearly is a uClibc bug.
Since NPTL support for m68k seems to be pretty incomplete in uClibc, I think we
should just disable it.
And for this specific package, I'd just disable it for m68k.
Regards,
Arnout
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/ed923bcc1454ce90444b8dac7c064b5f4ea4a0a5
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +[Upstream status: https://github.com/OISF/suricata/pull/3816]
> +---
> + configure.ac | 2 ++
> + src/threads.h | 2 +-
> + 2 files changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index a6669ec47..ee59c9d8e 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -889,6 +889,8 @@
> + exit 1
> + fi
> +
> ++ AC_CHECK_FUNCS([pthread_spin_unlock])
> ++
> + # libjansson
> + AC_ARG_WITH(libjansson_includes,
> + [ --with-libjansson-includes=DIR libjansson include directory],
> +diff --git a/src/threads.h b/src/threads.h
> +index 4e6f61134..4eb1a7360 100644
> +--- a/src/threads.h
> ++++ b/src/threads.h
> +@@ -155,7 +155,7 @@ enum {
> + #define SCCtrlCondDestroy pthread_cond_destroy
> +
> + /* spinlocks */
> +-#if ((_POSIX_SPIN_LOCKS - 200112L) < 0L) || defined HELGRIND
> ++#if ((_POSIX_SPIN_LOCKS - 200112L) < 0L) || defined HELGRIND || !defined(HAVE_PTHREAD_SPIN_UNLOCK)
> + #define SCSpinlock SCMutex
> + #define SCSpinLock(spin) SCMutexLock((spin))
> + #define SCSpinTrylock(spin) SCMutexTrylock((spin))
> +--
> +2.20.1
> +
> diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk
> index e5884cdfe4..0491fad6d5 100644
> --- a/package/suricata/suricata.mk
> +++ b/package/suricata/suricata.mk
> @@ -8,6 +8,8 @@ SURICATA_VERSION = 4.1.3
> SURICATA_SITE = https://www.openinfosecfoundation.org/download
> SURICATA_LICENSE = GPL-2.0
> SURICATA_LICENSE_FILES = COPYING LICENSE
> +# We're patching configure.ac
> +SURICATA_AUTORECONF = YES
>
> SURICATA_DEPENDENCIES = \
> host-pkgconf \
>
More information about the buildroot
mailing list