working again
authoradam <adam@megacz.com>
Sun, 22 Feb 2004 08:11:22 +0000 (08:11 +0000)
committeradam <adam@megacz.com>
Sun, 22 Feb 2004 08:11:22 +0000 (08:11 +0000)
darcs-hash:20040222081122-5007d-b6f7509ae2ca678b0228ab321224d9e6116e5c66.gz

Makefile
Makefile.upstream
src/org/ibex/util/BytecodePruner.java

index 560042d..e8781fe 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -258,8 +258,6 @@ build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(pl
        rm -rf build/Linux/gnu/java
        rm -rf build/Linux/gnu/classpath
 
-       cp upstream/gcc-3.3/build-$(target)/$(target)/libjava/java/lang/Object.class build/pruned/java/lang/
-
 #      find build/pruned/gnu/java/locale/ -name 'LocaleInformation_*' -not -name 'LocaleInformation_en.class' -not -name 'LocaleInformation_en_US.class' -exec rm {} \;
 
 #      cd build/pruned; fastjar cvf ../../tmp.jar .
@@ -268,6 +266,8 @@ build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(pl
 #                              -normex -nobco tmp.jar
 #      cd build/pruned; rm -rf *; fastjar xvf ../../tmp_s.jar
 
+       cp upstream/gcc-3.3/build-$(target)/$(target)/libjava/java/lang/Object.class build/pruned/java/lang/
+
 #                              -fnew-ra \
 #                              -ffunction-sections \
 #                              -fdata-sections \
index 5d43a96..67b8655 100644 (file)
@@ -68,7 +68,7 @@ ifneq ($(platform),Darwin)
 configure_gcc-3.3                       += --with-gnu-ld --with-gnu-as
 endif
 configure_gcc-3.3                       += --disable-java-awt --disable-interpreter --enable-libgcj
-configure_gcc-3.3                       += --disable-shared --enable-static
+configure_gcc-3.3                       += --disable-shared --enable-static --disable-jni
 configure_binutils-2.13.2.1             += --disable-shared --enable-static
 configure_gcc-3.3_powerpc-apple-darwin  += --enable-threads=posix --disable-hash-synchronization --disable-multilib
 configure_gcc-3.3_i686-pc-mingw32       += --enable-threads=win32 --enable-hash-synchronization
index 459bcca..4514cb4 100644 (file)
@@ -54,8 +54,8 @@ public class BytecodePruner {
         int start = 1;
         if (s.length >= 3 && s[1].equals("-o")) { outdir = s[2]; start += 2; }
         repo = SyntheticRepository.getInstance(new ClassPath(s[0]));
-        BytecodePruner bcp = new BytecodePruner();
 
+        BytecodePruner bcp = new BytecodePruner();
         for(int i=start; i<s.length; i++) {
             try {
                 if (s[i].endsWith(".class")) {
@@ -73,37 +73,36 @@ public class BytecodePruner {
                 System.out.println("WARNING: couldn't load class for " + s[i]);
             }
         }
+
         System.out.println("\n\n======================================================================\n");
 
         // we call start(), but the VM calls run()...
         bcp.loadMethod("java.lang.Thread.run");
-        bcp.loadMethod("java.util.IdentityHashMap.put");
-
         bcp.loadAllMethods("java.lang.SecurityContext");
         bcp.visitJavaClass(repo.loadClass("java.awt.AWTPermission"));
+        bcp.visitJavaClass(repo.loadClass("gnu.classpath.Configuration"));
+        bcp.loadAllMethods("java.lang.ThreadDeath");
+
+        bcp.loadAllMethods("java.util.Hashtable$HashIterator");
+        bcp.loadMethod("java.util.SimpleTimeZone.useDaylightTime");
+        /*
         bcp.loadAllMethods("java.lang.Throwable");
         bcp.loadAllMethods("java.io.PrintStream");
         bcp.loadAllMethods("java.util.PropertyPermission");
-        bcp.loadAllMethods("java.lang.ThreadDeath");
-        bcp.loadAllMethods("gnu.gcj.runtime.StringBuffer");
         bcp.loadAllMethods("java.security.cert.Certificate");
         bcp.loadAllMethods("java.security.cert.CertificateEncodingException");
-
-        bcp.loadMethod("java.util.SimpleTimeZone.useDaylightTime");
         bcp.loadMethod("java.util.TimeZone.getAvailableIDs");
         bcp.loadMethod("java.util.TimeZone.getDefaultTimeZoneId");
-        bcp.loadMethod("java.util.Collections$SynchronizedIterator.hasNext");
-        bcp.loadAllMethods("java.util.Hashtable$HashIterator");
+        bcp.loadAllMethods("gnu.gcj.runtime.StringBuffer");
         bcp.loadAllMethods("gnu.gcj.runtime.VMClassLoader");
-
-        bcp.visitJavaClass(repo.loadClass("java.util.Stack"));
-        bcp.visitJavaClass(repo.loadClass("gnu.classpath.Configuration"));
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.runtime.JNIWeakRef"));
-
+        */
+        /*
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.http.Handler"));
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.file.Handler"));
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.jar.Handler"));
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.core.Handler"));
+        */
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.runtime.FinalizerThread"));
         bcp.visitJavaClass(repo.loadClass("gnu.gcj.runtime.FirstThread"));
 
@@ -373,6 +372,9 @@ public class BytecodePruner {
             ((HashSet)subclasses.get(interfaces[i])).add(clazz);
         }
 
+        if (clazz.getClassName().startsWith("org.ibex."))
+            loadAllMethods(clazz.getClassName());
+
         for(JavaClass sup = superclass; sup != null; sup = sup.getSuperClass()) {
             visitJavaClass(sup);
             remarkMethods(sup, clazz, cpg);