//------------------------------------------------------------------------------ // // Copyright (c) 2016, Linaro Ltd. All rights reserved.
// // This program and the accompanying materials are licensed and made // available under the terms and conditions of the BSD License which // accompanies this distribution. The full text of the license may be // found at http://opensource.org/licenses/bsd-license.php // // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR // IMPLIED. // //------------------------------------------------------------------------------ typedef __SIZE_TYPE__ size_t; static __attribute__((__used__)) void *__memcpy(void *dest, const void *src, size_t n) { unsigned char *d = dest; unsigned char const *s = src; while (n--) *d++ = *s++; return dest; } __attribute__((__alias__("__memcpy"))) void *memcpy(void *dest, const void *src, size_t n); #ifdef __arm__ __attribute__((__alias__("__memcpy"))) void __aeabi_memcpy(void *dest, const void *src, size_t n); __attribute__((__alias__("__memcpy"))) void __aeabi_memcpy4(void *dest, const void *src, size_t n); __attribute__((__alias__("__memcpy"))) void __aeabi_memcpy8(void *dest, const void *src, size_t n); #endif