mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-13 23:50:07 +08:00
runtime: Do not report thunks and recover functions in backtrace.
From-SVN: r203294
This commit is contained in:
parent
8ae4c35c1e
commit
7af190f113
@ -53,6 +53,21 @@ callback (void *data, uintptr_t pc, const char *filename, int lineno,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Skip thunks and recover functions. There is no equivalent to
|
||||
these functions in the gc toolchain, so returning them here means
|
||||
significantly different results for runtime.Caller(N). */
|
||||
if (function != NULL)
|
||||
{
|
||||
const char *p;
|
||||
|
||||
p = __builtin_strchr (function, '.');
|
||||
if (p != NULL && __builtin_strncmp (p + 1, "$thunk", 6) == 0)
|
||||
return 0;
|
||||
p = __builtin_strrchr (function, '$');
|
||||
if (p != NULL && __builtin_strcmp(p, "$recover") == 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (arg->skip > 0)
|
||||
{
|
||||
--arg->skip;
|
||||
|
Loading…
Reference in New Issue
Block a user