diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-15 17:07:20 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-15 17:07:20 +0000 |
commit | 3cb10a07820d898da9d1361ea04bfe44067bdd01 (patch) | |
tree | 4ff1efaf1c4528de1417e7584b1beded3f202064 | |
parent | 1ba852a1a349ccd1dbb01454b4f1445731aa375e (diff) | |
download | gcc-3cb10a07820d898da9d1361ea04bfe44067bdd01.tar.gz |
* stacktrace.cc (getLineNumberForFrame): Use _Jv_GetSafeArg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99733 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 4 | ||||
-rw-r--r-- | libjava/stacktrace.cc | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ac60b212b06..76714b43eb1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2005-05-15 Tom Tromey <tromey@redhat.com> + + * stacktrace.cc (getLineNumberForFrame): Use _Jv_GetSafeArg. + 2005-05-13 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/21557 diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc index f4388aa6f3a..a849f6f9e71 100644 --- a/libjava/stacktrace.cc +++ b/libjava/stacktrace.cc @@ -184,13 +184,13 @@ _Jv_StackTrace::getLineNumberForFrame(_Jv_StackFrame *frame, NameFinder *finder, #endif // Use dladdr() to determine in which binary the address IP resides. #if defined (HAVE_DLFCN_H) && defined (HAVE_DLADDR) - extern char **_Jv_argv; Dl_info info; jstring binaryName = NULL; + const char *argv0 = _Jv_GetSafeArg(0); void *ip = frame->ip; _Unwind_Ptr offset = 0; - + if (dladdr (ip, &info)) { if (info.dli_fname) @@ -199,7 +199,7 @@ _Jv_StackTrace::getLineNumberForFrame(_Jv_StackFrame *frame, NameFinder *finder, return; // addr2line expects relative addresses for shared libraries. - if (strcmp (info.dli_fname, _Jv_argv[0]) == 0) + if (strcmp (info.dli_fname, argv0) == 0) offset = (_Unwind_Ptr) ip; else offset = (_Unwind_Ptr) ip - (_Unwind_Ptr) info.dli_fbase; |