From 4c907d5df93e04fceff7dcd3f6ab42f02347fe65 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 25 Feb 2004 09:20:51 +0000 Subject: [PATCH] removed ugly gcj hack darcs-hash:20040225092051-5007d-b17acf6cbd3cea36222e56d5710cdbda2e2edfba.gz --- Makefile | 2 ++ src/org/ibex/plat/GCJ.java | 2 ++ src/org/ibex/util/BytecodePruner.java | 11 +++++++++++ 3 files changed, 15 insertions(+) diff --git a/Makefile b/Makefile index f84ab61..7f3c4dc 100644 --- a/Makefile +++ b/Makefile @@ -296,7 +296,9 @@ build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a -Lupstream/install/$(target)/lib \ -Lupstream/install/lib \ -Os -w \ + -Wl,--whole-archive \ build/$(platform)/ibex.a \ + -Wl,--no-whole-archive \ upstream/jpeg-6b/build-$(target)/libjpeg.a \ $(link_flags) \ upstream/gcc-3.3/build-$(target)/$(target)/boehm-gc/.libs/libgcjgc.a \ diff --git a/src/org/ibex/plat/GCJ.java b/src/org/ibex/plat/GCJ.java index 63fe878..e68dc29 100644 --- a/src/org/ibex/plat/GCJ.java +++ b/src/org/ibex/plat/GCJ.java @@ -11,6 +11,7 @@ import java.security.cert.*; public abstract class GCJ extends Platform { // static references to these classes ensure that the linker will include them + /* public static Object c1 = new gnu.java.locale.Calendar(); public static Object c2 = new java.util.GregorianCalendar(); public static Object c3n = new gnu.gcj.convert.Input_ASCII(); @@ -27,6 +28,7 @@ public abstract class GCJ extends Platform { public String toString() { return "foocert"; } public PublicKey getPublicKey() { return null; } }; + */ protected native InputStream _getBuiltinInputStream(); diff --git a/src/org/ibex/util/BytecodePruner.java b/src/org/ibex/util/BytecodePruner.java index c579723..519fa13 100644 --- a/src/org/ibex/util/BytecodePruner.java +++ b/src/org/ibex/util/BytecodePruner.java @@ -87,6 +87,17 @@ public class BytecodePruner { bcp.loadMethod("java.lang.ref.Reference.enqueue"); // the GC calls this directly bcp.loadAllMethods("gnu.gcj.runtime.StringBuffer"); // the compiler emits calls directly to this class + bcp.loadAllMethods("gnu.gcj.protocol.http.Handler"); + bcp.loadAllMethods("gnu.gcj.protocol.file.Handler"); + bcp.loadAllMethods("gnu.gcj.protocol.core.Handler"); + bcp.loadAllMethods("gnu.gcj.protocol.jar.Handler"); + bcp.loadAllMethods("gnu.gcj.convert.Input_UTF8"); // retrieved via reflection + bcp.loadAllMethods("gnu.gcj.convert.Output_UTF8"); // retrieved via reflection + bcp.loadAllMethods("gnu.gcj.convert.Input_8859_1"); // retrieved via reflection + bcp.loadAllMethods("gnu.gcj.convert.Output_8859_1"); // retrieved via reflection + bcp.loadAllMethods("gnu.gcj.convert.Input_ASCII"); // retrieved via reflection + bcp.loadAllMethods("gnu.gcj.convert.Output_ASCII"); // retrieved via reflection + bcp.loadAllMethods("java.util.Date"); bcp.loadAllMethods("java.text.DateFormat"); bcp.loadAllMethods("java.text.NumberFormat"); -- 1.7.10.4