This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: gcj && libjava for cygwin
- To: "Billinghurst, David \(CRTS\)" <David dot Billinghurst at riotinto dot com>,<java at gcc dot gnu dot org>,<cygwin-apps at sources dot redhat dot com>
- Subject: Re: gcj && libjava for cygwin
- From: "Robert Collins" <robert dot collins at itdomain dot com dot au>
- Date: Thu, 19 Apr 2001 01:06:04 +1000
- References: <8D00C32549556B4E977F81DBC24E985DC839@crtsmail1.technol_exch.corp.riotinto.org>
----- Original Message -----
From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'Robert Collins'" <robert.collins@itdomain.com.au>;
<java@gcc.gnu.org>; <cygwin-apps@sources.redhat.com>
Sent: Thursday, April 19, 2001 12:43 AM
Subject: RE: gcj && libjava for cygwin
> OK. I have duplicated this, with a couple of variations on the way.
> * a couple more patches below
> * -lpthreads are defined by configure.in. Will submit patch for this
> * I think Ican work around IP6 issues
> * WinMain@16 problem comes from linking -lcygwin to early
>
> What I don't understand where _Jv_Sjlj_Throw and JNI_OnLoad are
defined.
>
>
> Needed one strncasecmp in gcc/java/parse.c (or more correctly parse.y)
>
> --- parse.c.orig Tue Apr 17 23:55:39 2001
> +++ parse.c Wed Apr 18 19:47:12 2001
> @@ -6026,7 +6026,8 @@
> ;
> if (f[0] == '/' || f[0] == DIR_SEPARATOR)
> f++;
> - if (strncmp (IDENTIFIER_POINTER (raw_name),
> + /* DB CYGWIN */
> + if (strncasecmp (IDENTIFIER_POINTER (raw_name),
> f , IDENTIFIER_LENGTH (raw_name)) ||
> f [IDENTIFIER_LENGTH (raw_name)] != '.')
> parse_error_context
>
> In libjava/java/lang/natSystem.cc
I think this is already fixed in current cygwin snapshots. (If not, I
can roll a patch for cygwin in minutes.) Thus no need for the _tzname
workaround. Could you try a recent snapshot?
> --- natSystem.cc.orig Tue Apr 17 23:23:23 2001
> +++ natSystem.cc Wed Apr 18 20:58:19 2001
> @@ -265,7 +265,11 @@
> // issue exists in java/util/natGregorianCalendar.cc.
> tzoffset = 0L;
> #endif
> +#ifdef __CYGWIN__
> + tzinfo = _tzname;
> +#else
> tzinfo = tzname;
> +#endif
>
> if ((tzoffset % 3600) == 0)
> tzoffset = tzoffset / 3600;
>
Rob