diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-23 20:27:12 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-23 20:27:12 +0000 |
| commit | 22d320f5177efd0eb22fd0f21c8d4d63af54ac9e (patch) | |
| tree | bd69a3ee7525a63aa54ad42136e26863f186a9df | |
| parent | b94d0de9b7bacf7b823c118793fa2cd6f7892a7d (diff) | |
| download | ppe42-gcc-22d320f5177efd0eb22fd0f21c8d4d63af54ac9e.tar.gz ppe42-gcc-22d320f5177efd0eb22fd0f21c8d4d63af54ac9e.zip | |
libjava:
* include/jvm.h (GCJ_40_BC_ABI_VERSION): New define.
(_Jv_CheckABIVersion): Use it.
gcc/java:
* decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
(parse_version): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96948 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/java/decl.c | 9 | ||||
| -rw-r--r-- | libjava/ChangeLog | 5 | ||||
| -rw-r--r-- | libjava/include/jvm.h | 11 |
4 files changed, 25 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 70ad11c3647..16b956e0bb8 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2005-03-23 Tom Tromey <tromey@redhat.com> + + * decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define. + (parse_version): Use it. + 2005-03-23 Joseph S. Myers <joseph@codesourcery.com> * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 2f9da979733..d462f269640 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -64,6 +64,13 @@ static void parse_version (void); /* Used when computing the ABI version. */ #define GCJ_BINARYCOMPAT_ADDITION 5 +/* 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 + changes, this must change. */ +#define GCJ_CURRENT_BC_ABI_VERSION \ + (4 * 10000 + 0 * 10 + GCJ_BINARYCOMPAT_ADDITION) + /* The ABI version number. */ tree gcj_abi_version; @@ -609,7 +616,7 @@ parse_version (void) (objects generated by different version of gcj), but will probably always require strict matching for ordinary ABI. */ if (flag_indirect_dispatch) - abi_version += GCJ_BINARYCOMPAT_ADDITION; + abi_version = GCJ_CURRENT_BC_ABI_VERSION; gcj_abi_version = build_int_cstu (ptr_type_node, abi_version); } diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c3be587b67e..14c5079f3f9 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2005-03-23 Tom Tromey <tromey@redhat.com> + + * include/jvm.h (GCJ_40_BC_ABI_VERSION): New define. + (_Jv_CheckABIVersion): Use it. + 2005-03-22 Mike Stump <mrs@apple.com> * stacktrace.cc: Delete unused _Jv_FindCallingClassState. diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 62347880bb6..7a5a4eaa28e 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -562,14 +562,17 @@ extern void _Jv_RegisterBootstrapPackages (); #define GCJ_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 10) #define GCJ_BINARYCOMPAT_ADDITION 5 +// At present we know we are compatible with the BC ABI as used in GCC +// 4.0. +#define GCJ_40_BC_ABI_VERSION (4 * 10000 + 0 * 10 + GCJ_BINARYCOMPAT_ADDITION) + inline bool _Jv_CheckABIVersion (unsigned long value) { - // For this release, recognize just our defined C++ ABI and our - // defined BC ABI. (In the future we may recognize past BC ABIs as - // well.) + // Recognize our defined C++ ABI. return (value == GCJ_VERSION - || value == (GCJ_VERSION + GCJ_BINARYCOMPAT_ADDITION)); + // At the moment this is the only BC ABI we recognize. + || value == GCJ_40_BC_ABI_VERSION); } // It makes the source cleaner if we simply always define this |

