1 extern void abort (void);
2 extern int inside_main;
3
4 __attribute__ ((__noinline__))
5 void *
6 memset (void *dst, int c, __SIZE_TYPE__ n)
7 {
8 while (n-- != 0)
9 n[(char *) dst] = c;
10
11 /* Single-byte memsets should be done inline when optimisation
12 is enabled. Do this after the copy in case we're being called to
13 initialize bss. */
14 #ifdef __OPTIMIZE__
15 if (inside_main && n < 2)
16 abort ();
17 #endif
18
19 return dst;
20 }