Alpha compiler fix.

Alexandre Petit-Bianco apbianco@cygnus.com
Mon May 1 10:19:00 GMT 2000


Jakub Jelinek posted a compiler fix for the Alpha. I'm guessing he
found the problem because he's running things with a different VM
configuration than the other Alpha hackers on this list. (How can that
happen? -- I'm just curious.)
Anyways, here it is.
./A
--
From: Jakub Jelinek <jakub@redhat.com>
Subject: [PATCH] gcj fix for alpha and other 64bit arches
Newsgroups: cygnus.egcs.patches
To: gcc-patches@gcc.gnu.org, tromey@cygnus.com
Date: 2000年4月30日 08:17:52 +0200
Organization: None provided
Reply-To: Jakub Jelinek <jakub@redhat.com>
Path: cygnus.com!not-for-mail
Lines: 46
Message-ID: <20000430081752.F540@sunsite.ms.mff.cuni.cz>
NNTP-Posting-Host: sourceware.cygnus.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Return-Path: <gcc-patches-return-14849-listarch-gcc-patches=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-patches@gcc.gnu.org
Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Archive: < http://gcc.gnu.org/ml/gcc-patches/ >
List-Post: < mailto:gcc-patches@gcc.gnu.org >
List-Help: < mailto:gcc-patches-help@gcc.gnu.org >
Delivered-To: mailing list gcc-patches@gcc.gnu.org
X-Mailer: Mutt 0.95.4us
DJ-Gateway: from mailing list gcc-patches@egcs.cygnus.com
Xref: cygnus.com cygnus.egcs.patches:16479
Hi!
Without this gcj segfaults on Alpha when compiling libgcj. I haven't seen it
on sparc64, because binary's text/data sections are by default located below
4GB. The comment above jword sais it should be able to hold a pointer
among other things.
I've used the test from f77's target.h.
Ok to commit?
2000年04月29日 Jakub Jelinek <jakub@redhat.com>
	* javaop.h (jword): Define to uint64 on 64bit architectures.
--- gcc/java/javaop.h.jj	Thu Feb 17 16:31:18 2000
+++ gcc/java/javaop.h	Sat Apr 29 22:50:12 2000
@@ -1,6 +1,6 @@
 /* Utility macros to handle Java(TM) byte codes.
 
- Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -62,7 +62,7 @@ typedef void* jref;
 #define jfloat float
 #endif
 
-/* A 32-bit IEEE double-precision float. */
+/* A 64-bit IEEE double-precision float. */
 #ifndef jdouble
 #define jdouble double
 #endif
@@ -79,7 +79,11 @@ union Word {
 
 
 #ifndef jword
+#if !defined(__alpha__) && (!defined (_ARCH_PPC) || !defined (__64BIT__)) && (!defined(__sparc__) || (!defined(__sparcv9) && !defined(__arch64__))) && (!defined(__ia64__) || !defined(__LP64__))
 #define jword uint32
+#else
+#define jword uint64
+#endif
 #endif
 
 #ifndef IMMEDIATE_u1
	Jakub


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /