I try to compile program for ARMv3 or ARMv2 CPU target using GCC (4.8.x). It produces assembler code with BX LR instructions (return from function) which GAS (2.23.2) cannot compile:
Error: selected processor does not support ARM mode `bx lr'
It is work for ARMv4 mode and greater (ARMv4 has no BX <reg> instruction support, but GAS compiles it as MOV PC,<reg>).
As I know BX <reg> is strongly recommended to be used instead of MOV PC,<reg> by the ARM architecture manual (section A.4.1.1).
Best regards,
Sergey Belyashov