[patch] updated sparc support

Matthias Klose doko at ubuntu.com
Tue Jun 10 01:12:27 PDT 2008


Checking in the following patch:

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.

The patches itself are unmodified, but have to be mentioned in Makefile.am; the
changes to the configure script had to go to acinclude.m4.

  Matthias

Dennis Gilmore schrieb:
> 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.

we now patch this file twice; maybe needs a cleanup.



More information about the distro-pkg-dev mailing list