aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/decl.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2005-05-12 01:27:15 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-05-12 01:27:15 +0000
commitcca1655eabb86897dc2dfd5aa2830d07a1cc83ca (patch)
tree9f39fff82022b1ead94d585a390edb4a4f526870 /gcc/java/decl.c
parentcd0b240bf1f795586b644f25b70454ee89eab8b8 (diff)
downloadgcc-cca1655eabb86897dc2dfd5aa2830d07a1cc83ca.zip
gcc-cca1655eabb86897dc2dfd5aa2830d07a1cc83ca.tar.gz
gcc-cca1655eabb86897dc2dfd5aa2830d07a1cc83ca.tar.bz2
gcj.texi (Code Generation): Document -fbootstrap-classes.
gcc/java: * gcj.texi (Code Generation): Document -fbootstrap-classes. * decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro. (parse_version): Use it. * lang.opt (-fbootstrap-classes): New option. libjava: * external/w3c_dom/Makefile.in: Rebuilt. * external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added -fbootstrap-classes. * external/sax/Makefile.in: Rebuilt. * external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added -fbootstrap-classes. * java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as friend. * java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal): Call _Jv_CopyClassesToSystemLoader. * java/lang/natClassLoader.cc (system_class_list): New global. (_Jv_RegisterClassHookDefault): Handle bootstrap and system classes differently. (_Jv_CopyClassesToSystemLoader): New function. (SYSTEM_LOADER_INITIALIZED): New define. * include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define. (_Jv_CheckABIVersion): Use it. (_Jv_ClassForBootstrapLoader): New function. * Makefile.in: Rebuilt. * Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes. From-SVN: r99604
Diffstat (limited to 'gcc/java/decl.c')
-rw-r--r--gcc/java/decl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 204a674..a74e518 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -64,6 +64,10 @@ static void parse_version (void);
/* Used when computing the ABI version. */
#define GCJ_BINARYCOMPAT_ADDITION 5
+/* Used when defining a class that should be loaded by the bootstrap
+ loader. */
+#define GCJ_BOOTSTRAP_LOADER_ADDITION 1
+
/* The version of the BC ABI that we generate. At the moment we are
compatible with what shipped in GCC 4.0. This must be kept in sync
with parse_version(), libgcj, and reality (if the BC format
@@ -620,6 +624,8 @@ parse_version (void)
probably always require strict matching for ordinary ABI. */
if (flag_indirect_dispatch)
abi_version = GCJ_CURRENT_BC_ABI_VERSION;
+ if (flag_bootstrap_classes)
+ abi_version += GCJ_BOOTSTRAP_LOADER_ADDITION;
gcj_abi_version = build_int_cstu (ptr_type_node, abi_version);
}