ARM issue with old binutils

Damjan Marion damjan.marion at gmail.com
Wed Jun 22 13:09:30 UTC 2011


Hi,

On my ongoing effort to support clang cross-compiling of world for ARM architecture I hit one weird issue:

Problem is that old ARM Architecture Reference Manual (ARMv5) specifies mnemonics "mov r0, r0, rrx" 
while new ARM ARM defines same instruction as "rrx r0,r0". 

Both have same opcode: 0xe1a00060.

Problem is that clang currently uses GAS to assemble files and GAS version we have (2.17.50)  doesn't have a clue about new mnemonics "rrx r0,r0".

I see 3 options to fix this:

1. Ask clang folks to patch llvm to use old mnemonics  ("mov r0, r0, rrx" instead of "rrx r0,r0")
2. Maintain same patch for freebsd only
3. patch binutils to support this new mnemonics

Any thoughts how to proceed?

Thanks,

Damjan






More information about the freebsd-toolchain mailing list