diff --git a/NEWS b/NEWS index 2200725e..3a743782 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,20 @@ +D-Bus 1.5.4 (UNRELEASED) +== + +Changes: + +• Don't use -Wl,--gc-sections by default: in practice the size decrease is + small (300KiB on x86-64) and it frequently doesn't work in unusual + toolchains. To optimize for minimum installed size, you should benchmark + various possibilities for CFLAGS and LDFLAGS, and set the best flags for + your particular toolchain at configure time. (fd.o #33466, Simon McVittie) + +• Use #!/bin/sh for run-with-tmp-session-bus.sh, making it work on *BSD + (fd.o #35880, Timothy Redaelli) + +• Windows-specific changes: + · don't try to build dbus-daemon-launch-helper (fd.o #37838, Mark Brand) + D-Bus 1.5.2 (2011-06-01) == diff --git a/bus/Makefile.am b/bus/Makefile.am index dfb3bc34..bb895e2a 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 @@ -150,7 +150,9 @@ bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD \ ## even when not doing "make check" noinst_PROGRAMS = $(TESTS) dbus_daemon_exec_PROGRAMS = dbus-daemon +if DBUS_UNIX libexec_PROGRAMS = dbus-daemon-launch-helper +endif DBUS_UNIX ## note that TESTS has special meaning (stuff to use in make check) ## so if adding tests not to be run in make check, don't add them to diff --git a/configure.ac b/configure.ac index 314acb72..06998b99 100644 --- a/configure.ac +++ b/configure.ac @@ -1193,34 +1193,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... diff --git a/tools/run-with-tmp-session-bus.sh b/tools/run-with-tmp-session-bus.sh index 982184a2..c39999fb 100755 --- a/tools/run-with-tmp-session-bus.sh +++ b/tools/run-with-tmp-session-bus.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /bin/sh SCRIPTNAME=$0 WRAPPED_SCRIPT=$1