Support build with clang integrated assembler
authorNikolai Merinov <n.merinov@samsung.com>
Fri, 25 Jan 2019 08:37:27 +0000 (11:37 +0300)
committerNikolai Merinov <n.merinov@samsung.com>
Tue, 29 Jan 2019 08:28:56 +0000 (11:28 +0300)
Bundled libffi library used "stmeqia" instruction that can not be
parsed by clang integrated assembler. Replace it with "stmiaeq"
with flag test at the end of a command.

Modules/_ctypes/libffi/src/arm/sysv.S

index fb38cd6406ad0713614f4eaed5bb84fb0cf3e37d..301fb5d4d8314dff35c248f85e66dd9f94d640a7 100644 (file)
@@ -228,7 +228,7 @@ ARM_FUNC_START ffi_call_SYSV
 #if defined(__SOFTFP__) || defined(__ARM_EABI__)
        cmpne   r3, #FFI_TYPE_DOUBLE
 #endif
-       stmeqia r2, {r0, r1}
+       stmiaeq r2, {r0, r1}
 
 #if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
        beq     LSYM(Lepilogue)
@@ -410,7 +410,7 @@ LSYM(Lbase_args):
        beq     LSYM(Lepilogue_vfp)
 
        cmp     r3, #FFI_TYPE_SINT64
-       stmeqia r2, {r0, r1}
+       stmiaeq r2, {r0, r1}
        beq     LSYM(Lepilogue_vfp)
 
        cmp     r3, #FFI_TYPE_FLOAT