Add a configure option to build libGL with ELF symbol filtering

This option is disabled by default due to glibc bug 16272.

Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
This commit is contained in:
Brian Nguyen 2013-12-03 15:03:09 -08:00 committed by brnguyen
parent 82d0c2d488
commit efe081c225
2 changed files with 40 additions and 1 deletions

View file

@ -28,6 +28,37 @@ AC_PROG_LIBTOOL
AC_CHECK_PROGS([PYTHON2], [python2 python])
AC_CHECK_PROGS([PERL], [perl])
dnl
dnl Auxiliary ELF symbol filtering support
dnl
AC_ARG_ENABLE([dt-auxiliary],
[AS_HELP_STRING([--enable-dt-auxiliary],
[enable auxiliary ELF symbol filtering @<:@default=disabled@:>@])],
[enable_dt_auxiliary="$enableval"],
[enable_dt_auxiliary=no]
)
AC_MSG_CHECKING([whether to enable auxiliary ELF symbol filtering])
if test "x$enable_dt_auxiliary" = xyes; then
(
LDFLAGS='-shared -Wl,--auxiliary=libc.so.6'
AC_LINK_IFELSE([AC_LANG_SOURCE([])],
[dt_auxiliary_supported=yes],
[dt_auxiliary_supported=no])
if test "x$dt_auxiliary_supported" = xyes; then
AC_MSG_RESULT([yes, supported])
else
AC_MSG_RESULT([no, not supported])
fi
test "x$dt_auxiliary_supported" = xyes
) && dt_auxiliary_supported=yes
else
dt_auxiliary_supported=no
AC_MSG_RESULT([no])
fi
AM_CONDITIONAL([USE_DT_AUXILIARY], [test "x$dt_auxiliary_supported" = xyes])
dnl
dnl Arch/platform-specific settings. Copied from mesa
dnl

View file

@ -61,7 +61,15 @@ g_libglglxwrapper.c : $(GLX_GEN_STUBS) $(GLX_FUNCS_SPEC)
libGL_la_CFLAGS = \
-I$(top_srcdir)/include
libGL_la_LDFLAGS = -shared -version-info 1
if USE_DT_AUXILIARY
# XXX: libtool has trouble processing "-Wl,*" options, so we use -Xlinker here
# instead.
DT_AUX_FLAGS = -Xlinker "--auxiliary=libGLX.so.0" -Xlinker "--auxiliary=libGLdispatch.so.0"
else
DT_AUX_FLAGS =
endif
libGL_la_LDFLAGS = -shared -version-info 1 $(DT_AUX_FLAGS)
AM_CPPFLAGS = \
-I$(TOP)/src/GLdispatch/vnd-glapi/mapi \