diff options
author | Richard Henderson <rth@redhat.com> | 2005-05-25 16:24:07 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-05-25 16:24:07 -0700 |
commit | eb2925b676cb88c2c28b5bf7484fb432f709ce88 (patch) | |
tree | decadfd6855f01f7f2fa5b72d94ed6ce6e6edfea /libjava/sysdep | |
parent | 2f828272d85e2ef044aaab493d67d38dbd2dead8 (diff) | |
download | gcc-eb2925b676cb88c2c28b5bf7484fb432f709ce88.zip gcc-eb2925b676cb88c2c28b5bf7484fb432f709ce88.tar.gz gcc-eb2925b676cb88c2c28b5bf7484fb432f709ce88.tar.bz2 |
re PR libgcj/21692 (unexpected java.lang.NoClassDefFoundError)
PR libgcj/21692
* sysdep/descriptor-n.h: New file.
* sysdep/descriptor-y.h: New file.
* sysdep/powerpc/descriptor.h: New file.
* configure.host: Set $descriptor_h appropriate for the host.
* configure.ac: Link it.
* configure: Regenerate.
* stacktrace.cc: Include sysdep/descriptor.h.
(_Jv_StackTrace::UpdateNCodeMap): Use UNWRAP_FUNCTION_DESCRIPTOR.
From-SVN: r100173
Diffstat (limited to 'libjava/sysdep')
-rw-r--r-- | libjava/sysdep/descriptor-n.h | 3 | ||||
-rw-r--r-- | libjava/sysdep/descriptor-y.h | 5 | ||||
-rw-r--r-- | libjava/sysdep/powerpc/descriptor.h | 9 |
3 files changed, 17 insertions, 0 deletions
diff --git a/libjava/sysdep/descriptor-n.h b/libjava/sysdep/descriptor-n.h new file mode 100644 index 0000000..d640405 --- /dev/null +++ b/libjava/sysdep/descriptor-n.h @@ -0,0 +1,3 @@ +// Given a function pointer, return the code address. + +#define UNWRAP_FUNCTION_DESCRIPTOR(X) (X) diff --git a/libjava/sysdep/descriptor-y.h b/libjava/sysdep/descriptor-y.h new file mode 100644 index 0000000..ca61550 --- /dev/null +++ b/libjava/sysdep/descriptor-y.h @@ -0,0 +1,5 @@ +// Given a function pointer, return the code address. + +// The function descriptor is actually multiple words, +// but we don't care about anything except the first. +#define UNWRAP_FUNCTION_DESCRIPTOR(X) (*(void **)(X)) diff --git a/libjava/sysdep/powerpc/descriptor.h b/libjava/sysdep/powerpc/descriptor.h new file mode 100644 index 0000000..51296c2 --- /dev/null +++ b/libjava/sysdep/powerpc/descriptor.h @@ -0,0 +1,9 @@ +// Given a function pointer, return the code address. + +#ifdef _CALL_AIX +// The function descriptor is actually multiple words, +// but we don't care about anything except the first. +# define UNWRAP_FUNCTION_DESCRIPTOR(X) (*(void **)(X)) +#else +# define UNWRAP_FUNCTION_DESCRIPTOR(X) (X) +#endif |