On 05/16/2017 03:50 PM, Henning Schild wrote: > Linking with "--as-needed" could cause the linker to not list essential > wrapping libraries as needed for a shared library or a dynamically > linked binary. The result would be runtime ld.so errors for the binaries > or linking problems with the .so. > gcc defaults to "--no-as-needed" that is why we never needed to specify > that flag explicitly. But gcc from Ubuntu is patched to default to > "--as-needed". > This patch enforces "--no-as-needed", which will have no effect on most > toolchains. On Ubuntu it will override the default and make sure xenomai > applications get linked as expected. > > Signed-off-by: Henning Schild <[email protected]> > --- > scripts/xeno-config-cobalt.in | 1 + > scripts/xeno-config-mercury.in | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/scripts/xeno-config-cobalt.in b/scripts/xeno-config-cobalt.in > index 82815e1936..ae313d3897 100644 > --- a/scripts/xeno-config-cobalt.in > +++ b/scripts/xeno-config-cobalt.in > @@ -282,6 +282,7 @@ if test x$do_ldflags = xy; then > fi > bootstrap="${XENO_LIBRARY_DIR}/xenomai/bootstrap${codegen}.o" > fi > + ldflags="-Wl,--no-as-needed $ldflags" > echo "$ldflags $copperplate $bootstrap $wrap_main $XENO_POSIX_LDFLAGS" > fi > > diff --git a/scripts/xeno-config-mercury.in b/scripts/xeno-config-mercury.in > index a0aa75b737..2d2842f300 100644 > --- a/scripts/xeno-config-mercury.in > +++ b/scripts/xeno-config-mercury.in > @@ -213,6 +213,7 @@ if test x$do_ldflags = xy; then > fi > bootstrap="${XENO_LIBRARY_DIR}/xenomai/bootstrap${codegen}.o" > fi > + ldflags="-Wl,--no-as-needed $ldflags" > echo "$ldflags $copperplate $bootstrap $wrap_main $XENO_BASE_LDFLAGS" > fi > >
Merged, thanks. -- Philippe. _______________________________________________ Xenomai mailing list [email protected] https://xenomai.org/mailman/listinfo/xenomai
