new file mode 100644
@@ -0,0 +1,45 @@
+From c534091fc6924e76e6d24e861da9cf7272714231 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 21 Jan 2025 11:02:05 +0800
+Subject: [PATCH] uatomic/generic.h: add missing stdlib.h header file for
+ abort()
+
+We encountered the following error when building multipath-tools on
+qemuppc64 platform:
+
+| In file included from /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/ppc.h:228,
+| from /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic.h:73,
+| from lock.h:5,
+| from lock.c:1:
+| /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/generic.h: In function '_uatomic_and':
+| /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/generic.h:422:24: error: implicit declaration of function 'abort' [-Wimplicit-function-declaration]
+| 422 | oldt = uatomic_read((uint32_t *) addr);
+| | ^~~~~~~~~~~~
+| /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/generic.h:1:1: note: include '<stdlib.h>' or provide a declaration of 'abort'
+| +++ |+#include <stdlib.h>
+| 1 | // SPDX-FileCopyrightText: 1991-1994 by Xerox Corporation. All rights reserved.
+| make[1]: *** [../Makefile.inc:155: lock.o] Error 1
+| make[1]: Leaving directory '/build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/git/libmultipath'
+
+Upstream-Status: Submitted [https://github.com/urcu/userspace-rcu/pull/28]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ include/urcu/uatomic/generic.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/urcu/uatomic/generic.h b/include/urcu/uatomic/generic.h
+index 5a81e00..5c8cb6c 100644
+--- a/include/urcu/uatomic/generic.h
++++ b/include/urcu/uatomic/generic.h
+@@ -15,6 +15,7 @@
+ */
+
+ #include <stdint.h>
++#include <stdlib.h>
+ #include <urcu/compiler.h>
+ #include <urcu/system.h>
+
+--
+2.25.1
+
@@ -12,7 +12,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c2a92498b6e88e276f986877995425b8 \
"
-SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2"
+SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \
+ file://0001-uatomic-generic.h-add-missing-stdlib.h-header-file-f.patch \
+ "
SRC_URI[sha256sum] = "4f2d839af67905ad396d6d53ba5649b66113d90840dcbc89941e0da64bccd38c"
We encountered the following error when building multipath-tools on qemuppc64 platform: | In file included from /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/ppc.h:228, | from /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic.h:73, | from lock.h:5, | from lock.c:1: | /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/generic.h: In function '_uatomic_and': | /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/generic.h:422:24: error: implicit declaration of function 'abort' [-Wimplicit-function-declaration] | 422 | oldt = uatomic_read((uint32_t *) addr); | | ^~~~~~~~~~~~ | /build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/recipe-sysroot/usr/include/urcu/uatomic/generic.h:1:1: note: include '<stdlib.h>' or provide a declaration of 'abort' | +++ |+#include <stdlib.h> | 1 | // SPDX-FileCopyrightText: 1991-1994 by Xerox Corporation. All rights reserved. | make[1]: *** [../Makefile.inc:155: lock.o] Error 1 | make[1]: Leaving directory '/build/tmp/work/ppc64p9le-wrs-linux/multipath-tools/0.10.0/git/libmultipath' Add stdlib.h header file for abort() in uatomic/generic.h. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- ...h-add-missing-stdlib.h-header-file-f.patch | 45 +++++++++++++++++++ .../recipes-support/liburcu/liburcu_0.15.0.bb | 4 +- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/liburcu/liburcu/0001-uatomic-generic.h-add-missing-stdlib.h-header-file-f.patch