Can the ARM compiler-linker produce relocatable object code? That is, the code may be executed from anywhere in memory because it has no absolute program memory references - all is relative to PC.