[oe-commits] Roy Li : relocate_sdk: Skip to do relocation if the file size is less than 64 byte

git at git.openembedded.org git at git.openembedded.org
Tue Jun 17 08:00:00 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: 3b973f1c9c9ee3fbe64903036ad93eb9e928b185
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=3b973f1c9c9ee3fbe64903036ad93eb9e928b185

Author: Roy Li <rongqing.li at windriver.com>
Date:   Tue Jun 17 14:00:26 2014 +0800

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 at windriver.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 scripts/relocate_sdk.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py
index 05d9fd6..b2dd258 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:



More information about the Openembedded-commits mailing list