gcc/libgo/runtime/go-memequal.c
Ian Lance Taylor 81fadf1c8d runtime: mark memequal and memclrNoHeapPointers 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.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/183629

From-SVN: r272633
2019-06-25 06:16:21 +00:00

18 lines
464 B
C

/* go-memequal.c -- compare memory buffers for equality
Copyright 2016 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 "runtime.h"
_Bool memequal (void *, void *, uintptr)
__asm__ (GOSYM_PREFIX "runtime.memequal")
__attribute__ ((no_split_stack));
_Bool
memequal (void *p1, void *p2, uintptr len)
{
return __builtin_memcmp (p1, p2, len) == 0;
}