I had a looky at the source code from the website, and he does provide definitions of these functions (strcat, memset etc) in common.c. However in early stages of the tutorial they are just stubs -- have you implemented them? If you don't want to it looks like the "multitasking" version of the sources has implementations.
Not sure if the implicit declarations could be causing a page fault, possibly. If you're calling something with the wrong arguments the compiler will just let you get away with it if there's no declaration. You should probably put the declarations in a header file, maybe use common.h.
Eek, just saw this too:
source/common.c: In function ‘strcat’:
source/common.c:80:22: warning: operation on ‘dest’ may be undefined
This is undefined behaviour:Code:
*dest = *dest++;
That's the kind of thing that could well have changed between compiler versions (I see this website was written in 2008, so maybe this did what he wanted then). Looks like it should just be