[OE-core] [PATCH] relocate_sdk.py: fix lib path error

yzhu1 Yanjun.Zhu at windriver.com
Thu Jun 12 10:14:46 UTC 2014


On 06/06/2014 08:22 PM, Khem Raj wrote:
>
>
> On Friday, June 6, 2014, <rongqing.li at windriver.com 
> <mailto:rongqing.li at windriver.com>> wrote:
>
>     From: yzhu1 <yanjun.zhu at windriver.com <javascript:;>>
>
>     In centos 5.9 32bit, ld lib does not contain some flags, so ld
>     lib is not parsed. So correct lib path is not got from ld lib.
>
>
> Can you explain with examples what's going on here ?
Hi,

Before relocate_sdk.sh is executed, it needs the parameters: 
path/ld-linux-x86-64.so.2 path/dmesg.util-linux path/kill.util-linux 
path/reset.util-linux .....
The file list (path/dmesg.util-linux path/kill.util-linux 
path/reset.util-linux .....) is collected by "grep 
'\(executable\|dynamically linked\)'".

So "dynamically linked" is very import to the file ld-linux-x86-64.so.2. 
But in redhat 5.9(32 bit)

This file is as below:

ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

In Ubuntu 12.04 (64bit)

This file is as below:

ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically 
linked, BuildID[sha1]=0xbb8c5184d8d41f31093193a2ec8d3f6f10964cd2, stripped

In this case, we can find in Ubuntu 12.04(64 bit), the flag "dynamically 
linked" is present, so ld-linux-x86-64.so.2 can be included in the file 
list. relocate_sdk.py can work according to the information from 
ld-linux-x86-64.so.2. But in redhat 5.9(32bit), the flag does not exist. 
relocate_sdk.py can not get the information from ld-linux-x86-64.so.2 
since this file is not included in the file list.

The same error occurs on redhat6.0(32 bit).

So the direct solution to this defect is to force this file 
ld-linux-x86-64.so.2 exist in file list.

If any problem, please feel free to let me know.

Best Regards!
Zhu Yanjun

>
>     Signed-off-by: yzhu1 <yanjun.zhu at windriver.com <javascript:;>>
>     ---
>      scripts/relocate_sdk.py |    2 +-
>      1 file changed, 1 insertion(+), 1 deletion(-)
>
>     diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py
>     index 05d9fd6..a05a7fa 100755
>     --- a/scripts/relocate_sdk.py
>     +++ b/scripts/relocate_sdk.py
>     @@ -201,7 +201,7 @@ else:
>          new_prefix = sys.argv[1].encode()
>          new_dl_path = sys.argv[2].encode()
>
>     -executables_list = sys.argv[3:]
>     +executables_list = sys.argv[2:]
>
>      for e in executables_list:
>          perms = os.stat(e)[stat.ST_MODE]
>     --
>     1.7.10.4
>
>     --
>     _______________________________________________
>     Openembedded-core mailing list
>     Openembedded-core at lists.openembedded.org <javascript:;>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20140612/ac1ea5c8/attachment-0002.html>


More information about the Openembedded-core mailing list