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

Reply via email to