summaryrefslogtreecommitdiffstats
path: root/sys/lib/libkern/arch/amd64/strcat.S
diff options
context:
space:
mode:
authorreyk <reyk@openbsd.org>2007-05-04 21:44:07 +0000
committerreyk <reyk@openbsd.org>2007-05-04 21:44:07 +0000
commit463038c39c956dbb499fc472051ef5a8beeea47c (patch)
tree816ea8e071dccb73e57615bab9e565c7874696a2 /sys/lib/libkern/arch/amd64/strcat.S
parentwarren zevon's death (diff)
downloadwireguard-openbsd-463038c39c956dbb499fc472051ef5a8beeea47c.tar.xz
wireguard-openbsd-463038c39c956dbb499fc472051ef5a8beeea47c.zip
remove strcpy and strcat from the kernel; they are dead and unused code.
(OpenBSD does not use strcat/strcpy in the kernel, if people do it in external modules they should update their code) ok deraadt@
Diffstat (limited to 'sys/lib/libkern/arch/amd64/strcat.S')
-rw-r--r--sys/lib/libkern/arch/amd64/strcat.S65
1 files changed, 0 insertions, 65 deletions
diff --git a/sys/lib/libkern/arch/amd64/strcat.S b/sys/lib/libkern/arch/amd64/strcat.S
deleted file mode 100644
index 7dc71244312..00000000000
--- a/sys/lib/libkern/arch/amd64/strcat.S
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com>
- */
-
-#include <machine/asm.h>
-
-#if defined(LIBC_SCCS)
- RCSID("$NetBSD: strcat.S,v 1.1 2001/06/19 00:22:47 fvdl Exp $")
-#endif
-
-/*
- * NOTE: I've unrolled the loop eight times: large enough to make a
- * significant difference, and small enough not to totally trash the
- * cache.
- */
-
-ENTRY(strcat)
- movq %rdi,%r11
-
- cld /* set search forward */
- xorl %eax,%eax /* set search for null terminator */
- movq $-1,%rcx /* set search for lots of characters */
- repne /* search! */
- scasb
-
- decq %rdi
-
-L1: movb (%rsi),%al /* unroll loop, but not too much */
- movb %al,(%rdi)
- testb %al,%al
- jz L2
- movb 1(%rsi),%al
- movb %al,1(%rdi)
- testb %al,%al
- jz L2
- movb 2(%rsi),%al
- movb %al,2(%rdi)
- testb %al,%al
- jz L2
- movb 3(%rsi),%al
- movb %al,3(%rdi)
- testb %al,%al
- jz L2
- movb 4(%rsi),%al
- movb %al,4(%rdi)
- testb %al,%al
- jz L2
- movb 5(%rsi),%al
- movb %al,5(%rdi)
- testb %al,%al
- jz L2
- movb 6(%rsi),%al
- movb %al,6(%rdi)
- testb %al,%al
- jz L2
- movb 7(%rsi),%al
- movb %al,7(%rdi)
- addq $8,%rsi
- addq $8,%rdi
- testb %al,%al
- jnz L1
-L2: movq %r11,%rax
- ret