From patchwork Sun Oct 7 14:05:19 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: libgo patch committed: Use libbacktrace Date: Sun, 07 Oct 2012 04:05:19 -0000 From: Andreas Schwab X-Patchwork-Id: 189839 Message-Id: To: Ian Lance Taylor Cc: gcc-patches@gcc.gnu.org, gofrontend-dev@googlegroups.com Ian Lance Taylor writes: > +/* Set *VAL to the value of the symbol for PC. */ > + > +static _Bool > +__go_symbol_value (uintptr_t pc, uintptr_t *val) > +{ > + *val = 0; > + backtrace_syminfo (__go_get_backtrace_state (), pc, syminfo_callback, > + error_callback, &val); > + return *val != 0; > } Don't clobber address of val. Andreas. diff --git a/libgo/runtime/go-caller.c b/libgo/runtime/go-caller.c index 843adf6..8dcf9e4 100644 --- a/libgo/runtime/go-caller.c +++ b/libgo/runtime/go-caller.c @@ -144,7 +144,7 @@ __go_symbol_value (uintptr_t pc, uintptr_t *val) { *val = 0; backtrace_syminfo (__go_get_backtrace_state (), pc, syminfo_callback, - error_callback, &val); + error_callback, val); return *val != 0; }