Problems assembling ARM

I'm trying to convert a GCC-based ChibiOS project to use clang/LLVM, using the excellent ELLCC project. But I'm having some trouble getting the code to assemble with the clang integrated assembler (if I specify -no-integrated-as, it assembles without complaint).

The MCU is a SAM7X, arm7tdmi.

$ make -f ECCMakefile

ecc -x assembler-with-cpp -c -target arm-none-eabi -I. -I../../os/ports/GCC/ARM -I../../os/ports/GCC/ARM/AT91SAM7 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/AT91SAM7 -I../../boards/LZBalloonController -I../../ext/fatfs/src -I../../os/various -Ilib ../../os/ports/GCC/ARM/crt0.s -o build/obj/crt0.o

ecc -x assembler-with-cpp -c -target arm-none-eabi -I. -I../../os/ports/GCC/ARM -I../../os/ports/GCC/ARM/AT91SAM7 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/AT91SAM7 -I../../boards/LZBalloonController -I../../ext/fatfs/src -I../../os/various -Ilib ../../os/ports/GCC/ARM/chcoreasm.s -o build/obj/chcoreasm.o
../../os/ports/GCC/ARM/chcoreasm.s:185:9: error: invalid instruction
        ldmeqfd sp!, {r0-r3, r12, lr}
../../os/ports/GCC/ARM/chcoreasm.s:186:9: error: instruction 'subeq' can not set flags, but 's' suffix specified
        subeqs pc, lr, #4
make: *** [build/obj/chcoreasm.o] Error 1

Please convert your assembler to use unified syntax.


        ldmeqfd sp!, {r0-r3, r12, lr}
        subeqs pc, lr, #4

Joerg's advice was sound, but just to expand a bit the difference in
these two cases is that the condition code goes right at the end in
the new unified syntax: "ldmfdeq" (or even "popeq") and "subseq".