blob: 2befc5d32fcbb3db13885099c21bdbde4b05a8af (
plain) (
tree)
|
|
Similar to Solaris, libucontext does not clear the stack below makecontext.
This causes the Go frontend to sometimes go below the stack.
On 32-bit Arm systems, this resulted in #832. It is likely, though not known,
that this could have caused other issues we've seen in gccgo as well.
--- gcc-8.5.0/libgo/runtime/go-callers.c.old 2021-05-14 03:42:11.000000000 -0500
+++ gcc-8.5.0/libgo/runtime/go-callers.c 2022-12-25 01:46:15.834110528 -0600
@@ -117,7 +117,8 @@
Solaris (http://gcc.gnu.org/PR52583 comment #21). */
if (function != NULL)
{
- if (__builtin_strcmp (function, "makecontext") == 0)
+ if (__builtin_strcmp (function, "makecontext") == 0
+ || __builtin_strcmp (function, "libucontext_makecontext") == 0)
return 1;
if (filename != NULL)
{
|