Use unified syntax for problematic asm files.
Clang's integrated assembler does not like the old syntax.
Bug: 125023379
Change-Id: I74f0080355588530dd8c4ae08ff60f760ffb7c94
diff --git a/arch/arm/arm/usercopy.S b/arch/arm/arm/usercopy.S
index d4913eb..5892463 100644
--- a/arch/arm/arm/usercopy.S
+++ b/arch/arm/arm/usercopy.S
@@ -25,6 +25,8 @@
#include <arch/asm_macros.h>
#include <err.h>
+.syntax unified
+
/* status_t arch_copy_to_user(user_addr_t udest, const void *ksrc, size_t len) */
FUNCTION(arch_copy_to_user)
cmp r2, #0
@@ -69,8 +71,8 @@
cmp r2, #0
beq .Larch_strlcpy_from_user_dst_full
subs r2, r2, #1
- streqb r2, [r0], #1
- strneb r3, [r0], #1
+ strbeq r2, [r0], #1
+ strbne r3, [r0], #1
.Larch_strlcpy_from_user_dst_full:
cmp r3, #0
bne .Larch_strlcpy_from_user_loop
diff --git a/lib/libc/string/arch/arm/arm/memcpy.S b/lib/libc/string/arch/arm/arm/memcpy.S
index 7cc57b8..bac5f94 100644
--- a/lib/libc/string/arch/arm/arm/memcpy.S
+++ b/lib/libc/string/arch/arm/arm/memcpy.S
@@ -22,6 +22,8 @@
*/
#include <asm.h>
+.syntax unified
+
.text
.align 2
@@ -138,16 +140,16 @@
msr CPSR_f, r12 // move into NZCV fields in CPSR
// move as many bytes as necessary to get the dst aligned
- ldrvsb r3, [r1], #1 // V set
- ldrcsh r4, [r1], #2 // C set
+ ldrbvs r3, [r1], #1 // V set
+ ldrhcs r4, [r1], #2 // C set
ldreq r5, [r1], #4 // Z set
- strvsb r3, [r0], #1
- strcsh r4, [r0], #2
+ strbvs r3, [r0], #1
+ strhcs r4, [r0], #2
streq r5, [r0], #4
- ldmmiia r1!, {r3-r4} // N set
- stmmiia r0!, {r3-r4}
+ ldmiami r1!, {r3-r4} // N set
+ stmiami r0!, {r3-r4}
// fix the remaining len
sub r2, r2, r12, lsr #28
diff --git a/lib/libc/string/arch/arm/arm/memset.S b/lib/libc/string/arch/arm/arm/memset.S
index 7070ed6..378d96d 100644
--- a/lib/libc/string/arch/arm/arm/memset.S
+++ b/lib/libc/string/arch/arm/arm/memset.S
@@ -22,6 +22,8 @@
*/
#include <asm.h>
+.syntax unified
+
.text
.align 2
@@ -98,8 +100,8 @@
msr CPSR_f, r3 // move into NZCV fields in CPSR
// move as many bytes as necessary to get the dst aligned
- strvsb r1, [r0], #1 // V set
- strcsh r1, [r0], #2 // C set
+ strbvs r1, [r0], #1 // V set
+ strhcs r1, [r0], #2 // C set
streq r1, [r0], #4 // Z set
strmi r1, [r0], #4 // N set
strmi r1, [r0], #4 // N set