Compiler sopplied include file "string.h" declares memset function as
_C void * _EWL_CDECL memset(void *, int, size_t) _EWL_CANT_THROW;
Now in your code compiler finds memset is defined not the same, it's prototype is redeclared like this
__regabi void memset(void *, int, unsigned long)
Maybe comment out memset in your code and use one, supplied in compiler libs? Hope it will work.