summaryrefslogtreecommitdiffstats
path: root/graphics-libs/mesa/patches-stable/add-use-elf-tls.patch
diff options
context:
space:
mode:
Diffstat (limited to 'graphics-libs/mesa/patches-stable/add-use-elf-tls.patch')
-rw-r--r--graphics-libs/mesa/patches-stable/add-use-elf-tls.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/graphics-libs/mesa/patches-stable/add-use-elf-tls.patch b/graphics-libs/mesa/patches-stable/add-use-elf-tls.patch
new file mode 100644
index 0000000000..b22246c81c
--- /dev/null
+++ b/graphics-libs/mesa/patches-stable/add-use-elf-tls.patch
@@ -0,0 +1,43 @@
+Upstream: https://gitlab.freedesktop.org/mesa/mesa/issues/966
+Origin: Void Linux
+Status: Pending
+
+diff --git meson.build meson.build
+index e1e94e71049..96ab3fb3e45 100644
+--- a/meson.build
++++ b/meson.build
+@@ -481,6 +481,9 @@ foreach platform : _platforms
+ pre_args += '-DHAVE_@0@_PLATFORM'.format(platform.to_upper())
+ endforeach
+
++use_elf_tls = false
++with_use_elf_tls = get_option('use-elf-tls')
++if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and with_use_elf_tls)
+ use_elf_tls = true
+ pre_args += '-DUSE_ELF_TLS'
+
+@@ -491,6 +494,7 @@ if with_platform_android and get_option('platform-sdk-version') >= 29
+ c_args += '-fno-emulated-tls'
+ cpp_args += '-fno-emulated-tls'
+ endif
++endif
+
+ # -mtls-dialect=gnu2 speeds up non-initial-exec TLS significantly but requires
+ # full toolchain (including libc) support.
+diff --git meson_options.txt meson_options.txt
+index a7030aba31e..966cfeca298 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -446,6 +446,12 @@ option(
+ value : 25,
+ description : 'Android Platform SDK version. Default: Nougat version.'
+ )
++option(
++ 'use-elf-tls',
++ type : 'boolean',
++ value : true,
++ description : 'Build support for initial-exec TLS model'
++)
+ option(
+ 'zstd',
+ type : 'combo',