2002/10/30 22:01:04
[org.ibex.core.git] / README
diff --git a/README b/README
index 8d202f5..bca8015 100644 (file)
--- a/README
+++ b/README
@@ -58,7 +58,6 @@ Directory Structure
        javasrc.jar       - javasrc, a tool for generating hyperlinked, syntax-colored html from java code
 
    src/                  - all java source files and xwt sources go here
-       jazz/             - jazzlib, which XWT currently uses since libgcj's java.util.zip.* is broken
        org/
            bouncycastle/ - the BouncyCastle Crypto Library
            mozilla/      - a copy of Rhino, the Mozilla JavaScript interpreter
@@ -93,6 +92,10 @@ The following targets do not require that you specify a platform:
 ______________________________________________________________________________
 Building
 
+- WARNING: Jikes 1.16 has a bug which will cause it to generate
+  corrupt .class files; you must downgrade to 1.15 in order to compile
+  XWT.
+
 - If you only want to build the JVM version of XWT, delete these three
   files:
 
@@ -105,18 +108,19 @@ Building
 
 
 - The Win32 native version of XWT can ONLY be built with the very
-  latest pre-release of GCC 3.1. You can follow the steps below to
+  latest pre-release of GCC 3.3. You can follow the steps below to
   create a cross-compiler from linux to Win32.
 
-  If the steps below fail, try adding "-D 20-Mar-2002" to the cvs
-  checkout line; 20-Mar-2002 was the last date on which the compiler
+  If the steps below fail, try adding "-D 11-Oct-2002" to the cvs
+  checkout line; 11-Oct-2002 was the last date on which the compiler
   was known to work. Please don't do this unless you have attempted
   without it, however, since it puts additional strain on the gcc cvs
   server.
 
-  There are also two patches at the end of this file which can be
+  There are also three patches at the end of this file which can be
   applied to the branch -- the first fixes an inet_addr() bug on
-  Win32, the second enables stack traces.
+  Win32, the second fixes a garbage collector bug, and the third
+  enables stack traces.
 
   # create an install area
   export CLASSPATH=
@@ -156,15 +160,15 @@ Building
                    --enable-gc-type=boehm \
                    --disable-shared \
                    --enable-threads=win32 \
-                   --disable-hash-synchronization \
+                   --enable-hash-synchronization \
                    --disable-interpreter \
                    --enable-sjlj-exceptions
   
   make
   sudo make install
 
-- The Linux native version is still experimental. You should configure
-  your compiler with:
+- The Linux native version can also be built with the latest
+  prerelease of gcj 3.3. You should configure your compiler with:
 
   ../gcc/configure \
                    --prefix=$PREFIX \
@@ -235,6 +239,31 @@ diff -u -r1.3.8.5 win32.h
 
 
 ______________________________________________________________________________
+GC patch
+
+Index: win32_threads.c
+===================================================================
+RCS file: /cvs/gcc/gcc/boehm-gc/win32_threads.c,v
+retrieving revision 1.9.2.2
+diff -u -r1.9.2.2 win32_threads.c
+--- win32_threads.c     29 Jun 2002 17:29:51 -0000      1.9.2.2
++++ win32_threads.c     2 Jul 2002 18:10:02 -0000
+@@ -134,10 +134,7 @@
+                                (LPCONTEXT)&thread_table[i].context))
+          ABORT("GetThreadContext failed");
+ #      ifdef I386
+-         if (thread_table[i].context.Esp >= (DWORD)thread_table[i].stack
+-             || thread_table[i].context.Esp < (DWORD)bottom)
+-             ABORT("Thread stack pointer out of range");
+-         GC_push_one ((word) thread_table[i].context.Edi);
++             GC_push_one ((word) thread_table[i].context.Edi);
+          GC_push_one ((word) thread_table[i].context.Esi);
+          GC_push_one ((word) thread_table[i].context.Ebp);
+          GC_push_one ((word) thread_table[i].context.Ebx);
+
+
+
+______________________________________________________________________________
 Throwable.printStackTrace() patch
 
 Index: Class.h