intel: TLSDESC build breakage
Since 60d95c5d, my release build fails:
[1/66] ccache /usr/bin/g++-10 -Isrc/intel/compiler/libintel_compiler.a.p -Isrc/intel/compiler -I../src/intel/compiler -Iinclude -I../include -Isrc -I../src -Isrc/mapi -I../src/mapi -Isrc/mesa -I../src/mesa -I../src/gallium/include -Isrc/intel -I../src/intel -Isrc/compiler/nir -I../src/compiler/nir -Isrc/util -I../src/util -Isrc/compiler -I/usr/include/valgrind -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++14 -O3 -ffunction-sections -fdata-sections -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="22.0.0-devel"' '-DPACKAGE_BUGREPORT="https://gitlab.freedesktop.org/mesa/mesa/-/issues"' -DHAVE_X11_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_DRM_PLATFORM -DHAVE_XCB_PLATFORM -DUSE_ELF_TLS -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM -DENABLE_SHADER_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL -DHAVE___BUILTIN_UNREACHABLE -DHAVE___BUILTIN_TYPES_COMPATIBLE_P -DHAVE_FUNC_ATTRIBUTE_CONST -DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC -DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK -DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_ALIAS -DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_UINT128 -D_GNU_SOURCE -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS -DUSE_X86_64_ASM -DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H -DHAVE_CET_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_TIMESPEC_GET -DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_GETRANDOM -DHAVE_QSORT_R -DHAVE_PROGRAM_INVOCATION_NAME -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -DHAVE_ZSTD -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM -DHAVE_LIBUDEV -DLLVM_AVAILABLE '-DMESA_LLVM_VERSION_STRING="13.0.0"' -DLLVM_IS_SHARED=1 -DDRAW_LLVM_AVAILABLE -DHAVE_VALGRIND -DMESA_EXECMEM -DHAVE_LIBUNWIND -DWL_HIDE_DEPRECATED -DHAVE_OPENMP -DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS -DHAVE_LIBSENSORS=1 -DVK_USE_PLATFORM_DISPLAY_KHR -mtls-dialect=gnu2 -Werror=return-type -Werror=empty-body -Wno-non-virtual-dtor -Wno-missing-field-initializers -Wno-format-truncation -fno-math-errno -fno-trapping-math -flifetime-dse=1 -Werror=format -Wformat-security -fno-omit-frame-pointer -fPIC -pthread -MD -MQ src/intel/compiler/libintel_compiler.a.p/brw_eu.cpp.o -MF src/intel/compiler/libintel_compiler.a.p/brw_eu.cpp.o.d -o src/intel/compiler/libintel_compiler.a.p/brw_eu.cpp.o -c ../src/intel/compiler/brw_eu.cpp
[...]
/usr/bin/g++-10 -o src/intel/vulkan/state_pool_no_free src/intel/vulkan/state_pool_no_free.p/tests_state_pool_no_free.c.o -Wl,--as-needed -Wl,--no-undefined -fuse-ld=lld -Wl,-O1 -Wl,--whole-archive -Wl,--start-group src/vulkan/runtime/libvulkan_runtime.a -Wl,--no-whole-archive src/intel/vulkan/libvulkan_intel_test.a src/intel/vulkan/libanv_per_hw_ver70.a src/intel/vulkan/libanv_per_hw_ver75.a src/intel/vulkan/libanv_per_hw_ver80.a src/intel/vulkan/libanv_per_hw_ver90.a src/intel/vulkan/libanv_per_hw_ver110.a src/intel/vulkan/libanv_per_hw_ver120.a src/intel/vulkan/libanv_per_hw_ver125.a src/intel/compiler/libintel_compiler.a src/util/libmesa_util.a src/util/format/libmesa_format.a src/intel/common/libintel_common.a src/intel/isl/libisl.a src/intel/isl/libisl_per_hw_ver40.a src/intel/isl/libisl_per_hw_ver50.a src/intel/isl/libisl_per_hw_ver60.a src/intel/isl/libisl_per_hw_ver70.a src/intel/isl/libisl_per_hw_ver75.a src/intel/isl/libisl_per_hw_ver80.a src/intel/isl/libisl_per_hw_ver90.a src/intel/isl/libisl_per_hw_ver110.a src/intel/isl/libisl_per_hw_ver120.a src/intel/isl/libisl_per_hw_ver125.a src/intel/isl/libisl_tiled_memcpy.a src/intel/isl/libisl_tiled_memcpy_sse41.a src/intel/dev/libintel_dev.a src/intel/blorp/libblorp.a src/intel/perf/libintel_perf.a src/compiler/nir/libnir.a src/compiler/libcompiler.a src/vulkan/util/libvulkan_util.a src/intel/vulkan/libanv_common.a src/vulkan/wsi/libvulkan_wsi.a src/util/libxmlconfig.a /usr/lib/x86_64-linux-gnu/libdrm.so -pthread -lm -ldl /usr/lib/x86_64-linux-gnu/libxcb-dri3.so /usr/lib/x86_64-linux-gnu/libwayland-client.so /usr/lib/x86_64-linux-gnu/libXrandr.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libzstd.so /usr/lib/x86_64-linux-gnu/libunwind.so /usr/lib/x86_64-linux-gnu/libexpat.so /usr/lib/x86_64-linux-gnu/libxcb.so /usr/lib/x86_64-linux-gnu/libX11-xcb.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libxcb-present.so /usr/lib/x86_64-linux-gnu/libxcb-sync.so /usr/lib/x86_64-linux-gnu/libxcb-randr.so /usr/lib/x86_64-linux-gnu/libxcb-shm.so /usr/lib/x86_64-linux-gnu/libxshmfence.so /usr/lib/x86_64-linux-gnu/libudev.so -Wl,--end-group
ld.lld: error: brw_eu.cpp:(function brw_opcode_desc: .text.brw_opcode_desc+0xF): R_X86_64_GOTPC32_TLSDESC must be used in callq *x@tlsdesc(%rip), %rax
ld.lld: error: brw_eu.cpp:(function brw_opcode_desc: .text.brw_opcode_desc+0x4D): R_X86_64_GOTPC32_TLSDESC must be used in callq *x@tlsdesc(%rip), %rax
ld.lld: error: brw_eu.cpp:(function brw_opcode_desc_from_hw: .text.brw_opcode_desc_from_hw+0xF): R_X86_64_GOTPC32_TLSDESC must be used in callq *x@tlsdesc(%rip), %rax
ld.lld: error: brw_eu.cpp:(function brw_opcode_desc_from_hw: .text.brw_opcode_desc_from_hw+0x4D): R_X86_64_GOTPC32_TLSDESC must be used in callq *x@tlsdesc(%rip), %rax
collect2: error: ld returned 1 exit status