[Mesa-dev] [PATCH 2/2] megadriver: explicitly link against glapi, link with -no-undefined
Frank Henigman
fjhenigman at google.com
Thu Oct 30 14:20:41 PDT 2014
This lets me remove a dlopen("libglapi.so") hack from chrome, and
avoid adding one to waffle, yay.
I suspect a lot people were forced into the dlopen hack, a quick
search found a few, see
https://bugs.freedesktop.org/show_bug.cgi?id=57702
Tested-by: Frank Henigman <fjhenigman at google.com>
On Sat, Oct 25, 2014 at 11:21 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> From: Jon TURNEY <jon.turney at dronecode.org.uk>
>
> Currently the dri modules contain unresolved glapi symbols which were
> provided by xserver 1.14 and older. Since 1.15 the xserver does not
> provide them and mesa's glapi is the only provider.
>
> As discussed with Adam Jackson, the new (linked against glapi) dri
> modules should still work with older xserver, so let's fix this.
>
> Thus way no library provided by mesa is provides libraries with
> unresolved symbols :)
>
> v2 [Emil Velikov]
> - Rebase on top of master, reword commit message.
> - Use tabs instead of spaces in makefile.
>
> Cc: Adam Jackson <ajax at redhat.com>
> Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
> src/mesa/drivers/dri/Makefile.am | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/Makefile.am b/src/mesa/drivers/dri/Makefile.am
> index 2009da9..6075f71 100644
> --- a/src/mesa/drivers/dri/Makefile.am
> +++ b/src/mesa/drivers/dri/Makefile.am
> @@ -51,10 +51,15 @@ driinclude_HEADERS = $(top_srcdir)/include/GL/internal/dri_interface.h
> nodist_EXTRA_mesa_dri_drivers_la_SOURCES = dummy.cpp
> mesa_dri_drivers_la_SOURCES =
> mesa_dri_drivers_la_LDFLAGS = \
> - -module -avoid-version -shared -shrext .so \
> - $(BSYMBOLIC) \
> - $(GC_SECTIONS) \
> - $()
> + -shared \
> + -shrext .so \
> + -module \
> + -no-undefined \
> + -avoid-version \
> + $(BSYMBOLIC) \
> + $(GC_SECTIONS) \
> + $(LD_NO_UNDEFINED) \
> + $()
> mesa_dri_drivers_la_LIBADD = \
> ../../libmesa.la \
> common/libmegadriver_stub.la \
> @@ -63,6 +68,12 @@ mesa_dri_drivers_la_LIBADD = \
> $(DRI_LIB_DEPS) \
> $()
>
> +if HAVE_SHARED_GLAPI
> +mesa_dri_drivers_la_LIBADD += $(top_builddir)/src/mapi/shared-glapi/libglapi.la
> +else
> +mesa_dri_drivers_la_LIBADD += $(top_builddir)/src/mapi/glapi/libglapi.la
> +endif
> +
> if NEED_MEGADRIVER
> dri_LTLIBRARIES = mesa_dri_drivers.la
>
> --
> 2.1.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list