[opus] [PATCH 1/2] arm: Use the UAL syntax for ldr<cc>h instructions
Martin Storsjö
martin at martin.st
Sat Feb 8 02:57:38 PST 2014
On Fri, 7 Feb 2014, Timothy B. Terriberry wrote:
> Martin Storsjo wrote:
>> This is required in order to build using the built-in assembler
>> in clang.
>
> These patches break the gcc build (with "Error: bad instruction").
Ah, right, sorry about that.
> Documentation I've seen is contradictory on which order ({cond}{size} or
> {size}{cond}) is correct.
The reason you're finding contradictory information is that there's two
syntaxes, the legacy syntax (where arm and thumb instructions have quite
different syntaxes) and the new unified syntax (aka UAL, unified assembler
language). Most modern tools default to interpreting the source as UAL
(see e.g.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473j/dom1359731145130.html
- the armasm tool defaults to this syntax as well), but gnu binutils
defaults to the old syntax unless otherwise specified.
(Btw, what build setups actually use the original unconverted asm sources
within opus?)
By injecting a ".syntax unified" at the start of the generated assembly
sources, it works as intended with gnu binutils as well as clang. I'll
post an updated patch that does this.
// Martin
More information about the opus
mailing list