ARM Linux was a headache.
ARM Ltd. provide a platform which I compile on and GCC in the last three years has been upgraded; it’s now on 4.5.0.
I compile, there are weird error messages on the inline assembly, implying thumb mode was being used when compiling.
GCC docs indicate ARM by default.
There’s an undocumented GCC switch, “-marm”, which forces the compiler to emit ARM (which according to the docs is the default mode).
I suspect maybe the compiler I have is custom built and emitting thumb by default.
Anyways, means I need to modify the 6.1 makefile for Linux. However, the “-marm” flag should be pretty harmless, as the ldrexd/strexd instructions aren’t supported in thumb, e.g. there are no thumb users.
Oh, also, the “armv6k” architecture seems to have disappeared; there is now an “armv6zk”, which I’m using, but I can’t find out what the “z” signifies!
0 Comments.