summaryrefslogtreecommitdiff
path: root/meta/packages/qemu/qemu-0.9.1+svnr6190
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-01-05 15:56:31 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2009-01-05 15:56:31 +0000
commit55be33fd92859684db70a605c33b2c99a2c1a0f3 (patch)
tree45d9b9fa480d28571cb2780a1fe88b7b0f43e3d2 /meta/packages/qemu/qemu-0.9.1+svnr6190
parent5273e39edfeef73d0866276b447160cd7b1e9ecc (diff)
downloadopenembedded-core-55be33fd92859684db70a605c33b2c99a2c1a0f3.tar.gz
openembedded-core-55be33fd92859684db70a605c33b2c99a2c1a0f3.tar.bz2
openembedded-core-55be33fd92859684db70a605c33b2c99a2c1a0f3.tar.xz
openembedded-core-55be33fd92859684db70a605c33b2c99a2c1a0f3.zip
qemu: Upgrade to latest svn removing a ton of merged patches (yay)
Diffstat (limited to 'meta/packages/qemu/qemu-0.9.1+svnr6190')
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/06_exit_segfault.patch45
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/11_signal_sigaction.patch21
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/22_net_tuntap_stall.patch18
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/31_syscalls.patch27
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/52_ne2000_return.patch17
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/63_sparc_build.patch18
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/64_ppc_asm_constraints.patch18
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/66_tls_ld.patch55
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/91-oh-sdl-cursor.patch18
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/fix-dirent.patch12
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/no-strip.patch22
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/qemu-amd64-32b-mapping-0.9.0.patch37
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/series13
-rw-r--r--meta/packages/qemu/qemu-0.9.1+svnr6190/workaround_bad_futex_headers.patch24
14 files changed, 345 insertions, 0 deletions
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/06_exit_segfault.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/06_exit_segfault.patch
new file mode 100644
index 000000000..06123d062
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/06_exit_segfault.patch
@@ -0,0 +1,45 @@
+#DPATCHLEVEL=0
+---
+# linux-user/main.c | 8 ++++----
+# 1 file changed, 4 insertions(+), 4 deletions(-)
+#
+Index: linux-user/main.c
+===================================================================
+--- linux-user/main.c.orig 2007-12-03 23:47:25.000000000 +0000
++++ linux-user/main.c 2007-12-03 23:47:41.000000000 +0000
+@@ -714,7 +714,7 @@ void cpu_loop (CPUSPARCState *env)
+ default:
+ printf ("Unhandled trap: 0x%x\n", trapnr);
+ cpu_dump_state(env, stderr, fprintf, 0);
+- exit (1);
++ _exit (1);
+ }
+ process_pending_signals (env);
+ }
+@@ -1634,7 +1634,7 @@ void cpu_loop (CPUState *env)
+ default:
+ printf ("Unhandled trap: 0x%x\n", trapnr);
+ cpu_dump_state(env, stderr, fprintf, 0);
+- exit (1);
++ _exit (1);
+ }
+ process_pending_signals (env);
+ }
+@@ -1954,7 +1954,7 @@ int main(int argc, char **argv)
+ for(item = cpu_log_items; item->mask != 0; item++) {
+ printf("%-10s %s\n", item->name, item->help);
+ }
+- exit(1);
++ _exit(1);
+ }
+ cpu_set_log(mask);
+ } else if (!strcmp(r, "s")) {
+@@ -1973,7 +1973,7 @@ int main(int argc, char **argv)
+ if (qemu_host_page_size == 0 ||
+ (qemu_host_page_size & (qemu_host_page_size - 1)) != 0) {
+ fprintf(stderr, "page size must be a power of two\n");
+- exit(1);
++ _exit(1);
+ }
+ } else if (!strcmp(r, "g")) {
+ gdbstub_port = atoi(argv[optind++]);
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/11_signal_sigaction.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/11_signal_sigaction.patch
new file mode 100644
index 000000000..33c5e8b12
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/11_signal_sigaction.patch
@@ -0,0 +1,21 @@
+#DPATCHLEVEL=0
+---
+# linux-user/signal.c | 5 +++++
+# 1 file changed, 5 insertions(+)
+#
+Index: linux-user/signal.c
+===================================================================
+--- linux-user/signal.c.orig 2007-12-03 23:47:44.000000000 +0000
++++ linux-user/signal.c 2007-12-03 23:47:46.000000000 +0000
+@@ -512,6 +512,11 @@ int do_sigaction(int sig, const struct t
+
+ if (sig < 1 || sig > TARGET_NSIG || sig == SIGKILL || sig == SIGSTOP)
+ return -EINVAL;
++
++ /* no point doing the stuff as those are not allowed for sigaction */
++ if ((sig == TARGET_SIGKILL) || (sig == TARGET_SIGSTOP))
++ return -EINVAL;
++
+ k = &sigact_table[sig - 1];
+ #if defined(DEBUG_SIGNAL)
+ fprintf(stderr, "sigaction sig=%d act=0x%08x, oact=0x%08x\n",
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/22_net_tuntap_stall.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/22_net_tuntap_stall.patch
new file mode 100644
index 000000000..f2bfbc910
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/22_net_tuntap_stall.patch
@@ -0,0 +1,18 @@
+#DPATCHLEVEL=0
+---
+# vl.c | 2 +-
+# 1 file changed, 1 insertion(+), 1 deletion(-)
+#
+Index: net.c
+===================================================================
+--- net.c.orig 2009-01-05 11:27:29.000000000 +0000
++++ net.c 2009-01-05 11:27:40.000000000 +0000
+@@ -852,7 +852,7 @@
+ return -1;
+ }
+ memset(&ifr, 0, sizeof(ifr));
+- ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
++ ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE;;
+ if (ifname[0] != '\0')
+ pstrcpy(ifr.ifr_name, IFNAMSIZ, ifname);
+ else
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/31_syscalls.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/31_syscalls.patch
new file mode 100644
index 000000000..df2aa84bb
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/31_syscalls.patch
@@ -0,0 +1,27 @@
+#DPATCHLEVEL=0
+---
+# linux-user/syscall.c | 11 ++++++++---
+# 1 file changed, 8 insertions(+), 3 deletions(-)
+#
+Index: linux-user/syscall.c
+===================================================================
+--- linux-user/syscall.c.orig 2009-01-05 12:32:37.000000000 +0000
++++ linux-user/syscall.c 2009-01-05 12:32:37.000000000 +0000
+@@ -298,6 +298,7 @@
+ extern int setfsuid(int);
+ extern int setfsgid(int);
+ extern int setgroups(int, gid_t *);
++extern int uselib(const char*);
+
+ #define ERRNO_TABLE_SIZE 1200
+
+@@ -4397,7 +4398,8 @@
+ #endif
+ #ifdef TARGET_NR_uselib
+ case TARGET_NR_uselib:
+- goto unimplemented;
++ ret = get_errno(uselib(path((const char*)arg1)));
++ break;
+ #endif
+ #ifdef TARGET_NR_swapon
+ case TARGET_NR_swapon:
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/52_ne2000_return.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/52_ne2000_return.patch
new file mode 100644
index 000000000..e4ea33f2c
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/52_ne2000_return.patch
@@ -0,0 +1,17 @@
+---
+ hw/ne2000.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: qemu/hw/ne2000.c
+===================================================================
+--- qemu.orig/hw/ne2000.c 2007-12-03 19:32:52.000000000 +0000
++++ qemu/hw/ne2000.c 2007-12-03 19:33:55.000000000 +0000
+@@ -217,7 +217,7 @@ static int ne2000_can_receive(void *opaq
+ NE2000State *s = opaque;
+
+ if (s->cmd & E8390_STOP)
+- return 1;
++ return 0;
+ return !ne2000_buffer_full(s);
+ }
+
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/63_sparc_build.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/63_sparc_build.patch
new file mode 100644
index 000000000..37b38f641
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/63_sparc_build.patch
@@ -0,0 +1,18 @@
+#DPATCHLEVEL=0
+---
+# sparc.ld | 2 +-
+# 1 file changed, 1 insertion(+), 1 deletion(-)
+#
+Index: sparc.ld
+===================================================================
+--- sparc.ld.orig 2007-12-03 15:40:26.000000000 +0000
++++ sparc.ld 2007-12-03 16:05:06.000000000 +0000
+@@ -6,7 +6,7 @@ ENTRY(_start)
+ SECTIONS
+ {
+ /* Read-only sections, merged into text segment: */
+- . = 0x60000000 + SIZEOF_HEADERS;
++ . = 0x60000000 + 0x400;
+ .interp : { *(.interp) }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/64_ppc_asm_constraints.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/64_ppc_asm_constraints.patch
new file mode 100644
index 000000000..e4858b79d
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/64_ppc_asm_constraints.patch
@@ -0,0 +1,18 @@
+#DPATCHLEVEL=1
+---
+# cpu-all.h | 2 +-
+# 1 file changed, 1 insertion(+), 1 deletion(-)
+#
+Index: qemu/cpu-all.h
+===================================================================
+--- qemu.orig/cpu-all.h 2007-06-13 11:48:22.000000000 +0100
++++ qemu/cpu-all.h 2007-06-13 11:51:56.000000000 +0100
+@@ -250,7 +250,7 @@ static inline void stw_le_p(void *ptr, i
+ static inline void stl_le_p(void *ptr, int v)
+ {
+ #ifdef __powerpc__
+- __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*(uint32_t *)ptr) : "r" (v), "r" (ptr));
++ __asm__ __volatile__ ("stwbrx %0,0,%1" : : "r" (v), "r" (ptr) : "memory");
+ #else
+ uint8_t *p = ptr;
+ p[0] = v;
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/66_tls_ld.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/66_tls_ld.patch
new file mode 100644
index 000000000..54e02eff8
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/66_tls_ld.patch
@@ -0,0 +1,55 @@
+---
+ arm.ld | 7 +++++++
+ i386.ld | 7 +++++++
+ 2 files changed, 14 insertions(+)
+
+Index: arm.ld
+===================================================================
+--- arm.ld.orig 2007-06-13 11:48:22.000000000 +0100
++++ arm.ld 2007-06-13 11:51:56.000000000 +0100
+@@ -26,6 +26,10 @@ SECTIONS
+ { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
+ .rela.rodata :
+ { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
++ .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
++ .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
++ .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
++ .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
+ .rel.got : { *(.rel.got) }
+ .rela.got : { *(.rela.got) }
+ .rel.ctors : { *(.rel.ctors) }
+@@ -58,6 +62,9 @@ SECTIONS
+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
+ __exidx_end = .;
+ .reginfo : { *(.reginfo) }
++ /* Thread Local Storage sections */
++ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
++ .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
+ /* Adjust the address for the data segment. We want to adjust up to
+ the same address within the page on the next page up. */
+ . = ALIGN(0x100000) + (. & (0x100000 - 1));
+Index: i386.ld
+===================================================================
+--- i386.ld.orig 2007-06-13 11:48:22.000000000 +0100
++++ i386.ld 2007-06-13 11:51:56.000000000 +0100
+@@ -28,6 +28,10 @@ SECTIONS
+ { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
+ .rela.rodata :
+ { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
++ .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
++ .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
++ .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
++ .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
+ .rel.got : { *(.rel.got) }
+ .rela.got : { *(.rela.got) }
+ .rel.ctors : { *(.rel.ctors) }
+@@ -53,6 +57,9 @@ SECTIONS
+ _etext = .;
+ PROVIDE (etext = .);
+ .fini : { *(.fini) } =0x47ff041f
++ /* Thread Local Storage sections */
++ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
++ .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
+ . = ALIGN(32 / 8);
+ PROVIDE (__preinit_array_start = .);
+ .preinit_array : { *(.preinit_array) }
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/91-oh-sdl-cursor.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/91-oh-sdl-cursor.patch
new file mode 100644
index 000000000..0d60c1c30
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/91-oh-sdl-cursor.patch
@@ -0,0 +1,18 @@
+=== modified file 'sdl.c'
+---
+ sdl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: sdl.c
+===================================================================
+--- sdl.c.orig 2007-12-03 19:32:15.000000000 +0000
++++ sdl.c 2007-12-03 19:34:04.000000000 +0000
+@@ -247,7 +247,7 @@ static void sdl_hide_cursor(void)
+
+ if (kbd_mouse_is_absolute()) {
+ SDL_ShowCursor(1);
+- SDL_SetCursor(sdl_cursor_hidden);
++ /* SDL_SetCursor(sdl_cursor_hidden); */
+ } else {
+ SDL_ShowCursor(0);
+ }
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/fix-dirent.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/fix-dirent.patch
new file mode 100644
index 000000000..575dbfa0c
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/fix-dirent.patch
@@ -0,0 +1,12 @@
+Index: trunk/linux-user/syscall.c
+===================================================================
+--- trunk.orig/linux-user/syscall.c 2009-01-05 12:51:52.000000000 +0000
++++ trunk/linux-user/syscall.c 2009-01-05 12:51:52.000000000 +0000
+@@ -26,6 +26,7 @@
+ #include <errno.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <dirent.h>
+ #include <time.h>
+ #include <limits.h>
+ #include <sys/types.h>
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/no-strip.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/no-strip.patch
new file mode 100644
index 000000000..fc69b37e1
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/no-strip.patch
@@ -0,0 +1,22 @@
+--- qemu.orig/Makefile 2008-01-29 23:16:27.000000000 -0800
++++ qemu-0.9.1/Makefile 2008-01-29 23:16:38.000000000 -0800
+@@ -174,7 +174,7 @@
+ install: all $(if $(BUILD_DOCS),install-doc)
+ mkdir -p "$(DESTDIR)$(bindir)"
+ ifneq ($(TOOLS),)
+- $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
++ $(INSTALL) -m 755 $(TOOLS) "$(DESTDIR)$(bindir)"
+ endif
+ mkdir -p "$(DESTDIR)$(datadir)"
+ for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+--- qemu.orig/Makefile.target 2008-01-29 23:16:27.000000000 -0800
++++ qemu-0.9.1/Makefile.target 2008-01-29 23:17:33.000000000 -0800
+@@ -632,7 +632,7 @@
+
+ install: all
+ ifneq ($(PROGS),)
+- $(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
++ $(INSTALL) -m 755 $(PROGS) "$(DESTDIR)$(bindir)"
+ endif
+
+ ifneq ($(wildcard .depend),)
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/qemu-amd64-32b-mapping-0.9.0.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/qemu-amd64-32b-mapping-0.9.0.patch
new file mode 100644
index 000000000..40ab59c76
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/qemu-amd64-32b-mapping-0.9.0.patch
@@ -0,0 +1,37 @@
+---
+ linux-user/mmap.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+Index: trunk/linux-user/mmap.c
+===================================================================
+--- trunk.orig/linux-user/mmap.c 2009-01-05 11:09:58.000000000 +0000
++++ trunk/linux-user/mmap.c 2009-01-05 12:46:33.000000000 +0000
+@@ -122,6 +122,10 @@
+ munmap(p, *p);
+ }
+
++#ifndef MAP_32BIT
++#define MAP_32BIT 0
++#endif
++
+ /* NOTE: all the constants are the HOST ones, but addresses are target. */
+ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
+ {
+@@ -365,7 +369,7 @@
+ especially important if qemu_host_page_size >
+ qemu_real_host_page_size */
+ p = mmap(g2h(mmap_start),
+- host_len, prot, flags | MAP_FIXED, fd, host_offset);
++ host_len, prot, flags | MAP_FIXED | MAP_32BIT, fd, host_offset);
+ if (p == MAP_FAILED)
+ goto fail;
+ /* update start so that it points to the file position at 'offset' */
+@@ -567,7 +571,7 @@
+ flags | MREMAP_FIXED,
+ g2h(mmap_start));
+ } else {
+- host_addr = mremap(g2h(old_addr), old_size, new_size, flags);
++ host_addr = mremap(g2h(old_addr), old_size, new_size, flags | MAP_32BIT);
+ /* Check if address fits target address space */
+ if ((unsigned long)host_addr + new_size > (abi_ulong)-1) {
+ /* Revert mremap() changes */
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/series b/meta/packages/qemu/qemu-0.9.1+svnr6190/series
new file mode 100644
index 000000000..57d41df4f
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/series
@@ -0,0 +1,13 @@
+06_exit_segfault.patch -p0
+11_signal_sigaction.patch -p0
+22_net_tuntap_stall.patch -p0
+31_syscalls.patch -p0
+52_ne2000_return.patch -p1
+63_sparc_build.patch -p0
+64_ppc_asm_constraints.patch -p1
+66_tls_ld.patch -p0
+91-oh-sdl-cursor.patch -p0
+qemu-amd64-32b-mapping-0.9.0.patch -p1
+workaround_bad_futex_headers.patch -p1
+no-strip.patch -p1
+fix-dirent.patch -p1
diff --git a/meta/packages/qemu/qemu-0.9.1+svnr6190/workaround_bad_futex_headers.patch b/meta/packages/qemu/qemu-0.9.1+svnr6190/workaround_bad_futex_headers.patch
new file mode 100644
index 000000000..b254b2410
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.1+svnr6190/workaround_bad_futex_headers.patch
@@ -0,0 +1,24 @@
+---
+ linux-user/syscall.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+Index: trunk/linux-user/syscall.c
+===================================================================
+--- trunk.orig/linux-user/syscall.c 2009-01-05 12:47:06.000000000 +0000
++++ trunk/linux-user/syscall.c 2009-01-05 12:48:04.000000000 +0000
+@@ -87,6 +87,15 @@
+ #define CLONE_NPTL_FLAGS2 0
+ #endif
+
++#define FUTEX_WAIT 0
++#define FUTEX_WAKE 1
++#define FUTEX_FD 2
++#define FUTEX_REQUEUE 3
++#define FUTEX_CMP_REQUEUE 4
++#define FUTEX_WAKE_OP 5
++#define FUTEX_LOCK_PI 6
++#define FUTEX_UNLOCK_PI 7
++
+ //#define DEBUG
+
+ #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) \