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
This commit is contained in:
parent
cd0b240bf1
commit
cca1655eab
15 changed files with 112 additions and 12 deletions
|
@ -565,6 +565,7 @@ extern void _Jv_RegisterBootstrapPackages ();
|
|||
// This is used to find ABI versions we recognize.
|
||||
#define GCJ_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 10)
|
||||
#define GCJ_BINARYCOMPAT_ADDITION 5
|
||||
#define GCJ_BOOTSTRAP_LOADER_ADDITION 1
|
||||
|
||||
// At present we know we are compatible with the BC ABI as used in GCC
|
||||
// 4.0.
|
||||
|
@ -573,10 +574,18 @@ extern void _Jv_RegisterBootstrapPackages ();
|
|||
inline bool
|
||||
_Jv_CheckABIVersion (unsigned long value)
|
||||
{
|
||||
// Recognize our defined C++ ABI.
|
||||
// Recognize our defined C++ ABIs.
|
||||
return (value == GCJ_VERSION
|
||||
// At the moment this is the only BC ABI we recognize.
|
||||
|| value == GCJ_40_BC_ABI_VERSION);
|
||||
|| value == (GCJ_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION)
|
||||
|| value == GCJ_40_BC_ABI_VERSION
|
||||
|| value == (GCJ_40_BC_ABI_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION));
|
||||
}
|
||||
|
||||
inline bool
|
||||
_Jv_ClassForBootstrapLoader (unsigned long value)
|
||||
{
|
||||
return (value == (GCJ_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION)
|
||||
|| value == (GCJ_40_BC_ABI_VERSION + GCJ_BOOTSTRAP_LOADER_ADDITION));
|
||||
}
|
||||
|
||||
// It makes the source cleaner if we simply always define this
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue