[Mesa-dev] -fno-common build failures (default from upcoming gcc release 10)
dylan at pnwbakers.com
Tue Jan 28 19:45:39 UTC 2020
Quoting Ian Romanick (2020-01-21 09:50:47)
> On 1/20/20 6:41 AM, Stefan Dirsch wrote:
> > Hi
> > Starting from the upcoming GCC release 10, the default of -fcommon option will
> > change to -fno-common. Due to this we're going to see a lot of build failures
> It seems like many of the places where this would occur in Mesa are
> likely to be fine... but it would be easy enough to fix by sprinkling
> 'extern' around (if my understanding of the GCC docs is correct). It
> also seems unlikely that GCC will be able to apply any hypothetical
> optimizations to the uses in Mesa. I think most places where a global
> is intended to be isolated, we already decorate it with static.
> See also
> We definitely should decide which behavior we want, and we should start
> enforcing it sooner rather than later.
> > in Mesa drivers like
> > multiple definition of `syncobj_handle'; src/amd/vulkan/9198681@@vulkan_radeon at sha/meson-generated_.._radv_entrypoints.c.o (symbol from plugin):(.text+0x0): first defined here
> > [ 213s]
> > /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld:
> > src/amd/vulkan/9198681@@vulkan_radeon at sha/radv_wsi_wayland.c.o (symbol from
> > plugin): in function `radv_GetPhysicalDeviceWaylandPresentationSupportKHR':
> > I'm wondering if there is already anybody working on fixing these issues or is
> > it recommended to workaround it by setting -fcommon manually somehow? How can
> > the latter be done when using meson/ninja as build tool?
> I know you can do it with buildtype=plain, but that may be overkill for
> anything other than testing.
meson -Dc_args=-fcommon -Dcpp_args=-fcommon <other args>
will do what you want.
I agree that we should probably either add -fcommon or -fno-common to the
meson/scons/android build files, so that we don't get cases of "but this works
on my dev machine with $complier!"
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 228 bytes
More information about the mesa-dev