From: Brendan King <brendan.k...@imgtec.com> DRI modules store the address of the dispatch table in a TLS variable, _glapi_tls_Dispatch.
Changes to the way libEGL is built in d884d8d0077c16d459b1 resulted in it being statically linked against libglapi, and thus containing its own copy of _glapi_tls_Dispatch. The result was that some applications would fail to work (e.g. deqp-egl, which dynamically loads libEGL), due to the DRI module storing the dispatch table address in one copy of _glapi_tls_Dispatch, and libEGL obtaining the address from another copy of the variable. This applies to autotools builds with --enable-glx-tls (on by default), and Meson builds (unconditional). Fixes: d884d8d0077c16d459b1 "egl/dri: link directly to libglapi.so" Signed-off-by: Brendan King <brendan.k...@imgtec.com> Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com> --- This issue was noticed in the PowerVR driver. It's unclear whether other DRI drivers are affected as well. --- src/egl/Makefile.am | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am index 66ba455..58db2c3 100644 --- a/src/egl/Makefile.am +++ b/src/egl/Makefile.am @@ -46,7 +46,6 @@ libEGL_common_la_SOURCES = \ $(LIBEGL_C_FILES) libEGL_common_la_LIBADD = \ - $(top_builddir)/src/mapi/shared-glapi/libglapi.la \ $(top_builddir)/src/util/libmesautil.la \ $(EGL_LIB_DEPS) @@ -171,7 +170,9 @@ libEGL_mesa_la_SOURCES = \ main/egldispatchstubs.c \ g_egldispatchstubs.c \ g_egldispatchstubs.h -libEGL_mesa_la_LIBADD = libEGL_common.la +libEGL_mesa_la_LIBADD = \ + libEGL_common.la \ + $(top_builddir)/src/mapi/shared-glapi/libglapi.la libEGL_mesa_la_LDFLAGS = \ -no-undefined \ -version-number 0 \ @@ -183,7 +184,9 @@ else # USE_LIBGLVND lib_LTLIBRARIES = libEGL.la libEGL_la_SOURCES = -libEGL_la_LIBADD = libEGL_common.la +libEGL_la_LIBADD = \ + libEGL_common.la \ + $(top_builddir)/src/mapi/shared-glapi/libglapi.la libEGL_la_LDFLAGS = \ -no-undefined \ -version-number 1:0 \ -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev