From 2d9ef3684d87785dff2b7b21a0a56f1548067e81 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 15 Oct 2015 15:37:42 -0400 Subject: [PATCH] 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 --- configure.ac | 6 ++---- gobject/Makefile.am | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index f8b41e81f..14c9ccdc1 100644 --- a/configure.ac +++ b/configure.ac @@ -3429,8 +3429,6 @@ if test "x${enable_Bsymbolic}" = "xyes"; then GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions fi -AC_SUBST(GLIB_LINK_FLAGS) - dnl dnl Check for -z,nodelete linker flag: the type system assumes that dnl libgobject stays loaded for the lifetime of the process. @@ -3461,10 +3459,10 @@ AC_ARG_ENABLE([znodelete], LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"]) if test "x${enable_znodelete}" = "xyes"; then - GOBJECT_LINK_FLAGS=-Wl,-z,nodelete + GLIB_LINK_FLAGS="$GLIB_LINK_FLAGS -Wl,-z,nodelete" fi -AC_SUBST(GOBJECT_LINK_FLAGS) +AC_SUBST(GLIB_LINK_FLAGS) dnl dnl Check for -fvisibility=hidden to determine if we can do GNU-style diff --git a/gobject/Makefile.am b/gobject/Makefile.am index 2108caa9c..5512c7e5d 100644 --- a/gobject/Makefile.am +++ b/gobject/Makefile.am @@ -45,7 +45,6 @@ endif libgobjectincludedir = $(includedir)/glib-2.0/gobject libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \ - $(GOBJECT_LINK_FLAGS) \ $(gobject_win32_res_ldflag) \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ -export-dynamic $(no_undefined)