[OE-core] [CONSOLIDATED REQUEST 55/64] chrpath.bbclass: Account for case when ORIGIN is in RPATH
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Aug 15 13:12:42 UTC 2012
On Tue, 2012-08-14 at 15:13 +0300, Saul Wold wrote:
> From: Khem Raj <raj.khem at gmail.com>
>
> This fixes a case when RPATH embedded in program have one of
> its path already relative to ORIGIN. We were losing that path
> if such a path existed. This patch appends it to the new edited
> rpath being created when we see it.
>
> so RPATH like below
>
> (RPATH) Library rpath:
> [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli]
>
> would end up being empty
>
> but after this patch its kept intact
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> Signed-off-by: Saul Wold <sgw at linux.intel.com>
> ---
> meta/classes/chrpath.bbclass | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
> index 10b5ca0..e903b65 100644
> --- a/meta/classes/chrpath.bbclass
> +++ b/meta/classes/chrpath.bbclass
> @@ -49,6 +49,7 @@ def process_dir (directory, d):
> new_rpaths = []
> for rpath in rpaths:
> # If rpath is already dynamic continue
> + new_rpaths.append("%s" % (rpath.strip()))
> if rpath.find("$ORIGIN") != -1:
> continue
> # If the rpath shares a root with base_prefix determine a new dynamic rpath from the
Shouldn't this read:
if rpath.find("$ORIGIN") != -1:
new_rpaths.append("%s" % (rpath.strip()))
continue
as the code above would add *all* the old rpaths to the binary as well
as any relocations?
Cheers,
Richard
More information about the Openembedded-core
mailing list