From c86b69a16dee0281d75890118110be934367430e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 20 Oct 2022 16:14:09 +0200 Subject: [PATCH] package/libbpf: install in the correct lib directory The libbpf build system currently uses the output of "uname -m" to determine if the library should be installed in "lib" or "lib64". However, uname -m returns the architecture of the build machine, which often has nothing to do with the target CPU architecture. A patch has been submitted and accepted upstream to address this issue, by using the $(CC) -dumpmachine output instead. This ensures libbpf is installed in either "lib" or "lib64" depending on the bitness of the target CPU architecture. Signed-off-by: Tobias Waldekranz Signed-off-by: Thomas Petazzoni --- ...cross-compilation-for-32-bit-targets.patch | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch diff --git a/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch b/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch new file mode 100644 index 0000000000..12c22f3147 --- /dev/null +++ b/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch @@ -0,0 +1,38 @@ +From 68e6f83f223ebf3fbf0d94c0f4592e5e6773f0c1 Mon Sep 17 00:00:00 2001 +From: Tobias Waldekranz +Date: Fri, 14 Oct 2022 21:14:14 +0200 +Subject: [PATCH] Makefile: Fix cross-compilation for 32-bit targets + +Determining the correct library installation path (lib vs. lib64) +using uname(1) breaks in cross compilation scenarios where word widths +differ between the host and target system. + +Instead, source the information from the compilers '-dumpmachine' +option (supported by both GCC and Clang). + +We call this the "host" architecture, using the same nomenclature as +Autotools (--host configure option). + +Upstream: https://github.com/libbpf/libbpf/commit/68e6f83f223ebf3fbf0d94c0f4592e5e6773f0c1 +Signed-off-by: Tobias Waldekranz +--- + src/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 3cd0854..d535f81 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -77,7 +77,8 @@ INSTALL = install + + DESTDIR ?= + +-ifeq ($(filter-out %64 %64be %64eb %64le %64el s390x, $(shell uname -m)),) ++HOSTARCH = $(firstword $(subst -, ,$(shell $(CC) -dumpmachine))) ++ifeq ($(filter-out %64 %64be %64eb %64le %64el s390x, $(HOSTARCH)),) + LIBSUBDIR := lib64 + else + LIBSUBDIR := lib +-- +2.34.1 +