diff options
Diffstat (limited to 'poky/meta/recipes-support/libcap')
-rw-r--r-- | poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch | 32 | ||||
-rw-r--r-- | poky/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch | 24 | ||||
-rw-r--r-- | poky/meta/recipes-support/libcap/libcap_2.33.bb (renamed from poky/meta/recipes-support/libcap/libcap_2.32.bb) | 5 |
3 files changed, 53 insertions, 8 deletions
diff --git a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch index e568cc47c..912f33f16 100644 --- a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch +++ b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch @@ -1,4 +1,4 @@ -From 1179b423cce8d119b42cebfb3daa77c540fdca43 Mon Sep 17 00:00:00 2001 +From 24d59c99bcba065f1f40f49f870a5f6483b4b078 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 15 Jan 2020 17:16:28 +0100 Subject: [PATCH] tests: do not statically link a test @@ -7,20 +7,40 @@ This fails on e.g. centos 7 Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- - tests/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + tests/Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Makefile b/tests/Makefile -index 7162cf0..6af47af 100644 +index f9cec56..aa0d09b 100644 --- a/tests/Makefile +++ b/tests/Makefile -@@ -29,7 +29,7 @@ psx_test_wrap: psx_test.c $(DEPS) +@@ -29,23 +29,23 @@ psx_test_wrap: psx_test.c $(DEPS) run_libcap_psx_test: libcap_psx_test libcap_psx_test: libcap_psx_test.c $(DEPS) - $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static + $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create + run_libcap_launch_test: libcap_launch_test libcap_psx_launch_test noop + sudo ./libcap_launch_test + sudo ./libcap_psx_launch_test + + libcap_launch_test: libcap_launch_test.c $(DEPS) +- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) --static ++ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) + + # this varies only slightly from the above insofar as it currently + # only links in the pthreads fork support. TODO() we need to change + # the source to do something interesting with pthreads. + libcap_psx_launch_test: libcap_launch_test.c $(DEPS) +- $(CC) $(CFLAGS) $(IPATH) -DWITH_PTHREADS $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static ++ $(CC) $(CFLAGS) $(IPATH) -DWITH_PTHREADS $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create + + noop: noop.c +- $(CC) $(CFLAGS) $< -o $@ --static ++ $(CC) $(CFLAGS) $< -o $@ + clean: - rm -f psx_test psx_test_wrap libcap_psx_test + rm -f psx_test psx_test_wrap libcap_psx_test libcap_launch_test *~ diff --git a/poky/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch b/poky/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch new file mode 100644 index 000000000..848ceb2c0 --- /dev/null +++ b/poky/meta/recipes-support/libcap/files/0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch @@ -0,0 +1,24 @@ +From a2c4cdb05d0e382101b13944c09c4375e8d7de5f Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 31 Mar 2020 13:39:28 +0200 +Subject: [PATCH] psx.c: replace pthread_yield() with standard sched_yield() + +This was causing failures when building with musl C library in +particular. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- +diff --git a/libcap/psx.c b/libcap/psx.c +index 04d250f..7e4ac10 100644 +--- a/libcap/psx.c ++++ b/libcap/psx.c +@@ -533,7 +533,7 @@ long int __psx_syscall(long int syscall_nr, ...) { + if (!waiting) { + break; + } +- pthread_yield(); ++ sched_yield(); + } + + errno = restore_errno; diff --git a/poky/meta/recipes-support/libcap/libcap_2.32.bb b/poky/meta/recipes-support/libcap/libcap_2.33.bb index d78a58f7d..bec492ca5 100644 --- a/poky/meta/recipes-support/libcap/libcap_2.32.bb +++ b/poky/meta/recipes-support/libcap/libcap_2.33.bb @@ -11,9 +11,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${ file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ file://0002-tests-do-not-run-target-executables.patch \ file://0001-tests-do-not-statically-link-a-test.patch \ + file://0004-psx.c-replace-pthread_yield-with-standard-sched_yiel.patch \ " -SRC_URI[md5sum] = "7416119c9fdcfd0e8dd190a432c668e9" -SRC_URI[sha256sum] = "1005e3d227f2340ad1e3360ef8b69d15e3c72a29c09f4894d7aac038bd26e2be" +SRC_URI[md5sum] = "dcc6220b4a9bf260050b20c07edcddf4" +SRC_URI[sha256sum] = "08edeaba2757021aeec45c4eeec52566675e0e0f5d4f057284d729e04f2643d6" UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" |