From 1656c0abb57e8089d4087f62f9412a2f13a03a38 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 9 Jul 2026 17:27:55 +0000 Subject: [PATCH] bpftrace: fix patch context so -fno-stack-protector applies to test object The 0003 patch that links the data_source test carrier binary without the host runtime also adds -fno-stack-protector to the object compile line, needed because host gcc toolchains default to -fstack-protector-strong and the -nostdlib link then fails with: data_source.c:212: undefined reference to `__stack_chk_fail' However patch 0001 (DEBUG_PREFIX_MAP) runs first in SRC_URI and rewrites the same compile line to insert ${DEBUG_PREFIX_MAP_LIST}, so 0003's first hunk no longer matched the tree and the -fno-stack-protector flag was silently dropped from the object compile (it only landed on the link line). Rebase 0003's first hunk onto the post-0001 context so the flag is applied where it is needed. Signed-off-by: Khem Raj --- ...cmake-BuildBPF.cmake-link-data-source-binary-without.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0003-cmake-BuildBPF.cmake-link-data-source-binary-without.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0003-cmake-BuildBPF.cmake-link-data-source-binary-without.patch index 7a69d0f8c1..695f709d6b 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0003-cmake-BuildBPF.cmake-link-data-source-binary-without.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0003-cmake-BuildBPF.cmake-link-data-source-binary-without.patch @@ -62,8 +62,8 @@ index cb8cd68..8aa059f 100644 OUTPUT ${ARG_OBJECT} DEPENDS ${ARG_SOURCE} ${ARG_DEPENDS} # See above: fresh compilation and the use of `gcc`. -- COMMAND ${GCC} -Wno-attributes -g -I ${CMAKE_CURRENT_BINARY_DIR} -c ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SOURCE} -o ${CMAKE_CURRENT_BINARY_DIR}/${ARG_OBJECT} -+ COMMAND ${GCC} -Wno-attributes -fno-stack-protector -g -I ${CMAKE_CURRENT_BINARY_DIR} -c ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SOURCE} -o ${CMAKE_CURRENT_BINARY_DIR}/${ARG_OBJECT} +- COMMAND ${GCC} -Wno-attributes -g ${DEBUG_PREFIX_MAP_LIST} -I ${CMAKE_CURRENT_BINARY_DIR} -c ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SOURCE} -o ${CMAKE_CURRENT_BINARY_DIR}/${ARG_OBJECT} ++ COMMAND ${GCC} -Wno-attributes -fno-stack-protector -g ${DEBUG_PREFIX_MAP_LIST} -I ${CMAKE_CURRENT_BINARY_DIR} -c ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SOURCE} -o ${CMAKE_CURRENT_BINARY_DIR}/${ARG_OBJECT} COMMAND cmake -E env LLVM_OBJCOPY=${LLVM_OBJCOPY} ${PAHOLE} -J ${CMAKE_CURRENT_BINARY_DIR}/${ARG_OBJECT} VERBATIM )