From 3cb10a07820d898da9d1361ea04bfe44067bdd01 Mon Sep 17 00:00:00 2001
From: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Sun, 15 May 2005 17:07:20 +0000
Subject: [PATCH] 	* stacktrace.cc (getLineNumberForFrame): Use
 _Jv_GetSafeArg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99733 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libjava/ChangeLog     | 4 ++++
 libjava/stacktrace.cc | 6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ac60b212b063..76714b43eb1a 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 f4388aa6f3a8..a849f6f9e712 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;
-- 
GitLab