diff options
author | Roy Li <rongqing.li@windriver.com> | 2014-06-17 14:00:26 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-06-17 08:56:37 +0100 |
commit | 3b973f1c9c9ee3fbe64903036ad93eb9e928b185 (patch) | |
tree | ea7a55ec6c8c648ddc011de0d3a5570b45ad0b54 | |
parent | 7c0fc920d41cdd74cb7bba72faef08afba09ed12 (diff) | |
download | openembedded-core-3b973f1c9c9ee3fbe64903036ad93eb9e928b185.tar.gz openembedded-core-3b973f1c9c9ee3fbe64903036ad93eb9e928b185.tar.bz2 openembedded-core-3b973f1c9c9ee3fbe64903036ad93eb9e928b185.zip |
relocate_sdk: Skip to do relocation if the file size is less than 64 byte
When toolchain directory is changed to execute mode, some non-executable
files or empty files are sorted. This will lead to the below error:
Extracting SDK...done
Setting it up...Traceback (most recent call last):
File "..._SDK/relocate_sdk.py", line 208, in <module>
arch = get_arch()
File "..._SDK/relocate_sdk.py", line 39, in get_arch
ei_mag0,ei_mag1_3,ei_class = struct.unpack("<B3sB11x", e_ident)
struct.error: unpack requires a string argument of length 16
To call get_arch and parse_elf_header, we should ensure the sorted file
is bigger than 64 byte.
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | scripts/relocate_sdk.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py index 05d9fd65ed..b2dd258c34 100755 --- a/scripts/relocate_sdk.py +++ b/scripts/relocate_sdk.py @@ -224,12 +224,12 @@ for e in executables_list: # Save old size and do a size check at the end. Just a safety measure. old_size = os.path.getsize(e) - - arch = get_arch() - if arch: - parse_elf_header() - change_interpreter(e) - change_dl_sysdirs() + if old_size >= 64: + arch = get_arch() + if arch: + parse_elf_header() + change_interpreter(e) + change_dl_sysdirs() """ change permissions back """ if perms: |