Jim Grosbach
2011-Jun-22 15:29 UTC
[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
On Jun 22, 2011, at 7:22 AM, Renato Golin wrote:> On 22 June 2011 14:33, Damjan Marion <damjan.marion at gmail.com> wrote: >> Problem is that in case when old binutils are used (in my case freebsd is using old one due to license upgrade to GPLv3) AS doesn't understand new mnemonics and fails. > > Indeed, this is new in ARM ARM v7. > > >> Can we change to old mnemonic at least when ARMv4 and ARMv5 code is generated? > > We definitely should. Feel free to send a patch if you already have, > or create a bug in bugzilla. Shouldn't be too hard to add it.LLVM always uses unified syntax, including updated mnemonics for older instructions. Older binutils aren't supported. This is unlikely to change. -Jim
Damjan Marion
2011-Jun-22 15:39 UTC
[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
On Jun 22, 2011, at 5:29 PM, Jim Grosbach wrote:> > On Jun 22, 2011, at 7:22 AM, Renato Golin wrote: > >> On 22 June 2011 14:33, Damjan Marion <damjan.marion at gmail.com> wrote: >>> Problem is that in case when old binutils are used (in my case freebsd is using old one due to license upgrade to GPLv3) AS doesn't understand new mnemonics and fails. >> >> Indeed, this is new in ARM ARM v7. >> >> >>> Can we change to old mnemonic at least when ARMv4 and ARMv5 code is generated? >> >> We definitely should. Feel free to send a patch if you already have, >> or create a bug in bugzilla. Shouldn't be too hard to add it. > > LLVM always uses unified syntax, including updated mnemonics for older instructions. Older binutils aren't supported. This is unlikely to change. >This sounds like a dead end as newer binutils are GPLv3. What is the status of integrated-as for arm, is it stable?
Jim Grosbach
2011-Jun-22 15:50 UTC
[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
On Jun 22, 2011, at 8:39 AM, Damjan Marion wrote:> > On Jun 22, 2011, at 5:29 PM, Jim Grosbach wrote: > >> >> On Jun 22, 2011, at 7:22 AM, Renato Golin wrote: >> >>> On 22 June 2011 14:33, Damjan Marion <damjan.marion at gmail.com> wrote: >>>> Problem is that in case when old binutils are used (in my case freebsd is using old one due to license upgrade to GPLv3) AS doesn't understand new mnemonics and fails. >>> >>> Indeed, this is new in ARM ARM v7. >>> >>> >>>> Can we change to old mnemonic at least when ARMv4 and ARMv5 code is generated? >>> >>> We definitely should. Feel free to send a patch if you already have, >>> or create a bug in bugzilla. Shouldn't be too hard to add it. >> >> LLVM always uses unified syntax, including updated mnemonics for older instructions. Older binutils aren't supported. This is unlikely to change. >> > > This sounds like a dead end as newer binutils are GPLv3.Yeah, that's definitely a very real concern and a big motivation to get the MC based asm parser whipped into usable shape. We're much more in control of our own destiny then.> What is the status of integrated-as for arm, is it stable?The encoding information in the back end is generally in pretty decent shape for direct object file emission. Some of the folks working on the ELF emitter would be better able to tell you how that part of the things is working. The asm parser, on the other hand, is still in pretty rough shape. That said, I'm hoping to get back to that stuff near future, so it's still under active development. -Jim
Anton Korobeynikov
2011-Jun-22 18:18 UTC
[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
Hi Damjan,> This sounds like a dead end as newer binutils are GPLv3.Unfortunately, you have to live with this. Until recently binutils were quite buggy wrt thumb2 code, so, most probably you will need new binutils in any case. -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
Reasonably Related Threads
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs