blob: a25535c161ab0bf3742d9a09049ed94ff6561bd9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <sysdep.h>
#include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#ifndef LABEL
#define LABEL(l) L(l)
#endif
.text
ENTRY (BP_SYM (STRCMP))
/* Simple version since we can't use SSE registers in ld.so. */
L(oop): movb (%rdi), %al
cmpb (%rsi), %al
jne L(neq)
incq %rdi
incq %rsi
testb %al, %al
jnz L(oop)
xorl %eax, %eax
ret
L(neq): movl $1, %eax
movl $-1, %ecx
cmovbl %ecx, %eax
ret
END (BP_SYM (STRCMP))
|