ARM issue with old binutils

[ Available lists | Index of freebsd-toolchain | Month of Jun 2011 | Week of 22 Jun 2011 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Damjan Marion <damjan.marion@gmail.com>
Date
22 Jun 2011 13:09:30
Subject
ARM issue with old binutils
Message-ID
0C35FE0F-3301-44C6-AC40-233F6C446EBC@gmail.com


[ Hide this part ]
 
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





Elapsed time: 0.238 seconds