libgo patch committed: Ignore __morestack in runtime.Callers
Commit Message
This libgo patch ignores the __morestack function in runtime.Callers.
We were ignoring all functions starting with "__morestack_", but not
the function "__morestack" itself. Without this change, some tests
such as recover.go started failing recently, though I'm not sure
exactly what changed. Bootstrapped and ran Go testsuite on
x86_64-pc-linux-gnu. Committed to mainline.
Ian
c0852b51b7a68ada822955eb7ef83d933cc33e47
Comments
On Tue, Sep 6, 2022 at 6:40 PM Ian Lance Taylor <iant@golang.org> wrote:
>
> This libgo patch ignores the __morestack function in runtime.Callers.
> We were ignoring all functions starting with "__morestack_", but not
> the function "__morestack" itself. Without this change, some tests
> such as recover.go started failing recently, though I'm not sure
> exactly what changed. Bootstrapped and ran Go testsuite on
> x86_64-pc-linux-gnu. Committed to mainline.
I've also committed this patch to GCC 12 branch.
Ian
@@ -1,4 +1,4 @@
-d53e8a0e94e34dc609e34dd5e404debda2640cfb
+6543b7fc6da533eb976b37649a925e7fd5a521fa
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
@@ -107,7 +107,7 @@ callback (void *data, uintptr_t pc, const char *filename, int lineno,
p = function;
if (__builtin_strncmp (p, "___", 3) == 0)
++p;
- if (__builtin_strncmp (p, "__morestack_", 12) == 0)
+ if (__builtin_strncmp (p, "__morestack", 11) == 0)
return 0;
}
else if (filename != NULL)