File icedtea-ports.patch of Package java-1_7_0-icedtea

diff -urN openjdk.orig/corba/make/common/Defs-linux.gmk openjdk/corba/make/common/Defs-linux.gmk
--- openjdk.orig/corba/make/common/Defs-linux.gmk	2007-12-14 08:56:37.000000000 +0100
+++ openjdk/corba/make/common/Defs-linux.gmk	2008-03-03 03:05:49.761310000 +0100
@@ -99,6 +99,14 @@
 LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
 CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
 LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
+CFLAGS_REQUIRED_ppc     += -m32
+LDFLAGS_COMMON_ppc      += -m32
+CFLAGS_REQUIRED_ppc64   += -m64
+LDFLAGS_COMMON_ppc64    += -m64
+CFLAGS_REQUIRED_s390    += -m32
+LDFLAGS_COMMON_s390     += -m32
+CFLAGS_REQUIRED_s390x   += -m64
+LDFLAGS_COMMON_s390x    += -m64
 CFLAGS_REQUIRED         =  $(CFLAGS_REQUIRED_$(ARCH))
 LDFLAGS_COMMON          += $(LDFLAGS_COMMON_$(ARCH))
 
diff -urN openjdk.orig/corba/make/common/shared/Compiler-gcc.gmk openjdk/corba/make/common/shared/Compiler-gcc.gmk
--- openjdk.orig/corba/make/common/shared/Compiler-gcc.gmk	2007-12-14 08:56:37.000000000 +0100
+++ openjdk/corba/make/common/shared/Compiler-gcc.gmk	2008-03-03 03:06:18.890001000 +0100
@@ -74,13 +74,13 @@
     # sparc or sparcv9
     REQUIRED_CC_VER = 4.0
     REQUIRED_GCC_VER = 4.0.*
-  else
-  ifeq ($(ARCH_DATA_MODEL), 32)
+  endif
+  ifeq ($(ARCH), i586)
     # i586
     REQUIRED_CC_VER = 3.2
     REQUIRED_GCC_VER = 3.2.1*
     REQUIRED_GCC_VER_INT = 3.2.1-7a
-  else
+  endif
   ifeq ($(ARCH), amd64)
     # amd64
     REQUIRED_CC_VER = 3.2
@@ -91,7 +91,15 @@
     REQUIRED_CC_VER = 3.2
     REQUIRED_GCC_VER = 2.9[56789].*
   endif
+  ifneq ("$(findstring ppc,$(ARCH))", "")
+    # ppc or ppc64
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
   endif
+  ifneq ("$(findstring s390,$(ARCH))", "")
+    # ppc or ppc64
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
   endif
   # Option used to create a shared library
   SHARED_LIBRARY_FLAG = -shared -mimpure-text
diff -urN openjdk.orig/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk
--- openjdk.orig/corba/make/common/shared/Platform.gmk	2007-12-14 08:56:37.000000000 +0100
+++ openjdk/corba/make/common/shared/Platform.gmk	2008-03-03 03:06:40.003375000 +0100
@@ -214,9 +214,9 @@
       ARCH=sparcv9
     endif
   else
-    # i586 is 32-bit, amd64 is 64-bit
+    # i586 and ppc are 32-bit, amd64 and ppc64 are 64-bit
     ifndef ARCH_DATA_MODEL
-      ifeq ($(ARCH), i586)
+      ifneq ($(filter i586 ppc s390,$(ARCH)),)
         ARCH_DATA_MODEL=32
       else
         ARCH_DATA_MODEL=64
diff -urN openjdk.orig/hotspot/build/linux/makefiles/buildtree.make openjdk/hotspot/build/linux/makefiles/buildtree.make
--- openjdk.orig/hotspot/build/linux/makefiles/buildtree.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/build/linux/makefiles/buildtree.make	2008-03-03 02:56:27.928568000 +0100
@@ -317,6 +317,10 @@
 DATA_MODE/sparcv9 = 64
 DATA_MODE/amd64   = 64
 DATA_MODE/ia64    = 64
+DATA_MODE/ppc     = 32
+DATA_MODE/ppc64   = 64
+DATA_MODE/s390    = 32
+DATA_MODE/s390x   = 64
 
 JAVA_FLAG/32 = -d32
 JAVA_FLAG/64 = -d64
diff -urN openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/build/linux/makefiles/defs.make
--- openjdk.orig/hotspot/build/linux/makefiles/defs.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-03-03 02:57:30.736229000 +0100
@@ -87,6 +87,40 @@
   HS_ARCH          = x86
 endif
 
+# ppc
+ifeq ($(ARCH), ppc)
+  ARCH_DATA_MODEL  = 32
+  PLATFORM         = linux-ppc
+  VM_PLATFORM      = linux_ppc
+  HS_ARCH          = zero
+endif
+
+# ppc64
+ifeq ($(ARCH), ppc64)
+  ARCH_DATA_MODEL  = 64
+  MAKE_ARGS        += LP64=1
+  PLATFORM         = linux-ppc64
+  VM_PLATFORM      = linux_ppc64
+  HS_ARCH          = zero
+endif
+
+# ppc
+ifeq ($(ARCH), s390)
+  ARCH_DATA_MODEL  = 32
+  PLATFORM         = linux-s390
+  VM_PLATFORM      = linux_s390
+  HS_ARCH          = zero
+endif
+
+# ppc64
+ifeq ($(ARCH), s390x)
+  ARCH_DATA_MODEL  = 64
+  MAKE_ARGS        += LP64=1
+  PLATFORM         = linux-s390x
+  VM_PLATFORM      = linux_s390x
+  HS_ARCH          = zero
+endif
+
 JDK_INCLUDE_SUBDIR=linux
 
 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
diff -urN openjdk.orig/hotspot/build/linux/makefiles/gcc.make openjdk/hotspot/build/linux/makefiles/gcc.make
--- openjdk.orig/hotspot/build/linux/makefiles/gcc.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/build/linux/makefiles/gcc.make	2008-03-03 02:57:57.149300000 +0100
@@ -71,6 +71,10 @@
 ARCHFLAG/ia64    =
 ARCHFLAG/sparc   = -m32 -mcpu=v9
 ARCHFLAG/sparcv9 = -m64 -mcpu=v9
+ARCHFLAG/ppc     = -m32
+ARCHFLAG/ppc64   = -m64
+ARCHFLAG/s390    = -m32
+ARCHFLAG/s390x   = -m64
 
 CFLAGS     += $(ARCHFLAG)
 AOUT_FLAGS += $(ARCHFLAG)
diff -urN openjdk.orig/hotspot/build/linux/makefiles/sa.make openjdk/hotspot/build/linux/makefiles/sa.make
--- openjdk.orig/hotspot/build/linux/makefiles/sa.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/build/linux/makefiles/sa.make	2008-03-03 02:55:41.333517000 +0100
@@ -51,10 +51,10 @@
 SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
 
 # if $(AGENT_DIR) does not exist, we don't build SA
-# also, we don't build SA on Itanium.
+# also, we don't build SA on zero.
 
 all: 
-	if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \
+	if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "zero" ] ; then \
 	   $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
 	fi
 
diff -urN openjdk.orig/hotspot/build/linux/makefiles/saproc.make openjdk/hotspot/build/linux/makefiles/saproc.make
--- openjdk.orig/hotspot/build/linux/makefiles/saproc.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/build/linux/makefiles/saproc.make	2008-03-03 02:55:41.335516000 +0100
@@ -44,10 +44,10 @@
 DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC)
 
 # if $(AGENT_DIR) does not exist, we don't build SA
-# also, we don't build SA on Itanium.
+# also, we don't build SA on zero.
 
 checkAndBuildSA:
-	$(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \
+	$(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "zero" ] ; then \
 	   $(MAKE) -f vm.make $(LIBSAPROC); \
 	fi
 
diff -urN openjdk.orig/hotspot/build/linux/makefiles/vm.make openjdk/hotspot/build/linux/makefiles/vm.make
--- openjdk.orig/hotspot/build/linux/makefiles/vm.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/build/linux/makefiles/vm.make	2008-03-03 02:55:41.349502000 +0100
@@ -122,7 +122,11 @@
 	rm -f $@
 	cat $^ > $@
 
-STATIC_CXX = true
+ifeq ($(BUILDARCH), ppc64)
+  STATIC_CXX = false
+else
+  STATIC_CXX = true
+endif
 
 ifeq ($(LINK_INTO),AOUT)
   LIBJVM.o                 =
diff -urN openjdk.orig/hotspot/make/defs.make openjdk/hotspot/make/defs.make
--- openjdk.orig/hotspot/make/defs.make	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/make/defs.make	2008-03-03 02:59:00.630287000 +0100
@@ -191,15 +191,19 @@
 
   # Use uname output for SRCARCH, but deal with platform differences. If ARCH
   # is not explicitly listed below, it is treated as x86. 
-  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64,$(ARCH)))
+  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64 s390 s390x,$(ARCH)))
   ARCH/       = x86
   ARCH/sparc  = sparc
   ARCH/sparc64= sparc
   ARCH/ia64   = ia64
   ARCH/amd64  = x86
   ARCH/x86_64 = x86
+  ARCH/ppc    = zero
+  ARCH/ppc64  = zero
+  ARCH/s390   = zero
+  ARCH/s390x  = zero
 
-  # BUILDARCH is usually the same as SRCARCH, except for sparcv9
+  # BUILDARCH is usually the same as SRCARCH, except for sparcv9 and zero
   BUILDARCH = $(SRCARCH)
   ifeq ($(BUILDARCH), x86)
     ifdef LP64
@@ -213,6 +217,9 @@
       BUILDARCH = sparcv9
     endif
   endif
+  ifeq ($(BUILDARCH), zero)
+    BUILDARCH = $(ARCH)
+  endif
 
   # LIBARCH is 1:1 mapping from BUILDARCH
   LIBARCH         = $(LIBARCH/$(BUILDARCH))
@@ -221,8 +228,12 @@
   LIBARCH/sparc   = sparc
   LIBARCH/sparcv9 = sparcv9
   LIBARCH/ia64    = ia64
+  LIBARCH/ppc     = ppc
+  LIBARCH/ppc64   = ppc64
+  LIBARCH/s390    = s390
+  LIBARCH/s390x   = s390x
 
-  LP64_ARCH = sparcv9 amd64 ia64
+  LP64_ARCH = sparcv9 amd64 ia64 ppc64 s390x
 endif
 
 # Required make macro settings for all platforms
diff -urN openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp	2007-12-14 08:57:02.000000000 +0100
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2008-03-03 03:00:09.949622000 +0100
@@ -171,6 +171,20 @@
 #  else
 static char cpu_arch[] = "sparc";
 #  endif
+#elif defined(PPC)
+#  ifdef _LP64
+static char cpu_arch[] = "ppc64";
+#  else
+static char cpu_arch[] = "ppc";
+#  endif
+#elif defined(S390)
+#  ifdef _LP64
+static char cpu_arch[] = "s390x";
+#  else
+static char cpu_arch[] = "s390";
+#  endif
+#elif defined(S390X)
+static char cpu_arch[] = "s390x";
 #else
 #error Add appropriate cpu_arch setting
 #endif
@@ -2354,7 +2368,8 @@
     // format has been changed), we'll use the largest page size supported by
     // the processor.
 
-    _large_page_size = IA32_ONLY(4 * M) AMD64_ONLY(2 * M) IA64_ONLY(256 * M) SPARC_ONLY(4 * M);
+    _large_page_size = IA32_ONLY(4 * M) AMD64_ONLY(2 * M) IA64_ONLY(256 * M)
+      SPARC_ONLY(4 * M) PPC_ONLY(16 * M) S390_ONLY(4 * M) S390X_ONLY(4 * M);
 
     FILE *fp = fopen("/proc/meminfo", "r");
     if (fp) {
diff -urN openjdk.orig/hotspot/src/share/vm/runtime/mutex.hpp openjdk/hotspot/src/share/vm/runtime/mutex.hpp
--- openjdk.orig/hotspot/src/share/vm/runtime/mutex.hpp	2007-12-14 08:57:03.000000000 +0100
+++ openjdk/hotspot/src/share/vm/runtime/mutex.hpp	2008-03-03 03:00:44.235155000 +0100
@@ -61,19 +61,15 @@
 } ;
 
 // Endian-ness ... index of least-significant byte in SplitWord.Bytes[]
-#ifdef AMD64        // little
+#if defined(IA32) || defined(AMD64) || defined(IA64) // little
  #define _LSBINDEX 0
 #else
-#if IA32            // little
- #define _LSBINDEX 0
-#else
-#ifdef SPARC        // big
+#if defined(SPARC) || defined(PPC) || defined(S390) || defined(S390X) // big
  #define _LSBINDEX (sizeof(intptr_t)-1)
 #else
  #error "unknown architecture"
 #endif
 #endif
-#endif
 
 class ParkEvent ;
 
diff -urN openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
--- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp	2007-12-14 08:57:03.000000000 +0100
+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-03-03 03:01:31.122017000 +0100
@@ -143,7 +143,10 @@
 #define CPU      IA32_ONLY("x86")                \
                  IA64_ONLY("ia64")               \
                  AMD64_ONLY("amd64")             \
-                 SPARC_ONLY("sparc")
+                 SPARC_ONLY("sparc")             \
+                 PPC_ONLY("ppc")                 \
+                 S390_ONLY("s390")               \
+		 S390X_ONLY("s390x")
 
 const char *Abstract_VM_Version::vm_platform_string() {
   return OS "-" CPU;
diff -urN openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp openjdk/hotspot/src/share/vm/utilities/macros.hpp
--- openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp	2007-12-14 08:57:03.000000000 +0100
+++ openjdk/hotspot/src/share/vm/utilities/macros.hpp	2008-03-03 03:02:46.507153000 +0100
@@ -176,6 +176,30 @@
 #define NOT_SPARC(code) code
 #endif
 
+#ifdef PPC
+#define PPC_ONLY(code) code
+#define NOT_PPC(code)
+#else
+#define PPC_ONLY(code)
+#define NOT_PPC(code) code
+#endif
+
+#ifdef S390
+#define S390_ONLY(code) code
+#define NOT_S390(code)
+#else
+#define S390_ONLY(code)
+#define NOT_S390(code) code
+#endif
+
+#ifdef S390X
+#define S390X_ONLY(code) code
+#define NOT_S390X(code)
+#else
+#define S390X_ONLY(code)
+#define NOT_S390X(code) code
+#endif
+
 #define FIX_THIS(code) report_assertion_failure("FIX_THIS",__FILE__, __LINE__, "")
 
 #define define_pd_global(type, name, value) const type pd_##name = value;
diff -urN openjdk.orig/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
--- openjdk.orig/jdk/make/common/Defs-linux.gmk	2007-12-14 08:59:17.000000000 +0100
+++ openjdk/jdk/make/common/Defs-linux.gmk	2008-03-03 03:03:33.338134000 +0100
@@ -109,6 +109,14 @@
 LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
 CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
 LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
+CFLAGS_REQUIRED_ppc     += -m32
+LDFLAGS_COMMON_ppc      += -m32
+CFLAGS_REQUIRED_ppc64   += -m64
+LDFLAGS_COMMON_ppc64    += -m64
+CFLAGS_REQUIRED_s390    += -m32
+LDFLAGS_COMMON_s390     += -m32
+CFLAGS_REQUIRED_s390x   += -m64
+LDFLAGS_COMMON_s390x    += -m64
 CFLAGS_REQUIRED         =  $(CFLAGS_REQUIRED_$(ARCH))
 LDFLAGS_COMMON          += $(LDFLAGS_COMMON_$(ARCH))
 
diff -urN openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk
--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk	2007-12-14 08:59:17.000000000 +0100
+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2008-03-03 02:55:41.464386000 +0100
@@ -70,28 +70,51 @@ ifeq ($(PLATFORM), linux)
   else
     CXX            = $(COMPILER_PATH)g++$(GCC_SUFFIX)
   endif
-  ifneq ("$(findstring sparc,$(ARCH))", "")
-    # sparc or sparcv9
-    REQUIRED_CC_VER = 4.0
-    REQUIRED_GCC_VER = 4.0.*
-  else
-  ifeq ($(ARCH_DATA_MODEL), 32)
+  ifeq ($(ARCH), alpha)
+    # alpha
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
+  endif
+  ifeq ($(ARCH), amd64)
+    # amd64
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
+  endif
+  ifeq ($(ARCH), arm)
+    # arm
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
+  endif
+  ifeq ($(ARCH), i586)
     # i586
     REQUIRED_CC_VER = 3.2
     REQUIRED_GCC_VER = 3.2.1*
     REQUIRED_GCC_VER_INT = 3.2.1-7a
-  else
-  ifeq ($(ARCH), amd64)
-    # amd64
-    REQUIRED_CC_VER = 3.2
-    REQUIRED_GCC_VER = 3.2.*
   endif
   ifeq ($(ARCH), ia64)
     # ia64
     REQUIRED_CC_VER = 3.2
     REQUIRED_GCC_VER = 2.9[56789].*
   endif
+  ifeq ($(ARCH), mips)
+    # mips
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
   endif
+  ifneq ("$(findstring ppc,$(ARCH))", "")
+    # ppc or ppc64
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
+  endif
+  ifneq ("$(findstring s390,$(ARCH))", "")
+    # s390 or s390x
+    REQUIRED_CC_VER = 3.2
+    REQUIRED_GCC_VER = 3.2.*
+  endif
+  ifneq ("$(findstring sparc,$(ARCH))", "")
+    # sparc or sparcv9
+    REQUIRED_CC_VER = 4.0
+    REQUIRED_GCC_VER = 4.0.*
   endif
   # Option used to create a shared library
   SHARED_LIBRARY_FLAG = -shared -mimpure-text
diff -urN openjdk.orig/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
--- openjdk.orig/jdk/make/common/shared/Platform.gmk	2007-12-14 08:59:17.000000000 +0100
+++ openjdk/jdk/make/common/shared/Platform.gmk	2008-03-03 03:04:25.033910000 +0100
@@ -223,9 +223,9 @@
       ARCH=sparcv9
     endif
   else
-    # i586 is 32-bit, amd64 is 64-bit
+    # i586 and ppc are 32-bit, amd64 and ppc64 are 64-bit
     ifndef ARCH_DATA_MODEL
-      ifeq ($(ARCH), i586)
+      ifneq ($(filter i586 ppc s390,$(ARCH)),)
         ARCH_DATA_MODEL=32
       else
         ARCH_DATA_MODEL=64
diff -urN openjdk.orig/jdk/make/java/jli/Makefile openjdk/jdk/make/java/jli/Makefile
--- openjdk.orig/jdk/make/java/jli/Makefile	2007-12-14 08:59:17.000000000 +0100
+++ openjdk/jdk/make/java/jli/Makefile	2008-03-03 02:55:41.482370000 +0100
@@ -52,8 +52,12 @@
 ifeq ($(ARCH_FAMILY), amd64)
 ERGO_FAMILY=i586
 else
+ifeq ($(ARCH_FAMILY), ppc64)
+ERGO_FAMILY=ppc
+else
 ERGO_FAMILY=$(ARCH_FAMILY)
 endif
+endif
 
 
 #
diff -urN openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk
--- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk	2007-12-14 08:59:17.000000000 +0100
+++ openjdk/jdk/make/javax/sound/SoundDefs.gmk	2008-03-03 02:55:41.493360000 +0100
@@ -55,10 +55,46 @@
 
 endif # PLATFORM solaris
 
+ifeq ($(ARCH), alpha)
+  CPPFLAGS += -DX_ARCH=X_ALPHA
+endif # ARCH alpha
+
+ifeq ($(ARCH), amd64)
+  CPPFLAGS += -DX_ARCH=X_AMD64
+endif # ARCH amd64
+
+ifeq ($(ARCH), arm)
+  CPPFLAGS += -DX_ARCH=X_ARM
+endif # ARCH arm
+
 ifeq ($(ARCH), i586)
   CPPFLAGS += -DX_ARCH=X_I586
 endif # ARCH i586
 
+ifeq ($(ARCH), ia64)
+  CPPFLAGS += -DX_ARCH=X_IA64
+endif # ARCH ia64
+
+ifeq ($(ARCH), mips)
+  CPPFLAGS += -DX_ARCH=X_MIPS
+endif # ARCH mips
+
+ifeq ($(ARCH), ppc)
+  CPPFLAGS += -DX_ARCH=X_PPC
+endif # ARCH ppc
+
+ifeq ($(ARCH), ppc64)
+  CPPFLAGS += -DX_ARCH=X_PPC64
+endif # ARCH ppc64
+
+ifeq ($(ARCH), s390)
+  CPPFLAGS += -DX_ARCH=X_S390
+endif # ARCH s390
+
+ifeq ($(ARCH), s390x)
+  CPPFLAGS += -DX_ARCH=X_S390X
+endif # ARCH s390x
+
 ifeq ($(ARCH), sparc)
   CPPFLAGS += -DX_ARCH=X_SPARC
 endif # ARCH sparc
@@ -67,10 +103,6 @@
   CPPFLAGS += -DX_ARCH=X_SPARCV9
 endif # ARCH sparcv9
 
-ifeq ($(ARCH), amd64)
-  CPPFLAGS += -DX_ARCH=X_AMD64
-endif # ARCH amd64
-
 
 # files needed for MIDI i/o
 MIDIFILES_c = \
diff -urN openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
--- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2007-12-14 08:59:23.000000000 +0100
+++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2008-03-03 02:55:41.516337000 +0100
@@ -33,11 +33,18 @@
 #define X_LINUX         3
 
 // types for X_ARCH
-#define X_I586          1
-#define X_SPARC         2
-#define X_SPARCV9       3
-#define X_IA64          4
-#define X_AMD64         5
+#define X_ALPHA         1
+#define X_AMD64         2
+#define X_ARM           3
+#define X_I586          4
+#define X_IA64          5
+#define X_MIPS          6
+#define X_PPC           7
+#define X_PPC64         8
+#define X_S390          9
+#define X_S390X         10
+#define X_SPARC         11
+#define X_SPARCV9       12
 
 // **********************************
 // Make sure you set X_PLATFORM and X_ARCH defines correctly.
--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2008/03/03 11:19:30	1.1
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2008/03/03 11:43:34
@@ -1679,7 +1679,8 @@
     {EM_SPARC32PLUS, EM_SPARC,   ELFCLASS32, ELFDATA2MSB, (char*)"Sparc 32"},
     {EM_SPARCV9,     EM_SPARCV9, ELFCLASS64, ELFDATA2MSB, (char*)"Sparc v9 64"},
     {EM_PPC,         EM_PPC,     ELFCLASS32, ELFDATA2MSB, (char*)"Power PC 32"},
-    {EM_PPC64,       EM_PPC64,   ELFCLASS64, ELFDATA2MSB, (char*)"Power PC 64"}
+    {EM_PPC64,       EM_PPC64,   ELFCLASS64, ELFDATA2MSB, (char*)"Power PC 64"},
+    {EM_S390,        EM_S390,    ELFCLASS32, ELFDATA2MSB, (char*)"S390"}
   };
 
   #if  (defined IA32)
@@ -1696,9 +1697,11 @@
     static  Elf32_Half running_arch_code=EM_PPC64;
   #elif  (defined __powerpc__)
     static  Elf32_Half running_arch_code=EM_PPC;
+  #elif  (defined __s390__)
+    static  Elf32_Half running_arch_code=EM_S390;
   #else
     #error Method os::dll_load requires that one of following is defined:\
-         IA32, AMD64, IA64, __sparc, __powerpc__
+         IA32, AMD64, IA64, __sparc, __powerpc__, __s390__
   #endif
 
   // Identify compatability class for VM's architecture and library's architecture
openSUSE Build Service is sponsored by