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.
(From OE-Core rev:
3b973f1c9c9ee3fbe64903036ad93eb9e928b185)
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# 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: