L1: incl %eax
L2: RETGUARD_CHECK(bcmp, r11)
ret
+ lfence
stosb
RETGUARD_CHECK(bzero, r11)
ret
+ lfence
L1: xorl %eax,%eax /* clear result */
L2: RETGUARD_CHECK(ffs, r11)
ret
+ lfence
bswap %eax
RETGUARD_CHECK(htonl, r11)
ret
+ lfence
xchgb %ah,%al
RETGUARD_CHECK(htons, r11)
ret
+ lfence
L1: xorq %rax,%rax
L2: RETGUARD_CHECK(memchr, r11)
ret
+ lfence
subl %edx,%eax
L7: RETGUARD_CHECK(memcmp, r11)
ret
+ lfence
cld
3: RETGUARD_CHECK(memmove, r10)
ret
+ lfence
movq %r11,%rax
RETGUARD_CHECK(memset, r10)
ret
+ lfence
movl %ecx,%eax
RETGUARD_CHECK(scanc, r10)
ret
+ lfence
movl %ecx,%eax
RETGUARD_CHECK(skpc, r10)
ret
+ lfence
-/* $OpenBSD: strchr.S,v 1.5 2018/07/13 05:56:57 guenther Exp $ */
+/* $OpenBSD: strchr.S,v 1.6 2022/12/07 18:25:32 guenther Exp $ */
/* $NetBSD: strchr.S,v 1.7 2014/03/22 19:16:34 jakllsch Exp $ */
/*-
12: RETGUARD_POP(r9)
RETGUARD_CHECK(strchr, r9)
ret
+ lfence
/* Source misaligned: read aligned word and make low bytes invalid */
/* I (dsl) think aligning the text here will slow things down! */
-/* $OpenBSD: strcmp.S,v 1.4 2018/07/03 23:22:48 mortimer Exp $ */
+/* $OpenBSD: strcmp.S,v 1.5 2022/12/07 18:25:33 guenther Exp $ */
/* $NetBSD: strcmp.S,v 1.2 2014/03/22 19:16:34 jakllsch Exp $ */
/*
subq %rdx,%rax
RETGUARD_CHECK(strcmp, r10)
ret
+ lfence
-/* $OpenBSD: strlen.S,v 1.8 2022/01/11 09:21:34 jsg Exp $ */
+/* $OpenBSD: strlen.S,v 1.9 2022/12/07 18:25:33 guenther Exp $ */
/* $NetBSD: strlen.S,v 1.6 2014/03/22 19:16:34 jakllsch Exp $ */
/*-
lea -8(%rax,%rdx),%rax
RETGUARD_CHECK(strlen, r10)
ret
+ lfence
/* Misaligned, read aligned word and make low bytes non-zero */
_ALIGN_TRAPS
-/* $OpenBSD: strrchr.S,v 1.4 2018/07/03 23:22:48 mortimer Exp $ */
+/* $OpenBSD: strrchr.S,v 1.5 2022/12/07 18:25:33 guenther Exp $ */
/* $NetBSD: strrchr.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $ */
/*
.Ldone:
RETGUARD_CHECK(strrchr, r10)
ret
+ lfence