On 06/06/2014 08:22 PM, Khem Raj wrote:


On Friday, June 6, 2014, <rongqing...@windriver.com <mailto:rongqing...@windriver.com>> wrote:

    From: yzhu1 <yanjun....@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....@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@lists.openembedded.org <javascript:;>
    http://lists.openembedded.org/mailman/listinfo/openembedded-core


-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to