[Mesa-dev] [PATCH] radv: mark const structs as extern in header file to avoid lto damage
Samuel Pitoiset
samuel.pitoiset at gmail.com
Fri Apr 13 07:27:28 UTC 2018
Acked-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
On 04/13/2018 04:41 AM, Dave Airlie wrote:
> 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;
>
More information about the mesa-dev
mailing list