Mesa (staging/20.0): meson: Link Gallium Nine with ld_args_build_id

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 14 17:58:37 UTC 2020


Module: Mesa
Branch: staging/20.0
Commit: 38e0d199cf3ae2b466463217fd0e5e7968226407
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=38e0d199cf3ae2b466463217fd0e5e7968226407

Author: Tobias Jakobi <tjakobi at math.uni-bielefeld.de>
Date:   Thu Apr  9 11:29:54 2020 +0200

meson: Link Gallium Nine with ld_args_build_id

This fixes an assertion in iris_disk_cache_init() when the initialization
goes through drm_create_adapter(), which lives in d3dadapter9.so.
In this case build_id_find_nhdr_for_addr() fails and returns NULL, since
the shared library does not include a build ID.

The issue can be reproduced with an iris capable GPU and Xnine, while
removing the shader cache prior to launching the application.

Fix this by doing the same as in 29ea92e6a1e8f5cb3295011d907ea211d6f8f644.

Fixes: 4756864cdc5f "iris: Start wiring up on-disk shader cache"
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4499>
(cherry picked from commit c38946e62ddce554d20bf913cebeebf25bf153a4)

---

 .pick_status.json                           | 2 +-
 src/gallium/targets/d3dadapter9/meson.build | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 1a14f0065cb..cbcf0427f2a 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -103,7 +103,7 @@
         "description": "meson: Link Gallium Nine with ld_args_build_id",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "4756864cdc5fee9602ab63a9fa2c4b459667a6c2"
     },
diff --git a/src/gallium/targets/d3dadapter9/meson.build b/src/gallium/targets/d3dadapter9/meson.build
index 0d29ca9624f..55b514f5add 100644
--- a/src/gallium/targets/d3dadapter9/meson.build
+++ b/src/gallium/targets/d3dadapter9/meson.build
@@ -57,7 +57,7 @@ libgallium_nine = shared_library(
   ],
   c_args : [c_vis_args, gallium_nine_c_args],
   cpp_args : [cpp_vis_args],
-  link_args : [ld_args_gc_sections, gallium_nine_ld_args],
+  link_args : [ld_args_build_id, ld_args_gc_sections, gallium_nine_ld_args],
   link_depends : gallium_nine_link_depends,
   link_with : gallium_nine_link_with,
   dependencies : [



More information about the mesa-commit mailing list