From: Simon McVittie Date: Mon, 6 Jun 2011 08:59:37 +0000 (+0100) Subject: Remove support for -Wl,--gc-sections altogether X-Git-Tag: dbus-1.4.12~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff2047a75aa573ac898cb8b577b7c49a2b707fb6;p=thirdparty%2Fdbus.git Remove support for -Wl,--gc-sections altogether Packagers should only enable this flag if they have confirmed that it actually works on their toolchain (it's the sort of rarely used feature that frequently regresses on obscure architectures/OSs without anyone noticing), and also confirmed that it is actually a significant size win for their configuration. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33466 Reviewed-by: Colin Walters --- diff --git a/bus/Makefile.am b/bus/Makefile.am index 73765f5f3..bb895e2a2 100644 --- a/bus/Makefile.am +++ b/bus/Makefile.am @@ -89,7 +89,7 @@ dbus_daemon_LDADD= \ $(EFENCE) \ $(DBUS_BUS_LIBS) -dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ +dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ LAUNCH_HELPER_SOURCES= \ $(XML_SOURCES) \ @@ -115,7 +115,7 @@ dbus_daemon_launch_helper_LDADD= \ $(top_builddir)/dbus/libdbus-internal.la \ $(DBUS_LAUNCHER_LIBS) -dbus_daemon_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ +dbus_daemon_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ ## we build another binary so we can do the launch testing without root privs. ## DO NOT INSTALL THIS FILE @@ -127,7 +127,7 @@ dbus_daemon_launch_helper_test_LDADD= \ $(top_builddir)/dbus/libdbus-internal.la \ $(DBUS_LAUNCHER_LIBS) -dbus_daemon_launch_helper_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ +dbus_daemon_launch_helper_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ dbus_daemon_launch_helper_test_CPPFLAGS= -DDBUS_STATIC_BUILD \ -DACTIVATION_LAUNCHER_TEST @@ -141,7 +141,7 @@ bus_test_launch_helper_LDADD= \ $(top_builddir)/dbus/libdbus-internal.la \ $(DBUS_LAUNCHER_LIBS) -bus_test_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ +bus_test_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD \ -DACTIVATION_LAUNCHER_TEST \ -DACTIVATION_LAUNCHER_DO_OOM diff --git a/configure.ac b/configure.ac index a041c55f8..64db54234 100644 --- a/configure.ac +++ b/configure.ac @@ -1168,34 +1168,6 @@ dnl but prepending to CFLAGS (so the user can override it with later CFLAGS) dnl is the next best thing CFLAGS="$WARNING_CFLAGS $CFLAGS" -# Disabling gc-sections makes our binaries bigger, but some toolchains -# have known-broken support for it which discards sections that are needed. -# See https://bugs.freedesktop.org/show_bug.cgi?id=33466 -SECTION_LDFLAGS= -AC_ARG_ENABLE([gc-sections], - [AS_HELP_STRING([--disable-gc-sections], - [disable --gc-sections to work around broken toolchains])], - [enable_gc_sections=$enableval], - [enable_gc_sections=yes]) -if test "x$GCC,$enable_gc_sections,$dbus_win" = xyes,yes,no; then - save_CFLAGS="$CFLAGS" - save_LDFLAGS="$LDFLAGS" - AC_MSG_CHECKING([for ability to link with --gc-sections]) - CFLAGS="-ffunction-sections -fdata-sections" - LDFLAGS="-Wl,--gc-sections" - AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], - [rc=yes], - [rc=no]) - AC_MSG_RESULT([$rc]) - CFLAGS="$save_CFLAGS" - LDFLAGS="$save_LDFLAGS" - if test "x$rc" = xyes; then - SECTION_LDFLAGS="-Wl,--gc-sections" - CFLAGS="-ffunction-sections -fdata-sections $CFLAGS" - fi -fi -AC_SUBST([SECTION_LDFLAGS]) - case $host_os in solaris*) # Solaris' C library apparently needs these runes to be threadsafe...