aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-06-25 06:16:21 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-06-25 06:16:21 +0000
commit81fadf1c8d33ce8fb38e18f00b96fc2434ab7f98 (patch)
tree2b287bd7f5b7a8ca356ffe23340b44a49f7bbbec /libgo/runtime
parent33437116edd7d0c59dee80e0ab7f241f851fa5d6 (diff)
downloadgcc-81fadf1c8d33ce8fb38e18f00b96fc2434ab7f98.zip
gcc-81fadf1c8d33ce8fb38e18f00b96fc2434ab7f98.tar.gz
gcc-81fadf1c8d33ce8fb38e18f00b96fc2434ab7f98.tar.bz2
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
Diffstat (limited to 'libgo/runtime')
-rw-r--r--libgo/runtime/go-memclr.c3
-rw-r--r--libgo/runtime/go-memequal.c3
2 files changed, 4 insertions, 2 deletions
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)