[OE-core] [PATCH] bitbake.conf: add --enable-new-dtags to linker

Khem Raj raj.khem at gmail.com
Fri Dec 21 14:52:12 UTC 2018


On Fri, Dec 21, 2018 at 6:24 AM Alexander Kanavin
<alex.kanavin at gmail.com> 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 <alex.kanavin at gmail.com>
> ---
>  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
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list