runtime: mark memequal and memclrNoHeapPointers nosplit
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 25 Jun 2019 06:16:21 +0000 (06:16 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 25 Jun 2019 06:16:21 +0000 (06:16 +0000)
    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

gcc/go/gofrontend/MERGE
libgo/runtime/go-memclr.c
libgo/runtime/go-memequal.c

index ca68507906a96019965b9b2438c2fee559321a41..ca0578ab9d49d6cdab7bc400302216b4274e82f1 100644 (file)
@@ -1,4 +1,4 @@
-89b442a0100286ee569b8d2562ce1b2ea602f7e7
+a857aad2f3994e6fa42a6fc65330e65d209597a0
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index e478b658b9cd739bea6d105217def8e95df0a357..b5d4975e57d36f9f4aae29745eaaa59028f92619 100644 (file)
@@ -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)
index 5f514aaae09d7bf2a0ebbb34fa50b68c6d452e49..9648cbabe43b4cde0eb6c45110ebbb2e0e7f9c97 100644 (file)
@@ -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)