338205 configure.ac and check for -Wno-tautological-compare
338445 amd64 vbit-test fails with unknown opcodes used by arm64 VEX
338499 --sim-hints parsing broken due to wrong order in tokens
+338615 suppress glibc 2.20 optimized strcmp implementation for ARMv7
n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling
n-i-bz s390x: Fix memory corruption for multithreaded applications
n-i-bz vex arm->IR: allow PC as basereg in some LDRD cases
(Addr)&VG_(arm_linux_REDIR_FOR_memcpy),
complain_about_stripped_glibc_ldso
);
+ /* strcmp */
+ add_hardwired_spec(
+ "ld-linux.so.3", "strcmp",
+ (Addr)&VG_(arm_linux_REDIR_FOR_strcmp),
+ complain_about_stripped_glibc_ldso
+ );
+ add_hardwired_spec(
+ "ld-linux-armhf.so.3", "strcmp",
+ (Addr)&VG_(arm_linux_REDIR_FOR_strcmp),
+ complain_about_stripped_glibc_ldso
+ );
}
# elif defined(VGP_arm64_linux)
ldmfd sp!, {r4, r5, pc}
UD2_4
+.global VG_(arm_linux_REDIR_FOR_strcmp)
+VG_(arm_linux_REDIR_FOR_strcmp):
+.L64:
+ ldrb r3, [r0], #1 @ zero_extendqisi2
+ ldrb r2, [r1], #1 @ zero_extendqisi2
+ cmp r3, #0
+ beq .L67
+ cmp r3, r2
+ beq .L64
+ rsb r0, r2, r3
+ bx lr
+.L67:
+ rsb r0, r2, #0
+ bx lr
+ UD2_4
+
.global VG_(trampoline_stuff_end)
VG_(trampoline_stuff_end):
extern UInt VG_(arm_linux_REDIR_FOR_strlen)( void* );
//extern void* VG_(arm_linux_REDIR_FOR_index) ( void*, Int );
extern void* VG_(arm_linux_REDIR_FOR_memcpy)( void*, void*, Int );
+extern void* VG_(arm_linux_REDIR_FOR_strcmp)( void*, void* );
#endif
#if defined(VGP_arm64_linux)