]> code.ossystems Code Review - openembedded-core.git/commitdiff
relocate_sdk.py: new interpreter string was not '\0' terminated
authorLaurentiu Palcu <laurentiu.palcu@intel.com>
Mon, 7 Jan 2013 13:07:04 +0000 (15:07 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 7 Jan 2013 13:41:45 +0000 (13:41 +0000)
The problem: SDK binaries were not properly relocated when the SDK
was installed into a path that had a length less than the default one.
Apparently, there were two problems here: the padding was done wrong
(the size of one program header table entry was used instead of the
program section size) and the new padded string was not used at all.

[YOCTO #3655]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/relocate_sdk.py

index 637ffe9483ec847808d9aa7bbfc9961e18b57c55..74bb7a5fddbcd51c9ba3b2288f7f2a49c2d36837 100755 (executable)
@@ -89,8 +89,8 @@ def change_interpreter():
         if p_type == 3:
             # PT_INTERP section
             f.seek(p_offset)
-            dl_path = new_dl_path + "\0" * (e_phentsize - len(new_dl_path))
-            f.write(new_dl_path)
+            dl_path = new_dl_path + "\0" * (p_filesz - len(new_dl_path))
+            f.write(dl_path)
             break
 
 def change_dl_sysdirs():