diff options
author | peter <peter@FreeBSD.org> | 2008-11-02 01:10:54 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2008-11-02 01:10:54 +0000 |
commit | aa63008f13d7a07b62a85c25814374cb77dc7f84 (patch) | |
tree | 2cb2d6465da97e37710c7dadb37e63548e7e9c94 /lib/libc/amd64/string | |
parent | 4b957256d0a1f1d1f7ae0cd19454ae63f4088568 (diff) | |
download | FreeBSD-src-aa63008f13d7a07b62a85c25814374cb77dc7f84.zip FreeBSD-src-aa63008f13d7a07b62a85c25814374cb77dc7f84.tar.gz |
We've been lax about matching END() macros in asm code for some time. This
is used to set the ELF size attribute for functions. It isn't normally
critical but some things can make use of it (gdb for stack traces).
Valgrind needs it so I'm adding it in. The problem is present on all
branches and on both i386 and amd64.
Diffstat (limited to 'lib/libc/amd64/string')
-rw-r--r-- | lib/libc/amd64/string/bcmp.S | 1 | ||||
-rw-r--r-- | lib/libc/amd64/string/bcopy.S | 9 | ||||
-rw-r--r-- | lib/libc/amd64/string/bzero.S | 1 | ||||
-rw-r--r-- | lib/libc/amd64/string/memcmp.S | 1 | ||||
-rw-r--r-- | lib/libc/amd64/string/memset.S | 1 | ||||
-rw-r--r-- | lib/libc/amd64/string/strcat.S | 1 | ||||
-rw-r--r-- | lib/libc/amd64/string/strcmp.S | 1 | ||||
-rw-r--r-- | lib/libc/amd64/string/strcpy.S | 1 |
8 files changed, 16 insertions, 0 deletions
diff --git a/lib/libc/amd64/string/bcmp.S b/lib/libc/amd64/string/bcmp.S index 36a0c7e..375c3bc 100644 --- a/lib/libc/amd64/string/bcmp.S +++ b/lib/libc/amd64/string/bcmp.S @@ -22,3 +22,4 @@ L1: setne %al movsbl %al,%eax ret +END(bcmp) diff --git a/lib/libc/amd64/string/bcopy.S b/lib/libc/amd64/string/bcopy.S index d58f591..f7aa6d1 100644 --- a/lib/libc/amd64/string/bcopy.S +++ b/lib/libc/amd64/string/bcopy.S @@ -86,3 +86,12 @@ ENTRY(bcopy) movsq cld ret +#ifdef MEMCOPY +END(memcpy) +#else +#ifdef MEMMOVE +END(memmove) +#else +END(bcopy) +#endif +#endif diff --git a/lib/libc/amd64/string/bzero.S b/lib/libc/amd64/string/bzero.S index d9d2a45..0de67d3 100644 --- a/lib/libc/amd64/string/bzero.S +++ b/lib/libc/amd64/string/bzero.S @@ -41,3 +41,4 @@ L1: movq %rsi,%rcx /* zero remainder by bytes */ stosb ret +END(bzero) diff --git a/lib/libc/amd64/string/memcmp.S b/lib/libc/amd64/string/memcmp.S index 28194f8..a039b5b 100644 --- a/lib/libc/amd64/string/memcmp.S +++ b/lib/libc/amd64/string/memcmp.S @@ -39,3 +39,4 @@ L6: xorl %eax,%eax /* Perform unsigned comparison */ movb -1(%rsi),%dl subl %edx,%eax ret +END(memcmp) diff --git a/lib/libc/amd64/string/memset.S b/lib/libc/amd64/string/memset.S index 142387a..ed8ba24 100644 --- a/lib/libc/amd64/string/memset.S +++ b/lib/libc/amd64/string/memset.S @@ -58,3 +58,4 @@ L1: rep movq %r11,%rax ret +END(memset) diff --git a/lib/libc/amd64/string/strcat.S b/lib/libc/amd64/string/strcat.S index 78a1b56..b241ffc 100644 --- a/lib/libc/amd64/string/strcat.S +++ b/lib/libc/amd64/string/strcat.S @@ -163,3 +163,4 @@ ENTRY(strcat) .Ldone: ret +END(strcat) diff --git a/lib/libc/amd64/string/strcmp.S b/lib/libc/amd64/string/strcmp.S index a7d2523..81f54cb 100644 --- a/lib/libc/amd64/string/strcmp.S +++ b/lib/libc/amd64/string/strcmp.S @@ -71,3 +71,4 @@ ENTRY(strcmp) movzbq %dl,%rdx subq %rdx,%rax ret +END(strcmp) diff --git a/lib/libc/amd64/string/strcpy.S b/lib/libc/amd64/string/strcpy.S index 04676fa..8cafa12 100644 --- a/lib/libc/amd64/string/strcpy.S +++ b/lib/libc/amd64/string/strcpy.S @@ -109,3 +109,4 @@ ENTRY(strcpy) .Ldone: ret +END(strcpy) |