rpms/java-1.6.0-openjdk/F-9 java-1.6.0-openjdk-sparc-ptracefix.patch, NONE, 1.1 java-1.6.0-openjdk-sparc-trapsfix.patch, NONE, 1.1 java-1.6.0-openjdk-sparc64-INSTALL_ARCH_DIR.patch, NONE, 1.1 java-1.6.0-openjdk-sparc64-linux.patch, NONE, 1.1 java-1.6.0-openjdk.spec, 1.46, 1.47

Tom "spot" Callaway (tcallawa) fedora-extras-commits at redhat.com
Sun Jun 8 20:15:15 UTC 2008


On Sun, 2008-06-08 at 13:52 -0400, Thomas Fitzsimmons wrote:

> > 	java-1.6.0-openjdk-sparc-ptracefix.patch 
> > 	java-1.6.0-openjdk-sparc-trapsfix.patch 
> > 	java-1.6.0-openjdk-sparc64-INSTALL_ARCH_DIR.patch 
> > 	java-1.6.0-openjdk-sparc64-linux.patch 

> Please submit significant patches like this to Lillian and I for approval before 
> committing them, along with an explanation.  I'd prefer to make this change in 
> Rawhide unless there's a compelling need for it in Fedora 9.

There is a compelling need for it in Fedora 9, but only on sparc. I
didn't tag or request a build for any other architectures. This should
not affect the TCK certification.

Apologies for the confusion. I noticed that rawhide was significantly
different from Fedora 9, and I will rework these patches to that branch
as they are applicable. I didn't want these patches to get lost, so I
committed them.

As a breakdown, here is what these patches do (they should all be
applicable upstream):

java-1.6.0-openjdk-sparc-ptracefix.patch:
 Rather than source asm-sparc/ptrace.h (on pure 32bit sparc userland,  
 asm-sparc/ doesn't exist, only asm/), I simply include the pt_regs 
 struct that sparc and sparc64 use. Only affects sparc and sparc64.

java-1.6.0-openjdk-sparc-trapsfix.patch:
 On pure 32bit sparc userland (kernel-headers.sparc), asm-sparc/ 
 doesn't exist, but asm/ does. On pure 64bit sparc64 userland 
 (kernel-headers.sparc64), asm-sparc and asm-sparc64 exist. Still with 
 me? :) We need the traps define from asm-sparc on both sparc and 
 sparc64 compiles (there is no traps.h in asm-sparc64), so this patch
 fixes it such that we get the right header included in both scenarios. 
 Only affects sparc and sparc64. 

java-1.6.0-openjdk-sparc64-INSTALL_ARCH_DIR.patch:
 Sun uses the term "sparcv9" to describe a 64bit sparc environment.  
 This is ok on Solaris, but on Linux, we use "sparc64" to describe a 
 64bit sparc environment. For 99% of the uses inside openJDK this is 
 fine, but when bootstrapping off gcj, it makes symlinks to a 
 non-existent jvm dir called "sparcv9". This patch adds another 
 configure variable called "JRE_ARCH_DIR" which is the same as 
 "INSTALL_ARCH_DIR" for all other arches except sparcv9 (where   
 JRE_ARCH_DIR is set to sparc64). This patch might need to be 
 conditionalized for bootstrapping only, not sure yet as I haven't  
 done a non-bootstrap build for sparc64 yet. No behavior change for 
 non-sparc/sparc64 architectures.

java-1.6.0-openjdk-sparc64-linux.patch:
 Adds a sparcv9.make makefile for 64bit (sparc64). Fixes two bugs  
 inside c1_LIRGenerator_sparc.cpp, one where int conversion wasn't 
 correct on sparc64 and one where it called non-existant functions on 
 sparc64. store_mem_reg and load_mem_reg might be defined for Solaris, 
 but I couldn't find them defined in the source tree at all, so I \ 
 assumed they were not-yet-implemented. Fixed 
 hotspot/build/linux/makefiles/defs.make to more cleanly handle 
 sparc/sparc64 cases. Only affects sparc and sparc64.

With these four patches applied, and the minor spec file changes
(defining archbuild and archinstall for sparc/sparc64), I was able to
bootstrap basic functioning sparc and sparc64 openJDK for Linux. I used
that bootstrapped openJDK to build a clean sparc RPM and I've just
kicked off the sparc64 build. We really need these to finish building
the rest of the java stack for Fedora 9 on SPARC.

~spot




More information about the fedora-extras-commits mailing list