Browse Source

add qemu sparc64, but it segfaults

Waldemar Brodkorb 14 years ago
parent
commit
52229f5bf2

+ 1 - 1
target/sparc64/Makefile

@@ -7,7 +7,7 @@ include $(TOPDIR)/mk/modules.mk
 include $(TOPDIR)/mk/kernel-build.mk
 include $(TOPDIR)/mk/kernel-build.mk
 include $(TOPDIR)/mk/image.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)
 ifeq ($(ADK_TARGET_FS),archive)
 imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
 imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)

+ 13 - 0
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).
+

+ 30 - 6
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
 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.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 @@
 @@ -59,7 +59,7 @@
     done.  */
     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"
  #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
 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.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 @@
 @@ -25,7 +25,7 @@
  
  
  MULTILIB_OPTIONS = m64/m32
  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
  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
 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.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 @@
 @@ -36,9 +36,9 @@
    %{profile:-lc_p} %{!profile:-lc}}"
    %{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
 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.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 @@
 @@ -18,7 +18,7 @@
  
  
  MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
  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
 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.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 @@
 @@ -341,7 +341,7 @@
  #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
  #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
  #if UCLIBC_DEFAULT
 diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 gcc-4.5.3/gcc/config/rs6000/t-linux64
 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.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 @@
 @@ -36,7 +36,7 @@
  MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
  MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
  MULTILIB_EXCEPTIONS     = m64/msoft-float
  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)
  MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
  
  
  softfp_wrap_start := '\#ifndef __powerpc64__'
  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