mesa: add patch to link radv with build-id

Without this, the radv cache uuid would fall back to using the
timestamps of the radv and llvm shared libraries, which are fixed in
/nix/store.  This caused cache collisons, which resulted in crashes
(e.g. #92807).
This commit is contained in:
David McFarland 2020-07-26 23:12:10 -03:00 committed by Michael Weiss
parent d42bcde652
commit 535a3e8d48
No known key found for this signature in database
GPG key ID: 5BE487C4D4771D83
2 changed files with 27 additions and 0 deletions

View file

@ -58,6 +58,7 @@ stdenv.mkDerivation {
./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl
./opencl-install-dir.patch
./disk_cache-include-dri-driver-path-in-cache-key.patch
./link-radv-with-ld_args_build_id.patch
] # do not prefix user provided dri-drivers-path
++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch";

View file

@ -0,0 +1,26 @@
From 00f3c6d1b771c11ecc08c3d8bd793a51d6e64166 Mon Sep 17 00:00:00 2001
From: David McFarland <corngood@gmail.com>
Date: Sun, 26 Jul 2020 17:29:49 -0300
Subject: [PATCH] link radv with ld_args_build_id
This is needed for radv_device_get_cache_uuid to work correctly.
---
src/amd/vulkan/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build
index efcf2dd6c89..590f286b8cb 100644
--- a/src/amd/vulkan/meson.build
+++ b/src/amd/vulkan/meson.build
@@ -173,7 +173,7 @@ libvulkan_radeon = shared_library(
],
c_args : [c_vis_args, no_override_init_args, radv_flags],
cpp_args : [cpp_vis_args, radv_flags],
- link_args : [ld_args_bsymbolic, ld_args_gc_sections],
+ link_args : [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections],
install : true,
)
--
2.27.0