Use -Wl,-znodelete for all our libraries

Now that we initialize the quark tables from a constructor,
reloading libglib is just as bad as reloading libgobject,
so add the linker option to the LDFLAGS for all our libraries.

https://bugzilla.gnome.org/show_bug.cgi?id=755609
This commit is contained in:
Matthias Clasen 2015-10-15 15:37:42 -04:00
parent bf33f1d98d
commit 2ac7c5a6fb
2 changed files with 2 additions and 5 deletions

View File

@ -3429,8 +3429,6 @@ if test "x${enable_Bsymbolic}" = "xyes"; then
GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions
fi fi
AC_SUBST(GLIB_LINK_FLAGS)
dnl dnl
dnl Check for -z,nodelete linker flag: the type system assumes that dnl Check for -z,nodelete linker flag: the type system assumes that
dnl libgobject stays loaded for the lifetime of the process. dnl libgobject stays loaded for the lifetime of the process.
@ -3461,10 +3459,10 @@ AC_ARG_ENABLE([znodelete],
LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"]) LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
if test "x${enable_znodelete}" = "xyes"; then if test "x${enable_znodelete}" = "xyes"; then
GOBJECT_LINK_FLAGS=-Wl,-z,nodelete GLIB_LINK_FLAGS="$GLIB_LINK_FLAGS -Wl,-z,nodelete"
fi fi
AC_SUBST(GOBJECT_LINK_FLAGS) AC_SUBST(GLIB_LINK_FLAGS)
dnl dnl
dnl Check for -fvisibility=hidden to determine if we can do GNU-style dnl Check for -fvisibility=hidden to determine if we can do GNU-style

View File

@ -45,7 +45,6 @@ endif
libgobjectincludedir = $(includedir)/glib-2.0/gobject libgobjectincludedir = $(includedir)/glib-2.0/gobject
libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \ libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(GOBJECT_LINK_FLAGS) \
$(gobject_win32_res_ldflag) \ $(gobject_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) -export-dynamic $(no_undefined)