c86b69a16d
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>
39 lines
1.2 KiB
Diff
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
|
|
|