[patch] updated sparc support

Dennis Gilmore dennis at ausil.us
Sun Jun 8 17:22:35 PDT 2008


The attached patches allow openjdk to build for both sparc64 and sparc32 on 
linux.  they were written by Tom "spot" Callaway.

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: java-1.6.0-openjdk-sparc64-INSTALL_ARCH_DIR.patch
Type: text/x-diff
Size: 3465 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20080608/3e3d25a2/java-1.6.0-openjdk-sparc64-INSTALL_ARCH_DIR.patch 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: java-1.6.0-openjdk-sparc-ptracefix.patch
Type: text/x-diff
Size: 1099 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20080608/3e3d25a2/java-1.6.0-openjdk-sparc-ptracefix.patch 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: java-1.6.0-openjdk-sparc64-linux.patch
Type: text/x-diff
Size: 3860 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20080608/3e3d25a2/java-1.6.0-openjdk-sparc64-linux.patch 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: java-1.6.0-openjdk-sparc-trapsfix.patch
Type: text/x-diff
Size: 984 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20080608/3e3d25a2/java-1.6.0-openjdk-sparc-trapsfix.patch 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20080608/3e3d25a2/attachment.bin 


More information about the distro-pkg-dev mailing list