This is the mail archive of the java-patches@sources.redhat.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: fix for -static


This patch allows statically linked executables to work.
Without it, certain required classes are not linked in statically and
libgcj bootstrapping will fail.

I'm checking this in.

Thanks to Jeff Sturm for the class list.

2000-12-11  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/FirstThread.java (Kcert, Kfile, Khttp, Kjar):
	New static final fields.

Tom

Index: gnu/gcj/runtime/FirstThread.java
===================================================================
RCS file: /cvs/gcc/egcs/libjava/gnu/gcj/runtime/FirstThread.java,v
retrieving revision 1.5
diff -u -r1.5 FirstThread.java
--- FirstThread.java	2000/08/26 19:25:13	1.5
+++ FirstThread.java	2000/12/12 00:28:40
@@ -1,6 +1,6 @@
 // FirstThread.java - Implementation of very first thread.
 
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -74,4 +74,13 @@
   private Class klass;
   private String klass_name;
   private Object args;
+
+  // If the user links statically then we need to ensure that these
+  // classes are linked in.  Otherwise bootstrapping fails.  These
+  // classes are only referred to via Class.forName(), so we add an
+  // explicit mention of them here.
+  static final Class Kcert = java.security.cert.Certificate.class;
+  static final Class Kfile = gnu.gcj.protocol.file.Handler.class;
+  static final Class Khttp = gnu.gcj.protocol.http.Handler.class;
+  static final Class Kjar  = gnu.gcj.protocol.jar.Handler.class;
 }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]