Without this change strcmp size is zero (not set), and it gets
ignored by Valgrind. Changes to memcpy and atexit don't affect the
generated binary in any way.
Change-Id: I05818cb5951f75901dc8c0eef02807a2e83a9231
.eabi_attribute 26, 2
.eabi_attribute 30, 4
.eabi_attribute 18, 4
- .code 16
- .section .text.atexit,"ax",%progbits
- .align 2
- .global atexit
.hidden atexit
.code 16
.thumb_func
- .type atexit, %function
-atexit:
- .fnstart
+ENTRY(atexit)
.LFB0:
.save {r4, lr}
push {r4, lr}
.L3:
.word __dso_handle-(.LPIC0+4)
.LFE0:
- .fnend
- .size atexit, .-atexit
+END(atexit)
#endif
.text
.fpu neon
- .global memcpy
- .type memcpy, %function
- .align 4
-
/* a prefetch distance of 4 cache-lines works best experimentally */
#define CACHE_LINE_SIZE 64
#define PREFETCH_DISTANCE (CACHE_LINE_SIZE*4)
-memcpy:
- .fnstart
+ENTRY(memcpy)
.save {r0, lr}
stmfd sp!, {r0, lr}
*/
#include <machine/cpu-features.h>
+#include <machine/asm.h>
.text
- .global strcmp
- .type strcmp, %function
- .align 4
-
#ifdef __ARMEB__
#define SHFT2LSB lsl
#define SHFT2LSBEQ lsleq
#define magic1(REG) REG
#define magic2(REG) REG, lsl #7
-strcmp:
- .fnstart
+ENTRY(strcmp)
PLD(r0, #0)
PLD(r1, #0)
eor r2, r0, r1
#endif
ldr r4, [sp], #4
bx lr
- .fnend
.Lstrcmp_unaligned:
wp1 .req r0
ldr r4, [sp], #4
ldr r5, [sp], #4
bx lr
+END(strcmp)