diff options
author | Laurentiu Palcu <laurentiu.palcu@intel.com> | 2012-09-11 16:55:31 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-09-12 14:44:54 +0100 |
commit | da014e900adfe96f01290c5a8f5fb08e295ca204 (patch) | |
tree | a71f48d585783bc1f21385209a409436a1968f10 /meta/recipes-devtools/qemu/qemu-1.2.0 | |
parent | ba17572c9c11efb45a92ba97914ce1f6d84002c8 (diff) | |
download | openembedded-core-da014e900adfe96f01290c5a8f5fb08e295ca204.tar.gz openembedded-core-da014e900adfe96f01290c5a8f5fb08e295ca204.tar.bz2 openembedded-core-da014e900adfe96f01290c5a8f5fb08e295ca204.zip |
nativesdk-qemu: fix SDK relocation issue
User mode emulation binaries are linked using a local linker script. The
nativesdk ones were not used and the resulting binaries did not have the
interp section resized. Hence, those binaries could not be relocated.
[YOCTO #3083]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu-1.2.0')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch new file mode 100644 index 0000000000..0a01a8a048 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch @@ -0,0 +1,34 @@ +Upstream-Status: Inappropriate [SDK specific] + +In order to be able to change the dynamic loader path when relocating +binaries, the interp section has to be made big enough to accomodate +the new path (4096 is the maximum path length in Linux). + +Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> + +Index: qemu-1.2.0/i386.ld +=================================================================== +--- qemu-1.2.0.orig/i386.ld ++++ qemu-1.2.0/i386.ld +@@ -8,7 +8,7 @@ SECTIONS + { + /* Read-only sections, merged into text segment: */ + . = 0x60000000 + SIZEOF_HEADERS; +- .interp : { *(.interp) } ++ .interp : { *(.interp); . = 0x1000; } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } +Index: qemu-1.2.0/x86_64.ld +=================================================================== +--- qemu-1.2.0.orig/x86_64.ld ++++ qemu-1.2.0/x86_64.ld +@@ -6,7 +6,7 @@ SECTIONS + { + /* Read-only sections, merged into text segment: */ + . = 0x60000000 + SIZEOF_HEADERS; +- .interp : { *(.interp) } ++ .interp : { *(.interp); . = 0x1000; } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } |