aboutsummaryrefslogtreecommitdiff
path: root/libjava/stacktrace.cc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-05-25 16:24:07 -0700
committerRichard Henderson <rth@gcc.gnu.org>2005-05-25 16:24:07 -0700
commiteb2925b676cb88c2c28b5bf7484fb432f709ce88 (patch)
treedecadfd6855f01f7f2fa5b72d94ed6ce6e6edfea /libjava/stacktrace.cc
parent2f828272d85e2ef044aaab493d67d38dbd2dead8 (diff)
downloadgcc-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/stacktrace.cc')
-rw-r--r--libjava/stacktrace.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc
index a849f6f..e027678 100644
--- a/libjava/stacktrace.cc
+++ b/libjava/stacktrace.cc
@@ -29,6 +29,7 @@ details. */
#include <gnu/gcj/runtime/NameFinder.h>
#include <sysdep/backtrace.h>
+#include <sysdep/descriptor.h>
using namespace java::lang;
using namespace java::lang::reflect;
@@ -62,12 +63,12 @@ _Jv_StackTrace::UpdateNCodeMap ()
for (int i=0; i < klass->method_count; i++)
{
_Jv_Method *method = &klass->methods[i];
+ void *ncode = method->ncode;
// Add non-abstract methods to ncodeMap.
- if (method->ncode)
+ if (ncode)
{
- //printf("map->put 0x%x / %s.%s\n", method->ncode, klass->name->data,
- // method->name->data);
- ncodeMap->put ((java::lang::Object *) method->ncode, klass);
+ ncode = UNWRAP_FUNCTION_DESCRIPTOR (ncode);
+ ncodeMap->put ((java::lang::Object *)ncode, klass);
}
}
}