From eb2925b676cb88c2c28b5bf7484fb432f709ce88 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 25 May 2005 16:24:07 -0700 Subject: 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 --- libjava/sysdep/descriptor-n.h | 3 +++ libjava/sysdep/descriptor-y.h | 5 +++++ libjava/sysdep/powerpc/descriptor.h | 9 +++++++++ 3 files changed, 17 insertions(+) create mode 100644 libjava/sysdep/descriptor-n.h create mode 100644 libjava/sysdep/descriptor-y.h create mode 100644 libjava/sysdep/powerpc/descriptor.h (limited to 'libjava/sysdep') 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 -- cgit v1.1