[Mesa-dev] [PATCH] radv: mark const structs as extern in header file to avoid lto damage
Dave Airlie
airlied at gmail.com
Fri Apr 13 02:41:14 UTC 2018
From: Dave Airlie <airlied at redhat.com>
The copr repo from che was using LTO and he reported radv broke
recently with it. When testing with lto builds here I noticed
that we weren't seeing any instance extensions reported.
It appears LTO was treating the const without extern as an empty
struct, this is possibly a gcc bug, but we can work around it
just by marking these with extern.
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/amd/vulkan/radv_extensions.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py
index db37d617f9..ae9396c43a 100644
--- a/src/amd/vulkan/radv_extensions.py
+++ b/src/amd/vulkan/radv_extensions.py
@@ -199,9 +199,9 @@ struct radv_device_extension_table {
};
};
-const VkExtensionProperties radv_instance_extensions[RADV_INSTANCE_EXTENSION_COUNT];
-const VkExtensionProperties radv_device_extensions[RADV_DEVICE_EXTENSION_COUNT];
-const struct radv_instance_extension_table radv_supported_instance_extensions;
+extern const VkExtensionProperties radv_instance_extensions[RADV_INSTANCE_EXTENSION_COUNT];
+extern const VkExtensionProperties radv_device_extensions[RADV_DEVICE_EXTENSION_COUNT];
+extern const struct radv_instance_extension_table radv_supported_instance_extensions;
struct radv_physical_device;
--
2.14.3
More information about the mesa-dev
mailing list