kumquat-buildroot/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch
Tobias Waldekranz c86b69a16d 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 <tobias@waldekranz.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-10-26 22:35:14 +02:00

39 lines
1.2 KiB
Diff

From 68e6f83f223ebf3fbf0d94c0f4592e5e6773f0c1 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
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 <tobias@waldekranz.com>
---
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