1extern void abort(void);
2extern int inside_main;
3
4__attribute__ ((__noinline__))
5int
6memcmp (const void *s1, const void *s2, __SIZE_TYPE__ len)
7{
8  const unsigned char *sp1, *sp2;
9
10#ifdef __OPTIMIZE__
11  if (inside_main)
12    abort ();
13#endif
14
15  sp1 = s1;
16  sp2 = s2;
17  while (len != 0 && *sp1 == *sp2)
18    sp1++, sp2++, len--;
19
20  if (len == 0)
21    return 0;
22  return *sp1 - *sp2;
23}
24