From 81fadf1c8d33ce8fb38e18f00b96fc2434ab7f98 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 25 Jun 2019 06:16:21 +0000 Subject: 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. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/183629 From-SVN: r272633 --- libgo/runtime/go-memclr.c | 3 ++- libgo/runtime/go-memequal.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'libgo/runtime') 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) -- cgit v1.1