diff options
author | Constantin Musca <constantinx.musca@intel.com> | 2012-12-10 10:08:13 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-13 15:18:42 +0000 |
commit | 505f88fd3e169b3481c2bb2afbef535db00d095f (patch) | |
tree | ac8046059d916008a8fa8941cddd9dcaedfbf9b0 /meta/recipes-devtools/qemu/files | |
parent | 24b4976a42bd6eb0e89a555ccfce71931c7c6957 (diff) | |
download | poky-505f88fd3e169b3481c2bb2afbef535db00d095f.tar.gz |
qemu: upgrade to 1.3.0
remove-hardcoded-libexec.patch: removed
- included in the new version
qemu-vmware-vga-depth.patch: removed
- doesn't apply anymore
- the problem addressed by the patch is fixed by
reverting commit 1f202568e0553b416483e5993f1bde219c22cf72
Revert-vmware_vga-Add-back-some-info-in-local-state-.patch:
- VMware VGA requires that the depth presented to the guest
to be the same as the Display Surface depth in order to do not
corrupt the display
- do not cache the DS depth (the depth might change)
- revert commit 1f202568
- QEMU now uses pixman (DEPENDS += "pixman")
- rearrange the recipe in order to mimic the bitbake flow
- update both variants (.tar.bz2, git)
(From OE-Core rev: 7622c4f6c050f26f252066a0fcaacdbf340dcefa)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu/files')
11 files changed, 374 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch b/meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch new file mode 100644 index 0000000000..d56256e05c --- /dev/null +++ b/meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch | |||
@@ -0,0 +1,114 @@ | |||
1 | From 2cf7df441ce4c36525ba4d2d040f8cb0b0c75f14 Mon Sep 17 00:00:00 2001 | ||
2 | From: Constantin Musca <constantinx.musca@intel.com> | ||
3 | Date: Fri, 7 Dec 2012 12:33:42 +0200 | ||
4 | Subject: [PATCH] Revert "vmware_vga: Add back some info in local state | ||
5 | partially reverting aa32b38c" | ||
6 | |||
7 | - this reverts commit 1f202568e0553b416483e5993f1bde219c22cf72 | ||
8 | - do not cache the DS depth (the depth might change) | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-off-by: Constantin Musca <constantinx.musca@intel.com> | ||
12 | --- | ||
13 | hw/vmware_vga.c | 30 +++++++++--------------------- | ||
14 | 1 file changed, 9 insertions(+), 21 deletions(-) | ||
15 | |||
16 | diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c | ||
17 | index 834588d..7c766fb 100644 | ||
18 | --- a/hw/vmware_vga.c | ||
19 | +++ b/hw/vmware_vga.c | ||
20 | @@ -39,8 +39,6 @@ struct vmsvga_state_s { | ||
21 | VGACommonState vga; | ||
22 | |||
23 | int invalidated; | ||
24 | - int depth; | ||
25 | - int bypp; | ||
26 | int enable; | ||
27 | int config; | ||
28 | struct { | ||
29 | @@ -57,9 +55,6 @@ struct vmsvga_state_s { | ||
30 | int new_height; | ||
31 | uint32_t guest; | ||
32 | uint32_t svgaid; | ||
33 | - uint32_t wred; | ||
34 | - uint32_t wgreen; | ||
35 | - uint32_t wblue; | ||
36 | int syncing; | ||
37 | |||
38 | MemoryRegion fifo_ram; | ||
39 | @@ -723,25 +718,25 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address) | ||
40 | return SVGA_MAX_HEIGHT; | ||
41 | |||
42 | case SVGA_REG_DEPTH: | ||
43 | - return s->depth; | ||
44 | + return ds_get_depth(s->vga.ds); | ||
45 | |||
46 | case SVGA_REG_BITS_PER_PIXEL: | ||
47 | - return (s->depth + 7) & ~7; | ||
48 | + return ds_get_bits_per_pixel(s->vga.ds); | ||
49 | |||
50 | case SVGA_REG_PSEUDOCOLOR: | ||
51 | return 0x0; | ||
52 | |||
53 | case SVGA_REG_RED_MASK: | ||
54 | - return s->wred; | ||
55 | + return ds_get_rmask(s->vga.ds); | ||
56 | |||
57 | case SVGA_REG_GREEN_MASK: | ||
58 | - return s->wgreen; | ||
59 | + return ds_get_gmask(s->vga.ds); | ||
60 | |||
61 | case SVGA_REG_BLUE_MASK: | ||
62 | - return s->wblue; | ||
63 | + return ds_get_bmask(s->vga.ds); | ||
64 | |||
65 | case SVGA_REG_BYTES_PER_LINE: | ||
66 | - return s->bypp * s->new_width; | ||
67 | + return ds_get_bytes_per_pixel(s->vga.ds) * s->new_width; | ||
68 | |||
69 | case SVGA_REG_FB_START: { | ||
70 | struct pci_vmsvga_state_s *pci_vmsvga | ||
71 | @@ -806,7 +801,7 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address) | ||
72 | return s->cursor.on; | ||
73 | |||
74 | case SVGA_REG_HOST_BITS_PER_PIXEL: | ||
75 | - return (s->depth + 7) & ~7; | ||
76 | + return ds_get_bits_per_pixel(s->vga.ds); | ||
77 | |||
78 | case SVGA_REG_SCRATCH_SIZE: | ||
79 | return s->scratch_size; | ||
80 | @@ -869,7 +864,7 @@ static void vmsvga_value_write(void *opaque, uint32_t address, uint32_t value) | ||
81 | break; | ||
82 | |||
83 | case SVGA_REG_BITS_PER_PIXEL: | ||
84 | - if (value != s->depth) { | ||
85 | + if (value != ds_get_bits_per_pixel(s->vga.ds)) { | ||
86 | printf("%s: Bad bits per pixel: %i bits\n", __func__, value); | ||
87 | s->config = 0; | ||
88 | } | ||
89 | @@ -1089,7 +1084,7 @@ static const VMStateDescription vmstate_vmware_vga_internal = { | ||
90 | .minimum_version_id_old = 0, | ||
91 | .post_load = vmsvga_post_load, | ||
92 | .fields = (VMStateField[]) { | ||
93 | - VMSTATE_INT32_EQUAL(depth, struct vmsvga_state_s), | ||
94 | + VMSTATE_UNUSED(4), /* was depth */ | ||
95 | VMSTATE_INT32(enable, struct vmsvga_state_s), | ||
96 | VMSTATE_INT32(config, struct vmsvga_state_s), | ||
97 | VMSTATE_INT32(cursor.id, struct vmsvga_state_s), | ||
98 | @@ -1142,13 +1137,6 @@ static void vmsvga_init(struct vmsvga_state_s *s, | ||
99 | vga_common_init(&s->vga); | ||
100 | vga_init(&s->vga, address_space, io, true); | ||
101 | vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga); | ||
102 | - /* Save some values here in case they are changed later. | ||
103 | - * This is suspicious and needs more though why it is needed. */ | ||
104 | - s->depth = ds_get_bits_per_pixel(s->vga.ds); | ||
105 | - s->bypp = ds_get_bytes_per_pixel(s->vga.ds); | ||
106 | - s->wred = ds_get_rmask(s->vga.ds); | ||
107 | - s->wgreen = ds_get_gmask(s->vga.ds); | ||
108 | - s->wblue = ds_get_bmask(s->vga.ds); | ||
109 | } | ||
110 | |||
111 | static uint64_t vmsvga_io_read(void *opaque, hwaddr addr, unsigned size) | ||
112 | -- | ||
113 | 1.7.11.7 | ||
114 | |||
diff --git a/meta/recipes-devtools/qemu/files/arm-bgr.patch b/meta/recipes-devtools/qemu/files/arm-bgr.patch new file mode 100644 index 0000000000..f3ebde6364 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/arm-bgr.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | After kernel commit: | ||
2 | |||
3 | http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08 | ||
4 | |||
5 | It appears that the emulated colours in qemu are incorrect and that | ||
6 | the red and blue channels are reversed. This patch reverses that logic | ||
7 | so the colours are correctly displayed on the versatile platform which | ||
8 | doesn't support the BGR bit. | ||
9 | |||
10 | RP 16/9/2011 | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | |||
14 | Index: qemu-1.2.0/hw/pl110.c | ||
15 | =================================================================== | ||
16 | --- qemu-1.2.0.orig/hw/pl110.c 2012-09-06 14:07:27.619821133 -0700 | ||
17 | +++ qemu-1.2.0/hw/pl110.c 2012-09-06 14:12:07.699829648 -0700 | ||
18 | @@ -168,7 +168,11 @@ | ||
19 | fprintf(stderr, "pl110: Bad color depth\n"); | ||
20 | exit(1); | ||
21 | } | ||
22 | - if (s->cr & PL110_CR_BGR) | ||
23 | + | ||
24 | + if (s->version && s->bpp == BPP_16) | ||
25 | + /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */ | ||
26 | + bpp_offset = 0; | ||
27 | + else if (s->cr & PL110_CR_BGR) | ||
28 | bpp_offset = 0; | ||
29 | else | ||
30 | bpp_offset = 24; | ||
diff --git a/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch new file mode 100644 index 0000000000..bb0d6a3848 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | Enable i386-linux-user | ||
2 | |||
3 | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> | ||
4 | |||
5 | Upstream-Status: Inappropriate [configuration] | ||
6 | |||
7 | Index: qemu-0.14.0/Makefile.target | ||
8 | =================================================================== | ||
9 | --- qemu-0.14.0.orig/Makefile.target | ||
10 | +++ qemu-0.14.0/Makefile.target | ||
11 | @@ -78,8 +78,13 @@ ifeq ($(TARGET_BASE_ARCH), i386) | ||
12 | libobj-y += cpuid.o | ||
13 | endif | ||
14 | libobj-$(CONFIG_NEED_MMU) += mmu.o | ||
15 | +ifndef CONFIG_LINUX_USER | ||
16 | libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o | ||
17 | libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o | ||
18 | +else | ||
19 | +libobj-$(TARGET_I386) += dummygl.o | ||
20 | +libobj-$(TARGET_X86_64) += dummygl.o | ||
21 | +endif #CONFIG_LINUX_USER | ||
22 | libobj-$(TARGET_ARM) += dummygl.o | ||
23 | libobj-$(TARGET_MIPS) += dummygl.o | ||
24 | libobj-$(TARGET_PPC) += dummygl.o | ||
25 | Index: qemu-0.14.0/target-i386/dummygl.c | ||
26 | =================================================================== | ||
27 | --- /dev/null | ||
28 | +++ qemu-0.14.0/target-i386/dummygl.c | ||
29 | @@ -0,0 +1,26 @@ | ||
30 | +#include <string.h> | ||
31 | +#include <stdlib.h> | ||
32 | +#include <assert.h> | ||
33 | +#include <stdint.h> | ||
34 | +#include <X11/Xlib.h> | ||
35 | +#include <X11/Xutil.h> | ||
36 | + | ||
37 | +void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window) | ||
38 | +{ | ||
39 | + | ||
40 | +} | ||
41 | + | ||
42 | +void opengl_process_enable(void) | ||
43 | +{ | ||
44 | + | ||
45 | +} | ||
46 | + | ||
47 | + | ||
48 | +void mem_opengl(uint64_t ptr) | ||
49 | +{ | ||
50 | + | ||
51 | +} | ||
52 | + | ||
53 | +void helper_opengl(void) | ||
54 | +{ | ||
55 | +} | ||
diff --git a/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch b/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch new file mode 100644 index 0000000000..2075386b9f --- /dev/null +++ b/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From c313f89c33217ac0e471554dace2144718f86669 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 13 May 2010 12:23:40 +0200 | ||
4 | Subject: [PATCH] linux-user: use default mmap_min_addr 65536 when /proc/sys/vm/mmap_min_addr cannot be read | ||
5 | |||
6 | * 65536 is default at least for ubuntu and fedora. | ||
7 | --- | ||
8 | linux-user/main.c | 5 +++++ | ||
9 | 1 files changed, 5 insertions(+), 0 deletions(-) | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Index: qemu-0.14.0/linux-user/main.c | ||
14 | =================================================================== | ||
15 | --- qemu-0.14.0.orig/linux-user/main.c | ||
16 | +++ qemu-0.14.0/linux-user/main.c | ||
17 | @@ -36,6 +36,7 @@ | ||
18 | #include "envlist.h" | ||
19 | |||
20 | #define DEBUG_LOGFILE "/tmp/qemu.log" | ||
21 | +#define MMAP_MIN_ADDR_DEFAULT 65536 | ||
22 | |||
23 | char *exec_path; | ||
24 | |||
25 | @@ -3010,8 +3011,14 @@ int main(int argc, char **argv, char **e | ||
26 | if (fscanf(fp, "%lu", &tmp) == 1) { | ||
27 | mmap_min_addr = tmp; | ||
28 | qemu_log("host mmap_min_addr=0x%lx\n", mmap_min_addr); | ||
29 | + } else { | ||
30 | + qemu_log("cannot read value from /proc/sys/vm/mmap_min_addr, assuming %d\n", MMAP_MIN_ADDR_DEFAULT); | ||
31 | + mmap_min_addr = MMAP_MIN_ADDR_DEFAULT; | ||
32 | } | ||
33 | fclose(fp); | ||
34 | + } else { | ||
35 | + qemu_log("cannot open /proc/sys/vm/mmap_min_addr for reading, assuming %d\n", MMAP_MIN_ADDR_DEFAULT); | ||
36 | + mmap_min_addr = MMAP_MIN_ADDR_DEFAULT; | ||
37 | } | ||
38 | } | ||
39 | |||
diff --git a/meta/recipes-devtools/qemu/files/fix-configure-checks.patch b/meta/recipes-devtools/qemu/files/fix-configure-checks.patch new file mode 100644 index 0000000000..ef77c92842 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/fix-configure-checks.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | In native builds, qemu can fail to find zlib development files in the native | ||
2 | sysroot and the build machine might not have zlib-dev packages installed. | ||
3 | |||
4 | Add CFLAGS to qemu's CFLAGS which in the native case means BUILD_CFLAGS are | ||
5 | added and files in the sysroot can be found. | ||
6 | |||
7 | Patch from Paul Eggleton, Comments by RP 28/11/10 | ||
8 | |||
9 | Upstream-Status: Inappropriate [embedded specific] | ||
10 | |||
11 | Index: qemu-1.2.0/configure | ||
12 | =================================================================== | ||
13 | --- qemu-1.2.0.orig/configure 2012-09-05 07:03:06.000000000 -0700 | ||
14 | +++ qemu-1.2.0/configure 2012-09-06 13:55:07.007793823 -0700 | ||
15 | @@ -281,6 +281,7 @@ | ||
16 | QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS" | ||
17 | QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS" | ||
18 | QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu" | ||
19 | +QEMU_CFLAGS="$QEMU_CFLAGS $CFLAGS" | ||
20 | if test "$debug_info" = "yes"; then | ||
21 | CFLAGS="-g $CFLAGS" | ||
22 | LDFLAGS="-g $LDFLAGS" | ||
diff --git a/meta/recipes-devtools/qemu/files/init-info.patch b/meta/recipes-devtools/qemu/files/init-info.patch new file mode 100644 index 0000000000..2250444a2b --- /dev/null +++ b/meta/recipes-devtools/qemu/files/init-info.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | # This is a workaround to the crashes seen on Ubuntu. Setting info to zero | ||
2 | # makes info.info.x11.display zero and avoids the calls to | ||
3 | # opengl_exec_set_parent_window, one of which is crashing. | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Index: qemu-0.14.0/ui/sdl.c | ||
8 | =================================================================== | ||
9 | --- qemu-0.14.0.orig/ui/sdl.c | ||
10 | +++ qemu-0.14.0/ui/sdl.c | ||
11 | @@ -863,6 +863,7 @@ void sdl_display_init(DisplayState *ds, | ||
12 | vi = SDL_GetVideoInfo(); | ||
13 | host_format = *(vi->vfmt); | ||
14 | |||
15 | + bzero(&info, sizeof(info)); | ||
16 | SDL_GetWMInfo(&info); | ||
17 | if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display) | ||
18 | opengl_exec_set_parent_window(info.info.x11.display, | ||
diff --git a/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch new file mode 100644 index 0000000000..711c36071d --- /dev/null +++ b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | This patch is taken from debian. 128M is too less sometimes if distro | ||
2 | with lot of packages is booted so this patch raises the default to 384M | ||
3 | |||
4 | It has not been applied to upstream qemu | ||
5 | |||
6 | Khem Raj <raj.khem@gmail.com> | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | Index: qemu-0.14.0/vl.c | ||
11 | =================================================================== | ||
12 | --- qemu-0.14.0.orig/vl.c | ||
13 | +++ qemu-0.14.0/vl.c | ||
14 | @@ -168,7 +168,7 @@ int main(int argc, char **argv) | ||
15 | //#define DEBUG_NET | ||
16 | //#define DEBUG_SLIRP | ||
17 | |||
18 | -#define DEFAULT_RAM_SIZE 128 | ||
19 | +#define DEFAULT_RAM_SIZE 384 | ||
20 | |||
21 | #define MAX_VIRTIO_CONSOLES 1 | ||
22 | |||
diff --git a/meta/recipes-devtools/qemu/files/linker-flags.patch b/meta/recipes-devtools/qemu/files/linker-flags.patch new file mode 100644 index 0000000000..0106ae2420 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/linker-flags.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | Fedora 13 switched the default behaviour of the linker to no longer | ||
2 | indirectly link to required libraries (i.e. dependencies of a library | ||
3 | already linked to). Therefore we need to explicitly pass the depended on | ||
4 | libraries into the linker for building to work on Fedora 13. | ||
5 | |||
6 | More information is available on the Fedora Wiki: | ||
7 | https://fedoraproject.org/wiki/UnderstandingDSOLinkChange | ||
8 | |||
9 | JL - 15/06/10 | ||
10 | |||
11 | Upstream-Status: Inappropriate [configuration] | ||
12 | |||
13 | Index: qemu-1.2.0/Makefile.target | ||
14 | =================================================================== | ||
15 | --- qemu-1.2.0.orig/Makefile.target 2012-09-05 07:03:06.000000000 -0700 | ||
16 | +++ qemu-1.2.0/Makefile.target 2012-09-06 13:42:24.819764288 -0700 | ||
17 | @@ -130,7 +130,7 @@ | ||
18 | obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o | ||
19 | obj-$(CONFIG_NO_GET_MEMORY_MAPPING) += memory_mapping-stub.o | ||
20 | obj-$(CONFIG_NO_CORE_DUMP) += dump-stub.o | ||
21 | -LIBS+=-lz | ||
22 | +LIBS+=-lz -lX11 -ldl | ||
23 | |||
24 | QEMU_CFLAGS += $(VNC_TLS_CFLAGS) | ||
25 | QEMU_CFLAGS += $(VNC_SASL_CFLAGS) | ||
diff --git a/meta/recipes-devtools/qemu/files/no-strip.patch b/meta/recipes-devtools/qemu/files/no-strip.patch new file mode 100644 index 0000000000..d6a4377cd0 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/no-strip.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: qemu-0.14.0/Makefile | ||
4 | =================================================================== | ||
5 | --- qemu-0.14.0.orig/Makefile | ||
6 | +++ qemu-0.14.0/Makefile | ||
7 | @@ -235,7 +235,7 @@ install-sysconfig: | ||
8 | install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig | ||
9 | $(INSTALL_DIR) "$(DESTDIR)$(bindir)" | ||
10 | ifneq ($(TOOLS),) | ||
11 | - $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" | ||
12 | + $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)" | ||
13 | endif | ||
14 | ifneq ($(BLOBS),) | ||
15 | $(INSTALL_DIR) "$(DESTDIR)$(datadir)" | ||
diff --git a/meta/recipes-devtools/qemu/files/powerpc_rom.bin b/meta/recipes-devtools/qemu/files/powerpc_rom.bin new file mode 100644 index 0000000000..c4044296c5 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/powerpc_rom.bin | |||
Binary files differ | |||
diff --git a/meta/recipes-devtools/qemu/files/relocatable_sdk.patch b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch new file mode 100644 index 0000000000..0a01a8a048 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | Upstream-Status: Inappropriate [SDK specific] | ||
2 | |||
3 | In order to be able to change the dynamic loader path when relocating | ||
4 | binaries, the interp section has to be made big enough to accomodate | ||
5 | the new path (4096 is the maximum path length in Linux). | ||
6 | |||
7 | Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> | ||
8 | |||
9 | Index: qemu-1.2.0/i386.ld | ||
10 | =================================================================== | ||
11 | --- qemu-1.2.0.orig/i386.ld | ||
12 | +++ qemu-1.2.0/i386.ld | ||
13 | @@ -8,7 +8,7 @@ SECTIONS | ||
14 | { | ||
15 | /* Read-only sections, merged into text segment: */ | ||
16 | . = 0x60000000 + SIZEOF_HEADERS; | ||
17 | - .interp : { *(.interp) } | ||
18 | + .interp : { *(.interp); . = 0x1000; } | ||
19 | .hash : { *(.hash) } | ||
20 | .dynsym : { *(.dynsym) } | ||
21 | .dynstr : { *(.dynstr) } | ||
22 | Index: qemu-1.2.0/x86_64.ld | ||
23 | =================================================================== | ||
24 | --- qemu-1.2.0.orig/x86_64.ld | ||
25 | +++ qemu-1.2.0/x86_64.ld | ||
26 | @@ -6,7 +6,7 @@ SECTIONS | ||
27 | { | ||
28 | /* Read-only sections, merged into text segment: */ | ||
29 | . = 0x60000000 + SIZEOF_HEADERS; | ||
30 | - .interp : { *(.interp) } | ||
31 | + .interp : { *(.interp); . = 0x1000; } | ||
32 | .hash : { *(.hash) } | ||
33 | .dynsym : { *(.dynsym) } | ||
34 | .dynstr : { *(.dynstr) } | ||