runtime: Use argv[0] to get executable name for backtrace.

From-SVN: r192123
This commit is contained in:
Ian Lance Taylor 2012-10-05 13:44:40 +00:00
parent 4f60bf181e
commit 686750d25d
3 changed files with 13 additions and 1 deletions

View file

@ -98,7 +98,12 @@ __go_get_backtrace_state ()
{
runtime_lock (&back_state_lock);
if (back_state == NULL)
back_state = backtrace_create_state (NULL, 1, error_callback, NULL);
{
const char *filename;
filename = (const char *) runtime_progname ();
back_state = backtrace_create_state (filename, 1, error_callback, NULL);
}
runtime_unlock (&back_state_lock);
return back_state;
}

View file

@ -117,6 +117,12 @@ runtime_args(int32 c, byte **v)
runtime_sysargs(c, v);
}
byte*
runtime_progname()
{
return argc == 0 ? nil : argv[0];
}
void
runtime_goargs(void)
{

View file

@ -520,5 +520,6 @@ extern uintptr runtime_stacks_sys;
struct backtrace_state;
extern struct backtrace_state *__go_get_backtrace_state(void);
extern _Bool __go_file_line(uintptr, String*, String*, int *);
extern byte* runtime_progname();
int32 getproccount(void);