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

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.

(From OE-Core rev: 6dd6da04485152971346ee3fc09402c72aacbf22)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yi Zhao 2025-02-08 12:41:24 +08:00 committed by Richard Purdie
parent fe5eb41c4c
commit a886f0a8cd
2 changed files with 48 additions and 1 deletions

View File

@ -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

View File

@ -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"