arm: remove thumb instruction "bx lr" from EABI binary

Sven Bachmann
Today I had a strange error using the GCC version 4.4.1 with EABI support on a non thumb-ARMv4. Everytime I compiled something, with and w/o the -mno-thumb-interwork parameter it also contained the bx lr instruction which is only for later ARM processors with thumb support.The only solution seemed to be to patch the GCC. Urgs… not really a nice solution, because recompiling GCC takes 3 stages and much time. After lots of googling I finally found the solution in the Debian Wiki.

uClibc: "bx r6" compile error on ARM

Sven Bachmann
While compiling OpenWrt for an ARM compatible processor I got the following error: {standard input}: Assembler messages: {standard input}:39: Error: selected processor does not support `bx r6' I found the solution in the The definitive guide to GCC book from William Von Hagen (I don’t own it, I found it via Google Books). You have to disable the the USE_BX flag in the uClibc config file and everything will be fine.