Skip site navigation (1)Skip section navigation (2)
Date:      14 Nov 2002 15:15:21 +0100
From:      "Georg-W. Koltermann" <g.w.k@web.de>
To:        freebsd-java@freebsd.org
Subject:   Trying to compile HotSpot on 4.7-STABLE
Message-ID:  <1037283323.18267.30.camel@hunter.muc.macsch.com>

next in thread | raw e-mail | index | archive | help
Hi,

after suffering from slowness and crashes in the together modeling tool
for long enough, I decided to be adventurous and try to compile HotSpot.

I upgraded to 4.7-STABLE to get the very latest libc_r.

I compiled and installed jdk-1.3.1p7_2.  Then I went to
/usr/ports/java/jdk13/work/hotspot1.3.1 and called=20

	sh build/bsd/build.sh debug $PWD

as directed by the instruction in BUILD.  I had to modify
check_os_version in hotspot1.3.1/build/bsd/makefiles/top.make so that it
would pass on 4.7-STABLE.

Now during compilation I get:

    Compiling /usr/ports/java/jdk13/work/hotspot1.3.1/src/share/vm/runtime/=
functionAtStart.cpp
    In file included from ../generated/incls/_functionAtStart.cpp.incl:2,
                     from /usr/ports/java/jdk13/work/hotspot1.3.1/src/share=
/vm/runtime/functionAtStart.cpp:18:
    /usr/ports/java/jdk13/work/hotspot1.3.1/src/share/vm/utilities/globalDe=
finitions_gcc.hpp:91: integer constant out of range
    /usr/ports/java/jdk13/work/hotspot1.3.1/src/share/vm/utilities/globalDe=
finitions_gcc.hpp:92: integer constant out of range
    /usr/ports/java/jdk13/work/hotspot1.3.1/src/share/vm/utilities/globalDe=
finitions_gcc.hpp: In function `int g_isnan(double)':
    /usr/ports/java/jdk13/work/hotspot1.3.1/src/share/vm/utilities/globalDe=
finitions_gcc.hpp:107: implicit declaration of function `int isnand(...)'
    gmake[2]: *** [functionAtStart.o] Fehler 1
    gmake[2]: Verlassen des Verzeichnisses Verzeichnis =BB/usr/ports/java/j=
dk13/work/hotspot1.3.1/bsd_i486_compiler2/debug=AB

The problematic lines in globalDefinitions_gcc.hpp are:

    #ifdef LINUX //-billh
    const int64_t min_jlong =3D 0x8000000000000000LL;
    const int64_t max_jlong =3D 0x7fffffffffffffffLL;
    #else
    const jlong min_jlong =3D 0x8000000000000000L;
    const jlong max_jlong =3D 0x7fffffffffffffffL;
    #endif

I can of course copy the 'LL' notation to the non-LINUX case to make it
compile, but I'm getting a little nervous that something goes wrong
here.  The #ifdef is marked by Bill Huey and I assume he #ifdef'ed the
lines carefully, the way they should be.

Should I #define LINUX ?  Would this be solved if I use GCC31?

--
Regards,
Georg.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1037283323.18267.30.camel>