diff mbox series

[v2] kernel-arch: add macro-prefix-map in KERNEL_CC

Message ID 20250307-fix_tmpdir_v2-v2-1-3660de636207@phytec.de
State Accepted, archived
Commit a741e11751bfb8f52be58cf51abeddca4559e5e9
Headers show
Series [v2] kernel-arch: add macro-prefix-map in KERNEL_CC | expand

Commit Message

Stefan Müller-Klieser March 7, 2025, 1:43 p.m. UTC
When building external modules, macros can include absolute names of
kernel headers. The macro-prefix-map for the STAGING_KERNEL_DIR is
currently missing. Add it in the same way as its done in bitbake.conf.

This fixes reproducible builds and following build error:
ERROR: cryptodev-module-1.14-r0 do_package_qa: QA Issue: File <..>
cryptodev.ko <..> contains reference to TMPDIR [buildpaths]

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
---
v2:
- add macro-prefix-map instead of switching to file-prefix-map
- unify settings to mirror bitbake.conf
---
 meta/classes-recipe/kernel-arch.bbclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)


---
base-commit: fec201518be3c35a9359ec8c37675a33e458b92d
change-id: 20250307-fix_tmpdir_v2-aa78867d8476
prerequisite-change-id: 20250305-fix_tmpdir-501249b96b16:v1
prerequisite-patch-id: 54d70209fa3ce2ad374d98d2b1c8062e55afb548

Best regards,
diff mbox series

Patch

diff --git a/meta/classes-recipe/kernel-arch.bbclass b/meta/classes-recipe/kernel-arch.bbclass
index b32f6137a2..36a6e0a60a 100644
--- a/meta/classes-recipe/kernel-arch.bbclass
+++ b/meta/classes-recipe/kernel-arch.bbclass
@@ -71,7 +71,13 @@  HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
 TARGET_OBJCOPY_KERNEL_ARCH ?= ""
 HOST_OBJCOPY_KERNEL_ARCH ?= "${TARGET_OBJCOPY_KERNEL_ARCH}"
 
-KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -fdebug-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}"
+KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} \
+ -fuse-ld=bfd ${DEBUG_PREFIX_MAP} \
+ -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} \
+ -fmacro-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} \
+ -fdebug-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH} \
+ -fmacro-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH} \
+"
 KERNEL_LD = "${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
 KERNEL_AR = "${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}"
 KERNEL_OBJCOPY = "${HOST_PREFIX}objcopy ${HOST_OBJCOPY_KERNEL_ARCH}"