connman: disable version-scripts to fix crashes at startup

With binutils 2.27 on at least MIPS, connmand will crash on startup.  This
appears to be due to the symbol visibilty scripts hiding symbols that stdio
looks up at runtime, resulting in it segfaulting.

This certainly appears to be a bug in binutils 2.27 although the problem has
been known about for some time:

https://sourceware.org/bugzilla/show_bug.cgi?id=17908

As the version scripts are only used to hide symbols from plugins we can safely
remove the scripts to work around the problem until binutils is fixed.

(From OE-Core rev: 0194531627735c1f5643ff1bd1bca27ca05c8e95)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2016-08-09 12:12:02 +01:00 committed by Richard Purdie
parent 3ac3f3f309
commit fc08ecf8b2
2 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,27 @@
With binutils 2.27 on at least MIPS, connmand will crash on startup. This
appears to be due to the symbol visibilty scripts hiding symbols that stdio
looks up at runtime, resulting in it segfaulting.
This certainly appears to be a bug in binutils 2.27 although the problem has
been known about for some time:
https://sourceware.org/bugzilla/show_bug.cgi?id=17908
As the version scripts are only used to hide symbols from plugins we can safely
remove the scripts to work around the problem until binutils is fixed.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/Makefile.am b/Makefile.am
index d70725c..76ae432 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -132,2 +132 @@ src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
-src_connmand_LDFLAGS = -Wl,--export-dynamic \
- -Wl,--version-script=$(srcdir)/src/connman.ver
+src_connmand_LDFLAGS = -Wl,--export-dynamic
@@ -166,2 +165 @@ vpn_connman_vpnd_LDADD = gdbus/libgdbus-internal.la $(builtin_vpn_libadd) \
-vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
- -Wl,--version-script=$(srcdir)/vpn/vpn.ver
+vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic

View File

@ -3,6 +3,7 @@ require connman.inc
SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
file://connman \
file://no-version-scripts.patch \
"
SRC_URI_append_libc-musl = "file://0002-resolve-musl-does-not-implement-res_ninit.patch \
file://0003-Fix-header-inclusions-for-musl.patch \
@ -12,4 +13,3 @@ SRC_URI[md5sum] = "c51903fd3e7a6a371d12ac5d72a1fa01"
SRC_URI[sha256sum] = "bc8946036fa70124d663136f9f6b6238d897ca482782df907b07a428b09df5a0"
RRECOMMENDS_${PN} = "connman-conf"