On Tue, 2012-08-14 at 15:13 +0300, Saul Wold wrote:
> From: Khem Raj <[email protected]>
> 
> 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 <[email protected]>
> Signed-off-by: Saul Wold <[email protected]>
> ---
>  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


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to