Quoting Eric Engestrom (2017-12-18 08:33:18) > 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).
Does this actually apply to the meson build? We don't have an intermediate convenience library in meson. > > 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
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev