Mesa (staging/20.3): radv: Add Android module info to linker script.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 13 00:04:29 UTC 2021


Module: Mesa
Branch: staging/20.3
Commit: b439d0e679cd16817bb0a62ba8dc91d4cc8d7c66
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b439d0e679cd16817bb0a62ba8dc91d4cc8d7c66

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Jan 12 12:47:59 2021 +0100

radv: Add Android module info to linker script.

The Android Vulkan loader needs this symbol, so the addition of the
linker script broke Vulkan for Android.

(For non-Android builds: I checked that having a non-existent symbol in
 the linker script works ok and doesn't put the symbol in the library)

Fixes: 41bb6459d3a ("radv: restrict exported symbols with static llvm")
Acked-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8437>
(cherry picked from commit 4956f6d0bf477568731f3965125299b8857d5835)

---

 .pick_status.json         | 2 +-
 src/amd/vulkan/vulkan.sym | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 2ca59aa8dff..dea21bea3f2 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -112,7 +112,7 @@
         "description": "radv: Add Android module info to linker script.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "41bb6459d3a7dba21ff811069dc4757d7789fd12"
     },
diff --git a/src/amd/vulkan/vulkan.sym b/src/amd/vulkan/vulkan.sym
index c85a22e905a..2ca40faa09e 100644
--- a/src/amd/vulkan/vulkan.sym
+++ b/src/amd/vulkan/vulkan.sym
@@ -4,6 +4,11 @@
 		vk_icdGetPhysicalDeviceProcAddr;
 		vk_icdNegotiateLoaderICDInterfaceVersion;
 
+		# Andoid looks for this global in HAL modules. In the source it occurs
+		# as HAL_MODULE_INFO_SYM (which is just a #define for HMI) and it's an
+		# instance of struct hwvulkan_module_t.
+		HMI;
+
 	local:
 		# When static linking LLVM, all its symbols are public API.
 		# That may cause symbol collision, so explicitly demote everything.



More information about the mesa-commit mailing list