diff options
author | Graham Gower <graham.gower@gmail.com> | 2010-07-01 14:39:51 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-07-02 21:21:26 -0700 |
commit | faf4cb936e774a2077d56e1c0dac23cc1a1d46cd (patch) | |
tree | 9ae6490474ee44aae8fd166d741183e007ccfff0 /recipes/dbus/dbus.inc | |
parent | 5d13a8a6a394f903a66e85a09533019c9a813fef (diff) |
dbus: fix building on mipsel and clean up PIE/pie fix to work again.
D-Bus fails to link with --gc-sections on mipsel.
| CCLD dbus-daemon
| collect2: ld returned 1 exit status
| make[2]: *** [dbus-daemon] Error 1
| make[2]: *** Waiting for unfinished jobs....
| /home/grg/oe2/tmp/cross/mipsel/lib/gcc/mipsel-oe-linux/4.4.4/../../../../mipsel-oe-linux/bin/ld: can not make stub section: File format not recognized
| /home/grg/oe2/tmp/cross/mipsel/lib/gcc/mipsel-oe-linux/4.4.4/../../../../mipsel-oe-linux/bin/ld: failed to set dynamic section sizes: File format not recognized
Also, the previous fPIE/pie fix no longer works.
While here, clean up INC_PR.
Signed-off-by: Graham Gower <graham.gower@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/dbus/dbus.inc')
-rw-r--r-- | recipes/dbus/dbus.inc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/recipes/dbus/dbus.inc b/recipes/dbus/dbus.inc index ec66960ad3..55a156d8f5 100644 --- a/recipes/dbus/dbus.inc +++ b/recipes/dbus/dbus.inc @@ -4,7 +4,7 @@ SECTION = "base" LICENSE = "GPL" DEPENDS = "expat glib-2.0 virtual/libintl libsm libice virtual/libx11" -INC_PR = "r18" +INC_PR = "r19" SRC_URI = "\ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \ @@ -35,8 +35,13 @@ EXTRA_OECONF = "\ ${EXTRA_OECONF_X} \ " -do_compile_prepend_mipsel() { - sed -i -e 's/\-fPIE//' -e 's/\-pie\ \-Wl\,\-z\,relro//' bus/Makefile +# On mipsel, D-Bus fails to link with --gc-sections and segfaults before main() +# when built with -fPIE/-pie. +do_configure_prepend_mipsel() { + sed -i -e 's/\-fPIE//' \ + -e 's/\-pie\ \-Wl\,\-z\,relro//' \ + -e 's/-Wl,--gc-sections//' \ + ${S}/configure.in } do_install_append() { |