Use -Bsymbolic when linking libEGL.so
authorCarl Worth <cworth@cworth.org>
Fri, 27 Sep 2013 21:01:48 +0000 (14:01 -0700)
committerCarl Worth <cworth@cworth.org>
Mon, 30 Sep 2013 22:49:16 +0000 (15:49 -0700)
commit9baf35de5cd4a0d832ee185afb709868fd55bc93
treee72e0910a6ec458def77d3e8001cf6ed2eb359ce
parent4c4934636cb286e7d7836afc26e9d392e2f0f155
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>
src/egl/main/Makefile.am