From c5cdb3b918840a3d6d8f1f8af933dda5d98b4000 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan <andrei.gherzan@huawei.com> Date: Mon, 23 Aug 2021 14:30:26 +0100 Subject: [PATCH] networkmanager: Fix builds with musl On musl, build would fail with: | In file included from ../NetworkManager-1.22.10/shared/systemd/src/basic/env-util.c:11: | ../NetworkManager-1.22.10/shared/systemd/src/basic/alloc-util.h:100:35: error: static declaration of 'reallocarray' follows non-static declaration | 100 | _alloc_(2, 3) static inline void *reallocarray(void *p, size_t need, size_t size) { | | ^~~~~~~~~~~~ | In file included from ../NetworkManager-1.22.10/shared/nm-default.h:184, | from ../NetworkManager-1.22.10/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:9, | from ../NetworkManager-1.22.10/shared/systemd/src/basic/env-util.c:3: | [...]/build-linux/tmp/work/aarch64-poky-linux-musl/networkmanager/1.22.10-r0/recipe-sysroot/usr/include/stdlib.h:148:7: note: previous declaration of 'reallocarray' with type 'void *(void *, size_t, size_t)' {aka 'void *(void *, long unsigned int, long unsigned int)'} | 148 | void *reallocarray (void *, size_t, size_t); | | ^~~~~~~~~~~~ This is because musl does't provide reallocarray as part of malloc.h but only as part of stdlib.h. Configure script was modified to check for its definition in stdlib.h as well (backported patch). Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Bernhard Rosenkraenzer <bernhard.rosenkraenzer.ext@huawei.com> [adapt filename in .bbappend to match the actual patch filename] --- .../fix-reallocarray-check.patch | 24 +++++++++++++++++++ .../fix-reallocarray-check.patch.license | 3 +++ .../networkmanager_1.22.10.bbappend | 7 ++++++ 3 files changed, 34 insertions(+) create mode 100644 meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch create mode 100644 meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch.license create mode 100644 meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager_1.22.10.bbappend diff --git a/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch b/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch new file mode 100644 index 00000000..9fd0a172 --- /dev/null +++ b/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch @@ -0,0 +1,24 @@ +From c992f460c74bee491f831a21326f51c907376ebf Mon Sep 17 00:00:00 2001 +From: Leo <thinkabit.ukim@gmail.com> +Date: Thu, 10 Dec 2020 08:10:40 -0300 +Subject: [PATCH] build: check for reallocarray in stdlib.h + +Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> +Upstream-status: Backport + +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index f86cda69ac0..8fd65d13713 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -83,6 +83,7 @@ AC_CHECK_DECLS([ + reallocarray], + [], [], [[ + #include <malloc.h> ++#include <stdlib.h> + ]]) + + AC_CHECK_DECLS([ diff --git a/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch.license b/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch.license new file mode 100644 index 00000000..98a0b3f4 --- /dev/null +++ b/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager-1.22.10/fix-reallocarray-check.patch.license @@ -0,0 +1,3 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 diff --git a/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager_1.22.10.bbappend b/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager_1.22.10.bbappend new file mode 100644 index 00000000..8baf5c25 --- /dev/null +++ b/meta-ohos-staging/recipes-connectivity/networkmanager/networkmanager_1.22.10.bbappend @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" + +SRC_URI_append = " file://fix-reallocarray-check.patch" -- GitLab