changeset in /hg/icedtea6: 2008-06-10 Tom Callaway <tcallawa at re...

doko at ubuntu.com doko at ubuntu.com
Tue Jun 10 01:13:19 PDT 2008


changeset 931f7730ecf9 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=931f7730ecf9
description:
	2008-06-10  Tom Callaway <tcallawa at redhat.com>
	            Dennis Gilmore <dennis at ausil.us>

	        * patches/icedtea-sparc64-linux.patch,
	        patches/icedtea-sparc-ptracefix.patch,
	        patches/icedtea-sparc-trapsfix.patch: New.
	        * Makefile.am (ICEDTEA_PATCHES): Add above patches.
	        * Makefile.am (stamps/bootstrap-directory-ecj.stamp): Create
	        symlink to $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR).
	        * acinclude.m4: Set JRE_ARCH_DIR.
	        * Makefile.in, configure: Regenerate.

diffstat:

8 files changed, 198 insertions(+), 3 deletions(-)
ChangeLog                             |   12 ++++
Makefile.am                           |   10 +++
Makefile.in                           |   12 +++-
acinclude.m4                          |   10 +++
configure                             |    9 +++
patches/icedtea-sparc-ptracefix.patch |   34 ++++++++++++
patches/icedtea-sparc-trapsfix.patch  |   21 +++++++
patches/icedtea-sparc64-linux.patch   |   93 +++++++++++++++++++++++++++++++++

diffs (311 lines):

diff -r f1c286afb8fa -r 931f7730ecf9 ChangeLog
--- a/ChangeLog	Mon Jun 09 16:15:29 2008 -0400
+++ b/ChangeLog	Tue Jun 10 10:13:20 2008 +0200
@@ -1,3 +1,15 @@ 2008-06-09  Joshua Sumali  <jsumali at redh
+2008-06-10  Tom Callaway <tcallawa at redhat.com>
+	    Dennis Gilmore <dennis at ausil.us>
+
+	* patches/icedtea-sparc64-linux.patch,
+	patches/icedtea-sparc-ptracefix.patch,
+	patches/icedtea-sparc-trapsfix.patch: New.
+	* Makefile.am (ICEDTEA_PATCHES): Add above patches.
+	* Makefile.am (stamps/bootstrap-directory-ecj.stamp): Create
+	symlink to $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR).
+	* acinclude.m4: Set JRE_ARCH_DIR.
+	* Makefile.in, configure: Regenerate.
+
 2008-06-09  Joshua Sumali  <jsumali at redhat.com>
 
 	* rt/net/sourceforge/jnlp/Parser.java: Remove comments from xml before
diff -r f1c286afb8fa -r 931f7730ecf9 Makefile.am
--- a/Makefile.am	Mon Jun 09 16:15:29 2008 -0400
+++ b/Makefile.am	Tue Jun 10 10:13:20 2008 +0200
@@ -318,6 +318,9 @@ ICEDTEA_PATCHES = \
 	patches/icedtea-gervill.patch \
 	patches/icedtea-directaudio-close-trick.patch \
 	patches/icedtea-sparc.patch \
+	patches/icedtea-sparc64.patch \
+	patches/icedtea-sparc-ptracefix.patch \
+	patches/icedtea-sparc-trapsfix.patch \
 	patches/icedtea-override-redirect-metacity.patch \
 	$(GCC_PATCH) \
 	$(DISTRIBUTION_PATCHES)
@@ -511,8 +514,13 @@ stamps/bootstrap-directory-ecj.stamp:
 	if test -d $(SYSTEM_GCJ_DIR); \
 	then \
 	  mkdir -p bootstrap/ecj/jre/lib; \
-	  ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(INSTALL_ARCH_DIR) \
+	  ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \
 	    bootstrap/ecj/jre/lib/; \
+	  if ! test -d /jre/lib/$(INSTALL_ARCH_DIR); \
+	  then \
+	    ln -sf ./$(JRE_ARCH_DIR) \
+	      bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \
+	  fi; \
 	  mkdir -p bootstrap/ecj/include; \
 	  for i in $(SYSTEM_GCJ_DIR)/include/*; do \
 	    test -r $$i | continue; \
diff -r f1c286afb8fa -r 931f7730ecf9 Makefile.in
--- a/Makefile.in	Mon Jun 09 16:15:29 2008 -0400
+++ b/Makefile.in	Tue Jun 10 10:13:20 2008 +0200
@@ -138,6 +138,7 @@ JAVA = @JAVA@
 JAVA = @JAVA@
 JAVAC = @JAVAC@
 JAVAH = @JAVAH@
+JRE_ARCH_DIR = @JRE_ARCH_DIR@
 LDFLAGS = @LDFLAGS@
 LIBFFI_CFLAGS = @LIBFFI_CFLAGS@
 LIBFFI_LIBS = @LIBFFI_LIBS@
@@ -421,7 +422,9 @@ ICEDTEA_PATCHES = $(ZERO_PATCHES_COND) \
 	patches/icedtea-color-createcontext.patch \
 	patches/icedtea-fonts.patch patches/icedtea-gervill.patch \
 	patches/icedtea-directaudio-close-trick.patch \
-	patches/icedtea-sparc.patch \
+	patches/icedtea-sparc.patch patches/icedtea-sparc64.patch \
+	patches/icedtea-sparc-ptracefix.patch \
+	patches/icedtea-sparc-trapsfix.patch \
 	patches/icedtea-override-redirect-metacity.patch $(GCC_PATCH) \
 	$(DISTRIBUTION_PATCHES) $(am__append_7)
 
@@ -1001,8 +1004,13 @@ stamps/bootstrap-directory-ecj.stamp:
 	if test -d $(SYSTEM_GCJ_DIR); \
 	then \
 	  mkdir -p bootstrap/ecj/jre/lib; \
-	  ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(INSTALL_ARCH_DIR) \
+	  ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \
 	    bootstrap/ecj/jre/lib/; \
+	  if ! test -d /jre/lib/$(INSTALL_ARCH_DIR); \
+	  then \
+	    ln -sf ./$(JRE_ARCH_DIR) \
+	      bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \
+	  fi; \
 	  mkdir -p bootstrap/ecj/include; \
 	  for i in $(SYSTEM_GCJ_DIR)/include/*; do \
 	    test -r $$i | continue; \
diff -r f1c286afb8fa -r 931f7730ecf9 acinclude.m4
--- a/acinclude.m4	Mon Jun 09 16:15:29 2008 -0400
+++ b/acinclude.m4	Tue Jun 10 10:13:20 2008 +0200
@@ -4,22 +4,32 @@ AC_DEFUN([SET_ARCH_DIRS],
     x86_64-*-*)
       BUILD_ARCH_DIR=amd64
       INSTALL_ARCH_DIR=amd64
+      JRE_ARCH_DIR=amd64
       ;;
     i?86-*-*)
       BUILD_ARCH_DIR=i586
       INSTALL_ARCH_DIR=i386
+      JRE_ARCH_DIR=i386
       ;;
     arm*-*-*)
       BUILD_ARCH_DIR=arm
       INSTALL_ARCH_DIR=arm
+      JRE_ARCH_DIR=arm
       ;;
+    sparc64-*-*)
+      BUILD_ARCH_DIR=sparcv9
+      INSTALL_ARCH_DIR=sparcv9
+      JRE_ARCH_DIR=sparc64
+       ;;
     *)
       BUILD_ARCH_DIR=`uname -m`
       INSTALL_ARCH_DIR=$BUILD_ARCH_DIR
+      JRE_ARCH_DIR=$INSTALL_ARCH_DIR
       ;;
   esac
   AC_SUBST(BUILD_ARCH_DIR)
   AC_SUBST(INSTALL_ARCH_DIR)
+  AC_SUBST(JRE_ARCH_DIR)
 ])
 
 AC_DEFUN([FIND_JAVAC],
diff -r f1c286afb8fa -r 931f7730ecf9 configure
--- a/configure	Mon Jun 09 16:15:29 2008 -0400
+++ b/configure	Tue Jun 10 10:13:20 2008 +0200
@@ -5966,18 +5966,27 @@ fi
     x86_64-*-*)
       BUILD_ARCH_DIR=amd64
       INSTALL_ARCH_DIR=amd64
+      JRE_ARCH_DIR=amd64
       ;;
     i?86-*-*)
       BUILD_ARCH_DIR=i586
       INSTALL_ARCH_DIR=i386
+      JRE_ARCH_DIR=i386
       ;;
     arm*-*-*)
       BUILD_ARCH_DIR=arm
       INSTALL_ARCH_DIR=arm
+      JRE_ARCH_DIR=arm
       ;;
+    sparc64-*-*)
+      BUILD_ARCH_DIR=sparcv9
+      INSTALL_ARCH_DIR=sparcv9
+      JRE_ARCH_DIR=sparc64
+       ;;
     *)
       BUILD_ARCH_DIR=`uname -m`
       INSTALL_ARCH_DIR=$BUILD_ARCH_DIR
+      JRE_ARCH_DIR=$INSTALL_ARCH_DIR
       ;;
   esac
 
diff -r f1c286afb8fa -r 931f7730ecf9 patches/icedtea-sparc-ptracefix.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-sparc-ptracefix.patch	Tue Jun 10 10:13:20 2008 +0200
@@ -0,0 +1,34 @@
+diff -up openjdk/hotspot/agent/src/os/linux/libproc.h.BAD openjdk/hotspot/agent/src/os/linux/libproc.h
+--- openjdk/hotspot/agent/src/os/linux/libproc.h.BAD	2008-05-29 19:03:34.000000000 -0400
++++ openjdk/hotspot/agent/src/os/linux/libproc.h	2008-05-29 19:01:45.000000000 -0400
+@@ -34,14 +34,25 @@
+ 
+ #if defined(sparc) || defined(sparcv9)
+ /*
+-  If _LP64 is defined ptrace.h should be taken from /usr/include/asm-sparc64
+-  otherwise it should be from /usr/include/asm-sparc
+-  These two files define pt_regs structure differently
++  Taken from asm-sparc/ptrace.h and asm-sparc64/ptrace.h
+ */ 
+ #ifdef _LP64
+-#include "asm-sparc64/ptrace.h"
++struct pt_regs {
++	unsigned long u_regs[16]; /* globals and ins */
++	unsigned long tstate;
++	unsigned long tpc;
++	unsigned long tnpc;
++	unsigned int y;
++	unsigned int fprs;
++};
+ #else
+-#include "asm-sparc/ptrace.h"
++struct pt_regs {
++	unsigned long psr;
++	unsigned long pc;
++	unsigned long npc;
++	unsigned long y;
++	unsigned long u_regs[16]; /* globals and ins */
++};
+ #endif
+ 
+ #endif //sparc or sparcv9
diff -r f1c286afb8fa -r 931f7730ecf9 patches/icedtea-sparc-trapsfix.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-sparc-trapsfix.patch	Tue Jun 10 10:13:20 2008 +0200
@@ -0,0 +1,21 @@
+diff -up openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.BAD openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp
+--- openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.BAD	2008-05-28 11:49:06.000000000 -0500
++++ openjdk/hotspot/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp	2008-05-28 11:51:56.000000000 -0500
+@@ -25,7 +25,16 @@
+ #include "incls/_precompiled.incl"
+ #include "incls/_assembler_linux_sparc.cpp.incl"
+ 
+-#include <asm-sparc/traps.h>
++/* Headers for 32bit sparc with a 32bit userland end up in asm/
++ * Headers for 32bit sparc with a 64bit userland end up in asm-sparc/
++ * There is no traps.h in asm-sparc64/
++ */
++
++#if defined(__sparc__) && defined(__arch64__)
++# include <asm-sparc/traps.h>
++#else 
++# include <asm/traps.h>
++#endif
+ 
+ bool MacroAssembler::needs_explicit_null_check(intptr_t offset) {
+   // Since the linux kernel resides at the low end of
diff -r f1c286afb8fa -r 931f7730ecf9 patches/icedtea-sparc64-linux.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-sparc64-linux.patch	Tue Jun 10 10:13:20 2008 +0200
@@ -0,0 +1,93 @@
+diff -up openjdk/hotspot/build/linux/makefiles/sparcv9.make.BAD openjdk/hotspot/build/linux/makefiles/sparcv9.make
+--- openjdk/hotspot/build/linux/makefiles/sparcv9.make.BAD	2008-05-29 15:48:44.000000000 -0400
++++ openjdk/hotspot/build/linux/makefiles/sparcv9.make	2008-05-29 15:48:39.000000000 -0400
+@@ -0,0 +1,27 @@
++#
++# Copyright 1999-2005 Sun Microsystems, Inc.  All Rights Reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++# CA 95054 USA or visit www.sun.com if you need additional information or
++# have any questions.
++#  
++#
++
++# TLS helper, assembled from .s file
++# Not included in includeDB because it has no dependencies
++Obj_Files += linux_sparc.o
+diff -up openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp.BAD openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
+--- openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp.BAD	2008-05-29 16:25:10.000000000 -0400
++++ openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	2008-05-29 16:32:11.000000000 -0400
+@@ -225,7 +225,7 @@ LIR_Address* LIRGenerator::emit_array_ad
+ 
+ void LIRGenerator::increment_counter(address counter, int step) {
+   LIR_Opr pointer = new_register(T_INT);
+-  __ move(LIR_OprFact::intConst((int)counter), pointer);
++  __ move(LIR_OprFact::intConst((int)*counter), pointer);
+   LIR_Address* addr = new LIR_Address(pointer, 0, T_INT);
+   increment_counter(addr, step);
+ }
+@@ -1106,20 +1106,12 @@ void LIRGenerator::trace_block_entry(Blo
+ 
+ void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
+                                         CodeEmitInfo* info) {
+-#ifdef _LP64
+-  __ store_mem_reg(value, address, info);
+-#else
+   __ volatile_store_mem_reg(value, address, info);
+-#endif
+ }
+ 
+ void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result,
+                                        CodeEmitInfo* info) {
+-#ifdef _LP64
+-  __ load_mem_reg(address, result, info);
+-#else
+   __ volatile_load_mem_reg(address, result, info);
+-#endif
+ }
+ 
+ 
+diff -up openjdk/hotspot/build/linux/makefiles/defs.make.BAD openjdk/hotspot/build/linux/makefiles/defs.make
+--- openjdk/hotspot/build/linux/makefiles/defs.make.BAD	2008-05-30 07:03:37.000000000 -0400
++++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-05-30 07:03:45.000000000 -0400
+@@ -58,8 +58,8 @@ ifeq ($(ARCH), ia64)
+   HS_ARCH         = ia64
+ endif
+ 
+-# sparc
+-ifneq (,$(filter $(ARCH), sparc sparc64))
++# sparc64
++ifeq ($(ARCH), sparc64)
+   ifeq ($(ARCH_DATA_MODEL), 64)
+     ARCH_DATA_MODEL  = 64
+     MAKE_ARGS        += LP64=1
+@@ -73,6 +73,14 @@ ifneq (,$(filter $(ARCH), sparc sparc64)
+   HS_ARCH            = sparc
+ endif
+ 
++# sparc
++ifeq ($(ARCH), sparc)
++  ARCH_DATA_MODEL  = 32
++  PLATFORM         = linux-sparc
++  VM_PLATFORM      = linux_sparc
++  HS_ARCH          = sparc
++endif
++
+ # x86_64
+ ifeq ($(ARCH), x86_64) 
+   ifeq ($(ARCH_DATA_MODEL), 64)



More information about the distro-pkg-dev mailing list