Skip to content

Commit 73257ee

Browse files
zhangyuan21hartmannathan
authored andcommitted
libs/libc: fixed armv7-m strcmp build issue
Signed-off-by: zhangyuan21 <[email protected]>
1 parent 1be95c3 commit 73257ee

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

libs/libc/machine/arm/armv7-m/gnu/arch_strcmp.S

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,28 @@
3434

3535
#include "arm_asm.h"
3636

37+
#ifdef __ARM_BIG_ENDIAN
38+
#define S2LO lsl
39+
#define S2LOEQ lsleq
40+
#define S2HI lsr
41+
#define MSB 0x000000ff
42+
#define LSB 0xff000000
43+
#define BYTE0_OFFSET 24
44+
#define BYTE1_OFFSET 16
45+
#define BYTE2_OFFSET 8
46+
#define BYTE3_OFFSET 0
47+
#else /* not __ARM_BIG_ENDIAN */
48+
#define S2LO lsr
49+
#define S2LOEQ lsreq
50+
#define S2HI lsl
51+
#define BYTE0_OFFSET 0
52+
#define BYTE1_OFFSET 8
53+
#define BYTE2_OFFSET 16
54+
#define BYTE3_OFFSET 24
55+
#define MSB 0xff000000
56+
#define LSB 0x000000ff
57+
#endif /* not __ARM_BIG_ENDIAN */
58+
3759
/* Parameters and result. */
3860
#define src1 r0
3961
#define src2 r1
@@ -46,6 +68,14 @@
4668
#define tmp1 r12
4769
#define syndrome r12 /* Overlaps tmp1 */
4870

71+
.macro def_fn f p2align=0
72+
.text
73+
.p2align \p2align
74+
.global \f
75+
.type \f, %function
76+
\f:
77+
.endm
78+
4979
.thumb
5080
.syntax unified
5181
def_fn strcmp

0 commit comments

Comments
 (0)