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/stacktrace.cc | |
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/stacktrace.cc')
-rw-r--r-- | libjava/stacktrace.cc | 9 |
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); } } } |