On Fri, Dec 21, 2018 at 6:24 AM Alexander Kanavin <[email protected]> wrote: > > Various versions of ld have different defaults for this > (even between e.g. Ubuntu 16.04 and 18.04). This has the > consequence of putting either RPATH or RUNPATH into the binary, > depending on the linker, which have different priorities > vs LD_LIBRARY_PATH env var. Also, I think, the original > executable binary is looked up for the tags when resolving > a dependency of a shared library when using RPATH, but not > RUNPATH. > > Let's make this deterministic. >
this change is fine in general. What we have to understand is that --enable-new-dtags actually sets DT_RUNPATH instead of DT_RPATH. DT_RPATH has higher precedence than LD_LIBRARY_PATH; DT_RUNPATH has lower precedence. with this change we will let LD_LIBRARY_PATH override our settings. So look for case where we might have assumed that we are setting DT_RPATH so no environment can affect us > Signed-off-by: Alexander Kanavin <[email protected]> > --- > meta/conf/bitbake.conf | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 64800623545..732e4f93328 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -573,6 +573,7 @@ export TARGET_CXXFLAGS = "${TARGET_CFLAGS}" > > export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \ > -L${STAGING_BASE_LIBDIR_NATIVE} \ > + -Wl,--enable-new-dtags \ > -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \ > -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} \ > -Wl,-rpath,${STAGING_LIBDIR_NATIVE} \ > -- > 2.17.1 > > -- > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
