From 2bc4b68293dad5d923b6800b79d45103afcc63c6 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <ian@gcc.gnu.org>
Date: Fri, 17 Dec 2010 06:36:10 +0000
Subject: [PATCH] Don't split stack in bytes.IndexByte.

From-SVN: r167971
---
 libgo/go/bytes/indexbyte.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libgo/go/bytes/indexbyte.c b/libgo/go/bytes/indexbyte.c
index 1e0fef91f309..a0a963e93f66 100644
--- a/libgo/go/bytes/indexbyte.c
+++ b/libgo/go/bytes/indexbyte.c
@@ -8,11 +8,13 @@
 
 #include "array.h"
 
-/* This is in C so that the compiler can optimize it
-   appropriately.  */
+/* This is in C so that the compiler can optimize it appropriately.
+   We deliberately don't split the stack in case it does call the
+   library function, which shouldn't need much stack space.  */
 
 int IndexByte (struct __go_open_array, char)
-  asm ("libgo_bytes.bytes.IndexByte");
+  asm ("libgo_bytes.bytes.IndexByte")
+  __attribute__ ((no_split_stack));
 
 int
 IndexByte (struct __go_open_array s, char b)
-- 
GitLab