runtime: mark memequal and memclrNoHeapPointers nosplit
They are wrappers of libc functions that use no stack. Mark them
nosplit so the linker won't patch it to call __morestack_non_split.
Change-Id: Ib649f9162d0d69cd20f6a283a763a634ad112967
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/183629
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/libgo/runtime/go-memclr.c b/libgo/runtime/go-memclr.c
index e478b65..b5d4975 100644
--- a/libgo/runtime/go-memclr.c
+++ b/libgo/runtime/go-memclr.c
@@ -7,7 +7,8 @@
#include "runtime.h"
void memclrNoHeapPointers(void *, uintptr)
- __asm__ (GOSYM_PREFIX "runtime.memclrNoHeapPointers");
+ __asm__ (GOSYM_PREFIX "runtime.memclrNoHeapPointers")
+ __attribute__ ((no_split_stack));
void
memclrNoHeapPointers (void *p1, uintptr len)
diff --git a/libgo/runtime/go-memequal.c b/libgo/runtime/go-memequal.c
index 5f514aa..9648cba 100644
--- a/libgo/runtime/go-memequal.c
+++ b/libgo/runtime/go-memequal.c
@@ -7,7 +7,8 @@
#include "runtime.h"
_Bool memequal (void *, void *, uintptr)
- __asm__ (GOSYM_PREFIX "runtime.memequal");
+ __asm__ (GOSYM_PREFIX "runtime.memequal")
+ __attribute__ ((no_split_stack));
_Bool
memequal (void *p1, void *p2, uintptr len)