fixup typos, add workaround for odd error that only appears with newer versions of gcc
rework compilation logic so that ARM asm is used with gcc 4.2 is detected since this gcc release does not seem to be able to compile the inline asm logic properly