February 19, 2018 12:25 PM, "Alexander von Gluck IV" <kallis...@unixzen.com> wrote:
> --- > meson.build | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/meson.build b/meson.build > index 6fc7ec7fc9..54572a5bb8 100644 > --- a/meson.build > +++ b/meson.build > @@ -331,7 +331,6 @@ if with_egl and not (with_platform_drm or > with_platform_surfaceless) > endif > endif > > -pre_args += '-DGLX_USE_TLS' > if with_glx != 'disabled' > if not (with_platform_x11 and with_any_opengl) > if with_glx == 'auto' > @@ -365,6 +364,10 @@ if with_glvnd > endif > endif > > +if with_glx != 'disabled' > + pre_args += '-DGLX_USE_TLS' > +endif > + > # TODO: toggle for this > with_glx_direct = true Some comments on this one. I was seeing problems loading static TLS binaries on Haiku, turns out GLX_USE_TLS impacts more than just GLX. I'm guessing our (non-glx) libGL.so is getting it via libglapi linkages. https://kallisti5.keybase.pub/Screenshots/meson_build_tls.png Thanks to Dylan for figuring this one out. This was discussed previously on the ML " This can be applied to all GLX implementations, and in autotools this is guarded only by the --enable-glx-tls flag. Since this is on by default in autotools, and is strictly better than being off, the meson build doesn't even have a toggle for it. " Since the GLX_USE_TLS reaches beyond GLX, i'm guarding it with_glx after the glx auto-detection tri-state (which can disable it) I noticed under Fedora the Meson-built libGL differs from the system's in terms of TLS.. not sure if relevant (or an issue) meson-compiled HEAD: $ readelf -a ./src/glx/libGL.so | grep TLS L (link order), O (extra OS processing required), G (group), T (TLS), TLS 0x0000000000068d68 0x0000000000268d68 0x0000000000268d68 0x000000000000001e (FLAGS) SYMBOLIC STATIC_TLS 214: 0000000000000000 0 TLS GLOBAL DEFAULT UND _glapi_tls_Dispatch 934: 0000000000000000 8 TLS LOCAL DEFAULT 17 __glX_tls_Context 2900: 0000000000000000 0 TLS GLOBAL DEFAULT UND _glapi_tls_Dispatch mesa-libGL-17.2.4-3.fc27.x86_64: $ readelf -a /usr/lib/libGL.so.1.0.0 | grep TLS L (link order), O (extra OS processing required), G (group), T (TLS), 0x0000001e (FLAGS) BIND_NOW STATIC_TLS 0005fff4 0000110e R_386_TLS_TPOFF 00000000 _glapi_tls_Current 17: 00000000 0 TLS GLOBAL DEFAULT UND _glapi_tls_Current -- Alex _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev