fix build regression in arm asm for memcpy
authorRich Felker <dalias@aerifal.cx>
Sun, 23 Nov 2014 19:12:14 +0000 (14:12 -0500)
committerRich Felker <dalias@aerifal.cx>
Sun, 23 Nov 2014 19:12:14 +0000 (14:12 -0500)
commit9367fe926196f407705bb07cd29c6e40eb1774dd
tree67fde01cfd46a13297304de2976928e84802605b
parent27828f7e9adb6b4f93ca56f6f98ef4c44bb5ed4e
fix build regression in arm asm for memcpy

commit 27828f7e9adb6b4f93ca56f6f98ef4c44bb5ed4e fixed compatibility
with clang's internal assembler, but broke compatibility with gas and
the traditional arm asm syntax by switching to the arm "unified
assembler language" (UAL). recent versions of gas also support UAL,
but require the .syntax directive to be used to switch to it. clang on
the other hand defaults to UAL. and old versions of gas (still
relevant) don't support UAL at all.

for the conditional ldm/stm instructions, "ia" is default and can just
be omitted, resulting in a mnemonic that's compatible with both
traditional and UAL syntax. but for byte/halfword loads and stores,
there seems to be no mnemonic compatible with both, and thus .word is
used to produce the desired opcode explicitly. the .inst directive is
not used because it is not compatible with older assemblers.
src/string/armel/memcpy.s