1extern void abort (void); 2extern int inside_main; 3 4__attribute__ ((__noinline__)) 5void * 6memmove (void *dst, const void *src, __SIZE_TYPE__ n) 7{ 8 char *dstp; 9 const char *srcp; 10 11#ifdef __OPTIMIZE__ 12 if (inside_main) 13 abort (); 14#endif 15 16 srcp = src; 17 dstp = dst; 18 if (srcp < dstp) 19 while (n-- != 0) 20 dstp[n] = srcp[n]; 21 else 22 while (n-- != 0) 23 *dstp++ = *srcp++; 24 25 return dst; 26} 27 28void 29bcopy (const void *src, void *dst, __SIZE_TYPE__ n) 30{ 31 memmove (dst, src, n); 32} 33