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