diff options
Diffstat (limited to 'libgo/runtime/go-copy.c')
-rw-r--r-- | libgo/runtime/go-copy.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libgo/runtime/go-copy.c b/libgo/runtime/go-copy.c new file mode 100644 index 000000000..998aeb927 --- /dev/null +++ b/libgo/runtime/go-copy.c @@ -0,0 +1,21 @@ +/* go-append.c -- the go builtin copy function. + + Copyright 2010 The Go Authors. All rights reserved. + Use of this source code is governed by a BSD-style + license that can be found in the LICENSE file. */ + +#include <stddef.h> + +/* We should be OK if we don't split the stack here, since we are just + calling memmove which shouldn't need much stack. If we don't do + this we will always split the stack, because of memmove. */ + +extern void +__go_copy (void *, void *, size_t) + __attribute__ ((no_split_stack)); + +void +__go_copy (void *a, void *b, size_t len) +{ + __builtin_memmove (a, b, len); +} |