summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-08-24 12:19:48 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-08-24 12:19:48 +0200
commit52229f5bf2fe45d139c6a692415fe1ffb8ea4041 (patch)
treea06d4988f6df2c3d15a9b6574d45a9171a476187
parentc39e8b5f6441ae3a9ba351bd5e3c2d31e0371415 (diff)
add qemu sparc64, but it segfaults
-rw-r--r--target/sparc64/Makefile2
-rw-r--r--target/sparc64/sys-available/qemu-sparc6413
-rw-r--r--toolchain/gcc/patches/no-lib64.patch36
3 files changed, 44 insertions, 7 deletions
diff --git a/target/sparc64/Makefile b/target/sparc64/Makefile
index 9f2a152f9..39212d52e 100644
--- a/target/sparc64/Makefile
+++ b/target/sparc64/Makefile
@@ -7,7 +7,7 @@ include $(TOPDIR)/mk/modules.mk
include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
-KERNEL:=$(LINUX_DIR)/arch/sparc64/boot/zImage
+KERNEL:=$(LINUX_DIR)/arch/sparc/boot/zImage
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
diff --git a/target/sparc64/sys-available/qemu-sparc64 b/target/sparc64/sys-available/qemu-sparc64
new file mode 100644
index 000000000..06f493ba7
--- /dev/null
+++ b/target/sparc64/sys-available/qemu-sparc64
@@ -0,0 +1,13 @@
+config ADK_TARGET_SYSTEM_QEMU_SPARC64
+ bool "Qemu Emulator"
+ select ADK_sparc64
+ select ADK_qemu_sparc64
+ select ADK_CPU_SPARC_V9
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_PCI
+ select ADK_TARGET_WITH_HDD
+ help
+ Support for Qemu Emulator (SPARC64).
+
diff --git a/toolchain/gcc/patches/no-lib64.patch b/toolchain/gcc/patches/no-lib64.patch
index 5fc1225e1..5c6e0b045 100644
--- a/toolchain/gcc/patches/no-lib64.patch
+++ b/toolchain/gcc/patches/no-lib64.patch
@@ -1,6 +1,6 @@
diff -Nur gcc-4.5.3.orig/gcc/config/i386/linux64.h gcc-4.5.3/gcc/config/i386/linux64.h
--- gcc-4.5.3.orig/gcc/config/i386/linux64.h 2010-03-24 21:44:48.000000000 +0100
-+++ gcc-4.5.3/gcc/config/i386/linux64.h 2011-08-24 01:58:27.000000000 +0200
++++ gcc-4.5.3/gcc/config/i386/linux64.h 2011-08-24 06:35:30.000000000 +0200
@@ -59,7 +59,7 @@
done. */
@@ -12,7 +12,7 @@ diff -Nur gcc-4.5.3.orig/gcc/config/i386/linux64.h gcc-4.5.3/gcc/config/i386/lin
#define SPEC_32 "m32"
diff -Nur gcc-4.5.3.orig/gcc/config/i386/t-linux64 gcc-4.5.3/gcc/config/i386/t-linux64
--- gcc-4.5.3.orig/gcc/config/i386/t-linux64 2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.5.3/gcc/config/i386/t-linux64 2011-08-24 01:58:27.000000000 +0200
++++ gcc-4.5.3/gcc/config/i386/t-linux64 2011-08-24 06:35:30.000000000 +0200
@@ -25,7 +25,7 @@
MULTILIB_OPTIONS = m64/m32
@@ -24,7 +24,7 @@ diff -Nur gcc-4.5.3.orig/gcc/config/i386/t-linux64 gcc-4.5.3/gcc/config/i386/t-l
INSTALL_LIBGCC = install-multilib
diff -Nur gcc-4.5.3.orig/gcc/config/mips/linux64.h gcc-4.5.3/gcc/config/mips/linux64.h
--- gcc-4.5.3.orig/gcc/config/mips/linux64.h 2009-02-20 16:20:38.000000000 +0100
-+++ gcc-4.5.3/gcc/config/mips/linux64.h 2011-08-24 01:58:27.000000000 +0200
++++ gcc-4.5.3/gcc/config/mips/linux64.h 2011-08-24 06:35:30.000000000 +0200
@@ -36,9 +36,9 @@
%{profile:-lc_p} %{!profile:-lc}}"
@@ -40,7 +40,7 @@ diff -Nur gcc-4.5.3.orig/gcc/config/mips/linux64.h gcc-4.5.3/gcc/config/mips/lin
diff -Nur gcc-4.5.3.orig/gcc/config/mips/t-linux64 gcc-4.5.3/gcc/config/mips/t-linux64
--- gcc-4.5.3.orig/gcc/config/mips/t-linux64 2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.5.3/gcc/config/mips/t-linux64 2011-08-24 01:58:27.000000000 +0200
++++ gcc-4.5.3/gcc/config/mips/t-linux64 2011-08-24 06:35:30.000000000 +0200
@@ -18,7 +18,7 @@
MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
@@ -52,7 +52,7 @@ diff -Nur gcc-4.5.3.orig/gcc/config/mips/t-linux64 gcc-4.5.3/gcc/config/mips/t-l
diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/linux64.h gcc-4.5.3/gcc/config/rs6000/linux64.h
--- gcc-4.5.3.orig/gcc/config/rs6000/linux64.h 2010-11-17 07:09:53.000000000 +0100
-+++ gcc-4.5.3/gcc/config/rs6000/linux64.h 2011-08-24 02:01:35.000000000 +0200
++++ gcc-4.5.3/gcc/config/rs6000/linux64.h 2011-08-24 06:35:30.000000000 +0200
@@ -341,7 +341,7 @@
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
@@ -64,7 +64,7 @@ diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/linux64.h gcc-4.5.3/gcc/config/rs6000
#if UCLIBC_DEFAULT
diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 gcc-4.5.3/gcc/config/rs6000/t-linux64
--- gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.5.3/gcc/config/rs6000/t-linux64 2011-08-24 02:00:50.000000000 +0200
++++ gcc-4.5.3/gcc/config/rs6000/t-linux64 2011-08-24 06:35:30.000000000 +0200
@@ -36,7 +36,7 @@
MULTILIB_EXTRA_OPTS = fPIC mstrict-align
MULTILIB_EXCEPTIONS = m64/msoft-float
@@ -74,3 +74,27 @@ diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 gcc-4.5.3/gcc/config/rs6000
MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
softfp_wrap_start := '\#ifndef __powerpc64__'
+diff -Nur gcc-4.5.3.orig/gcc/config/sparc/linux64.h gcc-4.5.3/gcc/config/sparc/linux64.h
+--- gcc-4.5.3.orig/gcc/config/sparc/linux64.h 2010-09-22 23:15:37.000000000 +0200
++++ gcc-4.5.3/gcc/config/sparc/linux64.h 2011-08-24 06:36:52.000000000 +0200
+@@ -110,7 +110,7 @@
+ /* If ELF is the default format, we should not use /lib/elf. */
+
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
+
+ #ifdef SPARC_BI_ARCH
+
+diff -Nur gcc-4.5.3.orig/gcc/config/sparc/t-linux64 gcc-4.5.3/gcc/config/sparc/t-linux64
+--- gcc-4.5.3.orig/gcc/config/sparc/t-linux64 2010-10-04 18:54:26.000000000 +0200
++++ gcc-4.5.3/gcc/config/sparc/t-linux64 2011-08-24 06:37:15.000000000 +0200
+@@ -26,7 +26,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib