summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/qemu/qemu-1.2.0
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2012-09-11 16:55:31 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-12 14:44:54 +0100
commitda014e900adfe96f01290c5a8f5fb08e295ca204 (patch)
treea71f48d585783bc1f21385209a409436a1968f10 /meta/recipes-devtools/qemu/qemu-1.2.0
parentba17572c9c11efb45a92ba97914ce1f6d84002c8 (diff)
downloadopenembedded-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.patch34
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) }