Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jun 2011 15:09:26 +0200
From:      Damjan Marion <damjan.marion@gmail.com>
To:        toolchain@freebsd.org
Subject:   ARM issue with old binutils
Message-ID:  <0C35FE0F-3301-44C6-AC40-233F6C446EBC@gmail.com>

index | next in thread | raw e-mail


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






help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0C35FE0F-3301-44C6-AC40-233F6C446EBC>