diff options
| author | Quentin Schulz <quentin.schulz@cherry.de> | 2025-08-21 17:24:08 +0200 |
|---|---|---|
| committer | Marge Bot <marge-bot@fdo.invalid> | 2025-09-15 12:18:37 +0000 |
| commit | b1a28b1165bd3d749064402d08c665dd7770aa9f (patch) | |
| tree | a474af55167e423744db5f25656d96eaba72c664 /meson.build | |
| parent | 6afe429b7c935335bd9382842ae5bc51095b550a (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>
Diffstat (limited to 'meson.build')
| -rw-r--r-- | meson.build | 2 |
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. |