[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