20.1.0-rc4 Failed to build with LTO under clang + LLD
Toolchain version:
clang 10.0.0-2
lld 10.0.0-2
llvm 10.0.0-2
Compiler flags:
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
Meson arguments:
CC=clang CXX=clang++ CC_LD=lld CXX_LD=lld meson setup \
--prefix /usr \
--libexecdir lib \
--sbindir bin \
--buildtype plain \
--auto-features enabled \
--wrap-mode nodownload \
mesa-20.1.0-rc4 build \
-D b_pie=true \
-D b_lto=true \
-D b_ndebug=true \
-D platforms=x11,wayland,drm,surfaceless \
-D dri-drivers=i965 \
-D gallium-drivers=swrast,swr,iris \
-D vulkan-drivers=intel \
-D vulkan-overlay-layer=true \
-D swr-arches=avx,avx2 \
-D dri3=true \
-D egl=true \
-D gallium-extra-hud=true \
-D gallium-nine=true \
-D gallium-omx=disabled \
-D gallium-opencl=disabled \
-D gallium-va=false \
-D gallium-vdpau=false \
-D gallium-xa=false \
-D gallium-xvmc=false \
-D gbm=true \
-D gles1=false \
-D gles2=true \
-D glvnd=true \
-D glx=dri \
-D libunwind=true \
-D llvm=true \
-D lmsensors=true \
-D osmesa=gallium \
-D shared-glapi=true \
-D valgrind=true
Error message:
[93/1757] Linking target src/mapi/shared-glapi/libglapi.so.0.0.0
FAILED: src/mapi/shared-glapi/libglapi.so.0.0.0
clang -o src/mapi/shared-glapi/libglapi.so.0.0.0 'src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._entry.c.o' 'src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._mapi_glapi.c.o' 'src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._stub.c.o' 'src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._table.c.o' 'src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._u_current.c.o' 'src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._u_execmem.c.o' -flto -Wl,--as-needed -Wl,--no-undefined -fuse-ld=lld -shared -fPIC -Wl,--start-group -Wl,-soname,libglapi.so.0 -Wl,--end-group -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,--gc-sections -pthread
ld.lld: error: TLS attribute mismatch: _glapi_tls_Dispatch
>>> defined in src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._u_current.c.o
>>> defined in src/mapi/shared-glapi/e4b98b6@@glapi@sha/.._entry.c.o
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)