Module Name: src Committed By: jakllsch Date: Sat Mar 22 19:16:34 UTC 2014
Modified Files: src/common/lib/libc/arch/x86_64/string: bcmp.S bcopy.S ffs.S memchr.S memcmp.S strcat.S strchr.S strcmp.S strcpy.S strlen.S strrchr.S Log Message: For all x86_64 string assembly functions that don't overlap (i.e. every one except memset and bzero) use END() so that symbol size information is available. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/x86_64/string/bcmp.S \ src/common/lib/libc/arch/x86_64/string/memcmp.S \ src/common/lib/libc/arch/x86_64/string/strrchr.S cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/x86_64/string/bcopy.S \ src/common/lib/libc/arch/x86_64/string/ffs.S cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/x86_64/string/memchr.S \ src/common/lib/libc/arch/x86_64/string/strlen.S cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/x86_64/string/strcat.S \ src/common/lib/libc/arch/x86_64/string/strcmp.S \ src/common/lib/libc/arch/x86_64/string/strcpy.S cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/x86_64/string/strchr.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/common/lib/libc/arch/x86_64/string/bcmp.S diff -u src/common/lib/libc/arch/x86_64/string/bcmp.S:1.2 src/common/lib/libc/arch/x86_64/string/bcmp.S:1.3 --- src/common/lib/libc/arch/x86_64/string/bcmp.S:1.2 Mon Nov 12 18:41:59 2007 +++ src/common/lib/libc/arch/x86_64/string/bcmp.S Sat Mar 22 19:16:34 2014 @@ -1,7 +1,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: bcmp.S,v 1.2 2007/11/12 18:41:59 ad Exp $") + RCSID("$NetBSD: bcmp.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $") #endif ENTRY(bcmp) @@ -21,3 +21,4 @@ ENTRY(bcmp) L1: incl %eax L2: ret +END(bcmp) Index: src/common/lib/libc/arch/x86_64/string/memcmp.S diff -u src/common/lib/libc/arch/x86_64/string/memcmp.S:1.2 src/common/lib/libc/arch/x86_64/string/memcmp.S:1.3 --- src/common/lib/libc/arch/x86_64/string/memcmp.S:1.2 Mon Nov 12 18:41:59 2007 +++ src/common/lib/libc/arch/x86_64/string/memcmp.S Sat Mar 22 19:16:34 2014 @@ -7,7 +7,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: memcmp.S,v 1.2 2007/11/12 18:41:59 ad Exp $") + RCSID("$NetBSD: memcmp.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $") #endif ENTRY(memcmp) @@ -37,3 +37,4 @@ L6: xorl %eax,%eax /* Perform unsigned movb -1(%rsi),%dl subl %edx,%eax ret +END(memcmp) Index: src/common/lib/libc/arch/x86_64/string/strrchr.S diff -u src/common/lib/libc/arch/x86_64/string/strrchr.S:1.2 src/common/lib/libc/arch/x86_64/string/strrchr.S:1.3 --- src/common/lib/libc/arch/x86_64/string/strrchr.S:1.2 Fri Jul 17 19:37:57 2009 +++ src/common/lib/libc/arch/x86_64/string/strrchr.S Sat Mar 22 19:16:34 2014 @@ -6,7 +6,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: strrchr.S,v 1.2 2009/07/17 19:37:57 dsl Exp $") + RCSID("$NetBSD: strrchr.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $") #endif ENTRY(strrchr) @@ -120,5 +120,6 @@ ENTRY(strrchr) .Ldone: ret +END(strrchr) STRONG_ALIAS(rindex,strrchr) Index: src/common/lib/libc/arch/x86_64/string/bcopy.S diff -u src/common/lib/libc/arch/x86_64/string/bcopy.S:1.4 src/common/lib/libc/arch/x86_64/string/bcopy.S:1.5 --- src/common/lib/libc/arch/x86_64/string/bcopy.S:1.4 Sun Nov 22 17:25:47 2009 +++ src/common/lib/libc/arch/x86_64/string/bcopy.S Sat Mar 22 19:16:34 2014 @@ -32,7 +32,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: bcopy.S,v 1.4 2009/11/22 17:25:47 dsl Exp $") + RCSID("$NetBSD: bcopy.S,v 1.5 2014/03/22 19:16:34 jakllsch Exp $") #endif /* @@ -158,3 +158,13 @@ ENTRY(bcopy) cld ret #endif + +#ifdef MEMCOPY +END(memcpy) +#else +#ifdef MEMMOVE +END(memmove) +#else +END(bcopy) +#endif +#endif Index: src/common/lib/libc/arch/x86_64/string/ffs.S diff -u src/common/lib/libc/arch/x86_64/string/ffs.S:1.4 src/common/lib/libc/arch/x86_64/string/ffs.S:1.5 --- src/common/lib/libc/arch/x86_64/string/ffs.S:1.4 Mon Jul 20 15:21:00 2009 +++ src/common/lib/libc/arch/x86_64/string/ffs.S Sat Mar 22 19:16:34 2014 @@ -7,7 +7,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: ffs.S,v 1.4 2009/07/20 15:21:00 christos Exp $") + RCSID("$NetBSD: ffs.S,v 1.5 2014/03/22 19:16:34 jakllsch Exp $") #endif ENTRY(ffs) @@ -18,3 +18,4 @@ ENTRY(ffs) 1: xorl %eax,%eax /* clear result */ ret +END(ffs) Index: src/common/lib/libc/arch/x86_64/string/memchr.S diff -u src/common/lib/libc/arch/x86_64/string/memchr.S:1.5 src/common/lib/libc/arch/x86_64/string/memchr.S:1.6 --- src/common/lib/libc/arch/x86_64/string/memchr.S:1.5 Sat Aug 1 20:47:02 2009 +++ src/common/lib/libc/arch/x86_64/string/memchr.S Sat Mar 22 19:16:34 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: memchr.S,v 1.5 2009/08/01 20:47:02 dsl Exp $ */ +/* $NetBSD: memchr.S,v 1.6 2014/03/22 19:16:34 jakllsch Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: memchr.S,v 1.5 2009/08/01 20:47:02 dsl Exp $") + RCSID("$NetBSD: memchr.S,v 1.6 2014/03/22 19:16:34 jakllsch Exp $") #endif /* @@ -106,3 +106,4 @@ ENTRY(memchr) /* Not found */ 30: xorq %rax,%rax ret +END(memchr) Index: src/common/lib/libc/arch/x86_64/string/strlen.S diff -u src/common/lib/libc/arch/x86_64/string/strlen.S:1.5 src/common/lib/libc/arch/x86_64/string/strlen.S:1.6 --- src/common/lib/libc/arch/x86_64/string/strlen.S:1.5 Sun Jul 12 21:24:21 2009 +++ src/common/lib/libc/arch/x86_64/string/strlen.S Sat Mar 22 19:16:34 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: strlen.S,v 1.5 2009/07/12 21:24:21 dsl Exp $ */ +/* $NetBSD: strlen.S,v 1.6 2014/03/22 19:16:34 jakllsch Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: strlen.S,v 1.5 2009/07/12 21:24:21 dsl Exp $") + RCSID("$NetBSD: strlen.S,v 1.6 2014/03/22 19:16:34 jakllsch Exp $") #endif /* @@ -161,6 +161,11 @@ ENTRY(strlen) dec %rsi or %rsi,%rdx /* low bytes now non-zero */ jmp 2b +#ifdef TEST_STRLEN +END(test_strlen) +#else +END(strlen) +#endif #ifdef TEST_STRLEN /* trivial implementation when testing above! */ @@ -173,4 +178,5 @@ ENTRY(strlen) jmp 1b 2: sub %rdi,%rax ret +END(strlen) #endif Index: src/common/lib/libc/arch/x86_64/string/strcat.S diff -u src/common/lib/libc/arch/x86_64/string/strcat.S:1.1 src/common/lib/libc/arch/x86_64/string/strcat.S:1.2 --- src/common/lib/libc/arch/x86_64/string/strcat.S:1.1 Tue Dec 20 19:28:51 2005 +++ src/common/lib/libc/arch/x86_64/string/strcat.S Sat Mar 22 19:16:34 2014 @@ -6,7 +6,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: strcat.S,v 1.1 2005/12/20 19:28:51 christos Exp $") + RCSID("$NetBSD: strcat.S,v 1.2 2014/03/22 19:16:34 jakllsch Exp $") #endif ENTRY(strcat) @@ -162,3 +162,4 @@ ENTRY(strcat) .Ldone: ret +END(strcat) Index: src/common/lib/libc/arch/x86_64/string/strcmp.S diff -u src/common/lib/libc/arch/x86_64/string/strcmp.S:1.1 src/common/lib/libc/arch/x86_64/string/strcmp.S:1.2 --- src/common/lib/libc/arch/x86_64/string/strcmp.S:1.1 Tue Dec 20 19:28:51 2005 +++ src/common/lib/libc/arch/x86_64/string/strcmp.S Sat Mar 22 19:16:34 2014 @@ -6,7 +6,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: strcmp.S,v 1.1 2005/12/20 19:28:51 christos Exp $") + RCSID("$NetBSD: strcmp.S,v 1.2 2014/03/22 19:16:34 jakllsch Exp $") #endif ENTRY(strcmp) @@ -70,3 +70,4 @@ ENTRY(strcmp) movzbq %dl,%rdx subq %rdx,%rax ret +END(strcmp) Index: src/common/lib/libc/arch/x86_64/string/strcpy.S diff -u src/common/lib/libc/arch/x86_64/string/strcpy.S:1.1 src/common/lib/libc/arch/x86_64/string/strcpy.S:1.2 --- src/common/lib/libc/arch/x86_64/string/strcpy.S:1.1 Tue Dec 20 19:28:51 2005 +++ src/common/lib/libc/arch/x86_64/string/strcpy.S Sat Mar 22 19:16:34 2014 @@ -6,7 +6,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: strcpy.S,v 1.1 2005/12/20 19:28:51 christos Exp $") + RCSID("$NetBSD: strcpy.S,v 1.2 2014/03/22 19:16:34 jakllsch Exp $") #endif /* @@ -109,3 +109,4 @@ ENTRY(strcpy) .Ldone: ret +END(strcpy) Index: src/common/lib/libc/arch/x86_64/string/strchr.S diff -u src/common/lib/libc/arch/x86_64/string/strchr.S:1.6 src/common/lib/libc/arch/x86_64/string/strchr.S:1.7 --- src/common/lib/libc/arch/x86_64/string/strchr.S:1.6 Mon Jul 20 15:21:00 2009 +++ src/common/lib/libc/arch/x86_64/string/strchr.S Sat Mar 22 19:16:34 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: strchr.S,v 1.6 2009/07/20 15:21:00 christos Exp $ */ +/* $NetBSD: strchr.S,v 1.7 2014/03/22 19:16:34 jakllsch Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) - RCSID("$NetBSD: strchr.S,v 1.6 2009/07/20 15:21:00 christos Exp $") + RCSID("$NetBSD: strchr.S,v 1.7 2014/03/22 19:16:34 jakllsch Exp $") #endif /* @@ -132,6 +132,11 @@ ENTRY(strchr) sar %cl,%r10 /* top bytes 0xff */ and %r10,%rax /* clear lsb from unwanted low bytes */ jmp 21b +#ifdef TEST_STRCHR +END(test_strchr) +#else +END(strchr) +#endif #ifdef TEST_STRCHR /* Trivial version for bug-fixing above */ @@ -148,6 +153,7 @@ ENTRY(strchr) ret 2: lea -1(%rsi),%rax ret +END(strchr) #endif STRONG_ALIAS(index,strchr)