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
This commit is contained in:
Richard Henderson 2005-05-25 16:24:07 -07:00 committed by Richard Henderson
parent 2f828272d8
commit eb2925b676
8 changed files with 52 additions and 4 deletions

View file

@ -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);
}
}
}