aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/bytes
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2010-12-17 06:36:10 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2010-12-17 06:36:10 +0000
commit2bc4b68293dad5d923b6800b79d45103afcc63c6 (patch)
treebbb81abc0ffda5d246f8bea258c6922bbef23dd6 /libgo/go/bytes
parentb5343013fe2755e0ce86306e17ba316cddcc6e24 (diff)
downloadgcc-2bc4b68293dad5d923b6800b79d45103afcc63c6.zip
gcc-2bc4b68293dad5d923b6800b79d45103afcc63c6.tar.gz
gcc-2bc4b68293dad5d923b6800b79d45103afcc63c6.tar.bz2
Don't split stack in bytes.IndexByte.
From-SVN: r167971
Diffstat (limited to 'libgo/go/bytes')
-rw-r--r--libgo/go/bytes/indexbyte.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libgo/go/bytes/indexbyte.c b/libgo/go/bytes/indexbyte.c
index 1e0fef9..a0a963e 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)