mirror of
https://git.yoctoproject.org/poky
synced 2026-06-05 02:20:12 +00: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 \
|
||||
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"
|
||||
|
||||
+30
@@ -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
|
||||
+24
@@ -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
|
||||
|
||||
EXTRA_OECONF += "--without-python --without-python3"
|
||||
LDFLAGS_append_class-native = " -pthread"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user