From 795a5d4021e6db957b3f2e18e1468bd7064fda28 Mon Sep 17 00:00:00 2001 From: rmathew Date: Thu, 29 Jun 2006 14:57:39 +0000 Subject: * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115069 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/include/posix.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libjava/include/posix.h') diff --git a/libjava/include/posix.h b/libjava/include/posix.h index 5b74eb7da77..15795ddfdaf 100644 --- a/libjava/include/posix.h +++ b/libjava/include/posix.h @@ -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__ */ -- cgit v1.2.1