summaryrefslogtreecommitdiff
path: root/src/egl
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2013-09-27 14:01:48 -0700
committerCarl Worth <cworth@cworth.org>2013-09-30 15:49:16 -0700
commit9baf35de5cd4a0d832ee185afb709868fd55bc93 (patch)
treee72e0910a6ec458def77d3e8001cf6ed2eb359ce /src/egl
parent4c4934636cb286e7d7836afc26e9d392e2f0f155 (diff)
Use -Bsymbolic when linking libEGL.so
For some reason that I don't yet fully understand, Glaze does not work with libEGL unless libEGL is linked with -Bsymbolic.[*] Beyond that specific reason, all of the reasons for which libGL.so is linked with -Bsymbolic, (see the commit history), should also apply here. [*] The specific behavior I am seeing is that when Glaze calls dlopen for libEGL.so, ifunc resolvers within Glaze for EGL functions are called before the dlopen returns. These resolvers cannot succeed, as they need the return value from dlopen in order to find the functions to resolve to. I don't know what's causing these resolvers to be called, but I have verified that linking libEGL with -Bsymbolic causes this problematic behavior to stop. CC: "9.1 and 9.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Diffstat (limited to 'src/egl')
-rw-r--r--src/egl/main/Makefile.am2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am
index 2e438601544..786406aa71a 100644
--- a/src/egl/main/Makefile.am
+++ b/src/egl/main/Makefile.am
@@ -73,7 +73,7 @@ libEGL_la_SOURCES = \
libEGL_la_LIBADD = \
$(EGL_LIB_DEPS)
-libEGL_la_LDFLAGS = -version-number 1:0 -no-undefined
+libEGL_la_LDFLAGS = -Wl,-Bsymbolic -version-number 1:0 -no-undefined
if HAVE_EGL_PLATFORM_X11
AM_CFLAGS += -DHAVE_X11_PLATFORM