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>

next in thread | raw e-mail | index | archive | help

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"=20
while new ARM ARM defines same instruction as "rrx r0,r0".=20

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







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