About Social Code
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Schulz <quentin.schulz@cherry.de>2025-08-21 17:24:08 +0200
committerMarge Bot <marge-bot@fdo.invalid>2025-09-15 12:18:37 +0000
commitb1a28b1165bd3d749064402d08c665dd7770aa9f (patch)
treea474af55167e423744db5f25656d96eaba72c664
parent6afe429b7c935335bd9382842ae5bc51095b550a (diff)
meson: fix libcl assert() reproducibility
The current -fmacro-prefix-map only handles removal of relative paths but we still need to handle absolute paths. The following path can be found in libvulkan_panfrost.so when building with Yocto for example: /work/build/tmp/work/cortexa76-cortexa55-crypto-poky-linux/mesa/25.2.0/sources/mesa-25.2.0/src/panfrost/libpan/../../util/bitpack_helpers.h These paths currently seem to only appear in the binary in strings that start with "Shader assertion fail at " which seems to indicate there are calls to assert() with absolute paths as well as relative paths (which are already patched with fmacro-prefix-map). By stripping the project source and build root directories from the paths with -fmacro-prefix-map, we get rid of this reproducibility issue (which incidentally makes the build fail due to buildpaths QA issue). Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36927>
-rw-r--r--meson.build2
1 files changed, 2 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 67ce350271a..ad3f677596d 100644
--- a/meson.build
+++ b/meson.build
@@ -52,6 +52,8 @@ relative_dir = fs.relative_to(meson.project_source_root(), meson.project_build_r
cl_args = [
'-fmacro-prefix-map=@0@/='.format(relative_dir),
+ '-fmacro-prefix-map=@0@/='.format(meson.project_source_root()),
+ '-fmacro-prefix-map=@0@/='.format(meson.project_build_root()),
# Set the OpenCL standard to CL 2.0, enabling everything at a frontend.
# Drivers may not actually support everything but that's ok.