diff mbox series

libgo patch committed: memequal and memclrNoHeapPointers nosplit

Message ID CAOyqgcWFJch4QyJmjY5++vr-YgyMNV3itw=SD2ca+04YNCBQoA@mail.gmail.com
State New
Headers show
Series libgo patch committed: memequal and memclrNoHeapPointers nosplit | expand

Commit Message

Ian Lance Taylor June 25, 2019, 6:16 a.m. UTC
This patch by Cherry Zhang changes libgo to mark the memequal and
memclrNoHeapPointers functions as 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.  Bootstrapped and ran Go
testsuite on x86_64-pc-linux-gnu.  Committed to mainline.

Ian
diff mbox series

Patch

Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE	(revision 272624)
+++ gcc/go/gofrontend/MERGE	(working copy)
@@ -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: libgo/runtime/go-memclr.c
===================================================================
--- libgo/runtime/go-memclr.c	(revision 272608)
+++ libgo/runtime/go-memclr.c	(working copy)
@@ -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: libgo/runtime/go-memequal.c
===================================================================
--- libgo/runtime/go-memequal.c	(revision 272608)
+++ libgo/runtime/go-memequal.c	(working copy)
@@ -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)