summaryrefslogtreecommitdiff
path: root/libjava/stacktrace.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-15 17:07:20 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-15 17:07:20 +0000
commit3cb10a07820d898da9d1361ea04bfe44067bdd01 (patch)
tree4ff1efaf1c4528de1417e7584b1beded3f202064 /libjava/stacktrace.cc
parent1ba852a1a349ccd1dbb01454b4f1445731aa375e (diff)
downloadgcc-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
Diffstat (limited to 'libjava/stacktrace.cc')
-rw-r--r--libjava/stacktrace.cc6
1 files changed, 3 insertions, 3 deletions
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;