From: Dave Airlie Date: Fri, 13 Apr 2018 02:40:55 +0000 (+1000) Subject: radv: mark const structs as extern in header file to avoid lto damage X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a8420e253038fd4ef063af4ee370038075ee7aeb;p=mesa.git radv: mark const structs as extern in header file to avoid lto damage 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. Acked-by: Samuel Pitoiset Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index dbe0ff4ac5a..ec34551696e 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -195,9 +195,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;