diff mbox series

liburcu: add missing header file in uatomic/generic.h

Message ID 20250208044124.2358670-1-yi.zhao@windriver.com
State Accepted, archived
Commit 6dd6da04485152971346ee3fc09402c72aacbf22
Headers show
Series liburcu: add missing header file in uatomic/generic.h | expand

Commit Message

Yi Zhao Feb. 8, 2025, 4:41 a.m. UTC
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
diff mbox series

Patch

diff --git a/meta/recipes-support/liburcu/liburcu/0001-uatomic-generic.h-add-missing-stdlib.h-header-file-f.patch b/meta/recipes-support/liburcu/liburcu/0001-uatomic-generic.h-add-missing-stdlib.h-header-file-f.patch
new file mode 100644
index 0000000000..5872f45f43
--- /dev/null
+++ b/meta/recipes-support/liburcu/liburcu/0001-uatomic-generic.h-add-missing-stdlib.h-header-file-f.patch
@@ -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
+
diff --git a/meta/recipes-support/liburcu/liburcu_0.15.0.bb b/meta/recipes-support/liburcu/liburcu_0.15.0.bb
index 95d9ba17e1..a029b88111 100644
--- a/meta/recipes-support/liburcu/liburcu_0.15.0.bb
+++ b/meta/recipes-support/liburcu/liburcu_0.15.0.bb
@@ -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"