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
|
@ -11,7 +11,7 @@ details. */
|
|||
#ifndef __JV_WIN32_H__
|
||||
#define __JV_WIN32_H__
|
||||
|
||||
// Enable UNICODE Support.?
|
||||
// Enable UNICODE support?
|
||||
|
||||
#ifdef MINGW_LIBGCJ_UNICODE
|
||||
#define UNICODE
|
||||
|
@ -175,8 +175,11 @@ _Jv_platform_usleep (unsigned long usecs)
|
|||
}
|
||||
#endif /* JV_HASH_SYNCHRONIZATION */
|
||||
|
||||
/* Store up to SIZE return address of the current program state in
|
||||
ARRAY and return the exact number of values stored. */
|
||||
extern int backtrace (void **__array, int __size);
|
||||
// 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_WIN32_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue