Please post the source, so I can see what goes wrong. I'm not really known with the ARM stuff, but according to Florian FPC produces better code than GCC on ARM.

What I can see from the executables is that the FPC executable contains RTTI, which most propably means the FPC executable was compiled without smartlinking, which would explain the large executable.