javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in C99.
* gcj/javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in C99. * include/java-stack.h: Include stdlib.h. (_Jv_AddrInfo): New structure to hold address information. * include/posix.h (_Jv_platform_dladdr): Declare. * include/win32.h (_Jv_platform_dladdr): Declare. (backtrace): Remove declaration. * posix.cc: Include dlfcn.h if available. Include java-stack.h. (_Jv_platform_dladdr): Define. * win32.cc: Include string.h. Include java-stack.h. (backtrace): Remove. (_Jv_platform_dladdr): Define. * sysdep/i386/backtrace.h (fallback_backtrace): Check that a potential frame pointer value is 32-bit word-aligned. Use operand of the CALL instruction calling the current function to find its starting address. * stacktrace.cc: Do not include dlfcn.h. Include platform.h. (_Jv_StackTrace::getLineNumberForFrame): Use _Jv_platform_dladdr() instead of dladdr(). (_Jv_StackTrace::GetStackTraceElements): Use nCodeMap even for Windows. (_Jv_StackTrace::GetClassContext): Use fallback_backtrace() for targets with SJLJ exceptions instead of using _Unwind_Backtrace(). (_Jv_StackTrace::GetFirstNonSystemClassLoader): Likewise. From-SVN: r115069
This commit is contained in:
parent
6150b60261
commit
3379268423
9 changed files with 209 additions and 58 deletions
|
@ -194,4 +194,11 @@ _Jv_pipe (int filedes[2])
|
|||
return ::pipe (filedes);
|
||||
}
|
||||
|
||||
// Forward declaration. See java-stack.h for definition.
|
||||
struct _Jv_AddrInfo;
|
||||
|
||||
// Given an address, determine the executable or shared object that defines
|
||||
// it and the nearest named symbol.
|
||||
extern int _Jv_platform_dladdr (const void *addr, _Jv_AddrInfo *info);
|
||||
|
||||
#endif /* __JV_POSIX_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue