summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Li <rongqing.li@windriver.com>2014-06-17 14:00:26 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-17 08:56:37 +0100
commit3b973f1c9c9ee3fbe64903036ad93eb9e928b185 (patch)
treeea7a55ec6c8c648ddc011de0d3a5570b45ad0b54
parent7c0fc920d41cdd74cb7bba72faef08afba09ed12 (diff)
downloadopenembedded-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-xscripts/relocate_sdk.py12
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: