mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 09:49:32 +02:00
libcap-ng: add pthread library if header is found
If the pthread.h header is found, make sure library containing "pthread_atfork" is added to the list of libraries against which to link. On some hosts (e.g. openSUSE 15.1) "-lpthread" needs to be explicitly added in order for the code to compile correctly. We already had a workaround for this for native builds, but using some external toolchains, we can be bit by this for the target recipe as well. Most of this is courtesy Trevor Woerner <twoerner@gmail.com>, via his patch at stevegrubb/libcap-ng#10, the last thanks to Khem Raj. (From OE-Core rev: 8d84fdea1c26ed5f8f8261c89070df44da3f1855) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
1fb4aa42f9
commit
8f21b6d0d5
@@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
|
|||||||
|
|
||||||
SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
|
SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
|
||||||
file://python.patch \
|
file://python.patch \
|
||||||
|
file://0001-configure.ac-add-library-if-header-found.patch \
|
||||||
|
file://0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "57dc267e2949cdecb651a929f9206572"
|
SRC_URI[md5sum] = "57dc267e2949cdecb651a929f9206572"
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
From 0230e2e374bb71aed0181ccd9ebd13c0c5125a5d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Trevor Woerner <twoerner@gmail.com>
|
||||||
|
Date: Fri, 25 Oct 2019 17:01:20 -0400
|
||||||
|
Subject: [PATCH] configure.ac: add library if header found
|
||||||
|
|
||||||
|
If the pthread.h header is found, make sure library containing
|
||||||
|
"pthread_atfork" is added to the list of libraries against which to link.
|
||||||
|
On some hosts (e.g. openSUSE 15.1) "-lpthread" needs to be explicitly added
|
||||||
|
in order for the code to compile correctly.
|
||||||
|
|
||||||
|
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 63088f4..639b464 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -56,7 +56,9 @@ AC_CHECK_HEADERS(sys/xattr.h, [], [
|
||||||
|
AC_CHECK_HEADERS(attr/xattr.h, [], [AC_MSG_WARN(attr/xattr.h not found, disabling file system capabilities.)])
|
||||||
|
])
|
||||||
|
AC_CHECK_HEADERS(linux/securebits.h, [], [])
|
||||||
|
-AC_CHECK_HEADERS(pthread.h, [], [AC_MSG_WARN(pthread.h not found, disabling pthread_atfork.)])
|
||||||
|
+AC_CHECK_HEADERS(pthread.h,
|
||||||
|
+ [AC_SEARCH_LIBS(pthread_atfork, pthread)],
|
||||||
|
+ [AC_MSG_WARN(pthread.h not found, disabling pthread_atfork.)])
|
||||||
|
|
||||||
|
AC_C_CONST
|
||||||
|
AC_C_INLINE
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
From d95c4018ad57c37f6272dbedfa5217776567c329 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christopher Larson <chris_larson@mentor.com>
|
||||||
|
Date: Tue, 26 Nov 2019 22:34:34 +0500
|
||||||
|
Subject: [PATCH] Wrap pthread_atfork usage in HAVE_PTHREAD_H
|
||||||
|
|
||||||
|
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
|
||||||
|
---
|
||||||
|
src/cap-ng.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/cap-ng.c b/src/cap-ng.c
|
||||||
|
index 35fcd7a..97a3dbd 100644
|
||||||
|
--- a/src/cap-ng.c
|
||||||
|
+++ b/src/cap-ng.c
|
||||||
|
@@ -166,7 +166,9 @@ static void deinit(void)
|
||||||
|
static void init_lib(void) __attribute__ ((constructor));
|
||||||
|
static void init_lib(void)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_PTHREAD_H
|
||||||
|
pthread_atfork(NULL, NULL, deinit);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void init(void)
|
||||||
@@ -3,7 +3,6 @@ require libcap-ng.inc
|
|||||||
inherit lib_package autotools
|
inherit lib_package autotools
|
||||||
|
|
||||||
EXTRA_OECONF += "--without-python --without-python3"
|
EXTRA_OECONF += "--without-python --without-python3"
|
||||||
LDFLAGS_append_class-native = " -pthread"
|
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
BBCLASSEXTEND = "native nativesdk"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user