summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2008-11-13 20:46:07 +0000
committerPeter Wemm <peter@FreeBSD.org>2008-11-13 20:46:07 +0000
commitb829929f8ed0ba9863282c337a9d0e11fe79dcd7 (patch)
tree217df834c54af117aad29a163cb5132cf086e03a /lib/libc
parentc894080f34c98f715360e07f2089f0d055c37674 (diff)
Notes
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/amd64/SYS.h12
-rw-r--r--lib/libc/amd64/gen/_setjmp.S2
-rw-r--r--lib/libc/amd64/gen/fabs.S1
-rw-r--r--lib/libc/amd64/gen/modf.S1
-rw-r--r--lib/libc/amd64/gen/rfork_thread.S1
-rw-r--r--lib/libc/amd64/gen/setjmp.S2
-rw-r--r--lib/libc/amd64/gen/sigsetjmp.S2
-rw-r--r--lib/libc/amd64/stdlib/div.S1
-rw-r--r--lib/libc/amd64/stdlib/ldiv.S1
-rw-r--r--lib/libc/amd64/stdlib/lldiv.S1
-rw-r--r--lib/libc/amd64/string/bcmp.S1
-rw-r--r--lib/libc/amd64/string/bcopy.S9
-rw-r--r--lib/libc/amd64/string/bzero.S1
-rw-r--r--lib/libc/amd64/string/memcmp.S1
-rw-r--r--lib/libc/amd64/string/memset.S1
-rw-r--r--lib/libc/amd64/string/strcat.S1
-rw-r--r--lib/libc/amd64/string/strcmp.S1
-rw-r--r--lib/libc/amd64/string/strcpy.S1
-rw-r--r--lib/libc/amd64/sys/brk.S2
-rw-r--r--lib/libc/amd64/sys/exect.S1
-rw-r--r--lib/libc/amd64/sys/getcontext.S1
-rw-r--r--lib/libc/amd64/sys/pipe.S1
-rw-r--r--lib/libc/amd64/sys/ptrace.S1
-rw-r--r--lib/libc/amd64/sys/reboot.S1
-rw-r--r--lib/libc/amd64/sys/sbrk.S1
-rw-r--r--lib/libc/amd64/sys/setlogin.S1
-rw-r--r--lib/libc/amd64/sys/vfork.S1
-rw-r--r--lib/libc/i386/SYS.h5
-rw-r--r--lib/libc/i386/gen/_ctx_start.S1
-rw-r--r--lib/libc/i386/gen/_setjmp.S2
-rw-r--r--lib/libc/i386/gen/fabs.S1
-rw-r--r--lib/libc/i386/gen/modf.S1
-rw-r--r--lib/libc/i386/gen/rfork_thread.S1
-rw-r--r--lib/libc/i386/gen/setjmp.S2
-rw-r--r--lib/libc/i386/gen/sigsetjmp.S6
-rw-r--r--lib/libc/i386/stdlib/abs.S1
-rw-r--r--lib/libc/i386/stdlib/div.S1
-rw-r--r--lib/libc/i386/stdlib/labs.S1
-rw-r--r--lib/libc/i386/stdlib/ldiv.S1
-rw-r--r--lib/libc/i386/string/bcmp.S1
-rw-r--r--lib/libc/i386/string/bcopy.S9
-rw-r--r--lib/libc/i386/string/bzero.S1
-rw-r--r--lib/libc/i386/string/ffs.S1
-rw-r--r--lib/libc/i386/string/index.S1
-rw-r--r--lib/libc/i386/string/memchr.S1
-rw-r--r--lib/libc/i386/string/memcmp.S1
-rw-r--r--lib/libc/i386/string/memset.S1
-rw-r--r--lib/libc/i386/string/rindex.S1
-rw-r--r--lib/libc/i386/string/strcat.S1
-rw-r--r--lib/libc/i386/string/strchr.S1
-rw-r--r--lib/libc/i386/string/strcmp.S1
-rw-r--r--lib/libc/i386/string/strcpy.S1
-rw-r--r--lib/libc/i386/string/strlen.S1
-rw-r--r--lib/libc/i386/string/strncmp.S1
-rw-r--r--lib/libc/i386/string/strrchr.S1
-rw-r--r--lib/libc/i386/string/swab.S1
-rw-r--r--lib/libc/i386/string/wcschr.S1
-rw-r--r--lib/libc/i386/string/wcscmp.S1
-rw-r--r--lib/libc/i386/string/wcslen.S1
-rw-r--r--lib/libc/i386/string/wmemchr.S1
-rw-r--r--lib/libc/i386/sys/Ovfork.S1
-rw-r--r--lib/libc/i386/sys/brk.S2
-rw-r--r--lib/libc/i386/sys/exect.S1
-rw-r--r--lib/libc/i386/sys/getcontext.S1
-rw-r--r--lib/libc/i386/sys/pipe.S1
-rw-r--r--lib/libc/i386/sys/ptrace.S1
-rw-r--r--lib/libc/i386/sys/reboot.S1
-rw-r--r--lib/libc/i386/sys/sbrk.S1
-rw-r--r--lib/libc/i386/sys/setlogin.S1
-rw-r--r--lib/libc/i386/sys/syscall.S1
70 files changed, 105 insertions, 8 deletions
diff --git a/lib/libc/amd64/SYS.h b/lib/libc/amd64/SYS.h
index ef75377de236..61d7ab4e9daa 100644
--- a/lib/libc/amd64/SYS.h
+++ b/lib/libc/amd64/SYS.h
@@ -43,13 +43,15 @@
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
- 2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx
+ 2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx; \
+ END(__CONCAT(__sys_,x))
#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret ; \
- 2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx
+ 2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx; \
+ END(__CONCAT(__sys_,x))
#else
#define RSYSCALL(x) ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(x); \
@@ -57,13 +59,15 @@
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
- 2: jmp HIDENAME(cerror)
+ 2: jmp HIDENAME(cerror); \
+ END(__CONCAT(__sys_,x))
#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
- 2: jmp HIDENAME(cerror)
+ 2: jmp HIDENAME(cerror); \
+ END(__CONCAT(__sys_,x))
#endif
#define KERNCALL movq %rcx, %r10; syscall
diff --git a/lib/libc/amd64/gen/_setjmp.S b/lib/libc/amd64/gen/_setjmp.S
index 3998fbebdc39..aaea0a7b1b19 100644
--- a/lib/libc/amd64/gen/_setjmp.S
+++ b/lib/libc/amd64/gen/_setjmp.S
@@ -60,6 +60,7 @@ ENTRY(_setjmp)
fnstcw 64(%rax) /* 8; fpu cw */
xorq %rax,%rax
ret
+END(_setjmp)
.weak CNAME(_longjmp)
.set CNAME(_longjmp),CNAME(___longjmp)
@@ -81,3 +82,4 @@ ENTRY(___longjmp)
incq %rax
1: movq %rcx,0(%rsp)
ret
+END(___longjmp)
diff --git a/lib/libc/amd64/gen/fabs.S b/lib/libc/amd64/gen/fabs.S
index 59cd910414ba..8c0c8bf4bcff 100644
--- a/lib/libc/amd64/gen/fabs.S
+++ b/lib/libc/amd64/gen/fabs.S
@@ -37,6 +37,7 @@ ENTRY(fabs)
movsd signbit(%rip), %xmm0
andnpd %xmm1, %xmm0
ret
+END(fabs)
.data
signbit:
diff --git a/lib/libc/amd64/gen/modf.S b/lib/libc/amd64/gen/modf.S
index 63eec8c53d86..4fee38b5880b 100644
--- a/lib/libc/amd64/gen/modf.S
+++ b/lib/libc/amd64/gen/modf.S
@@ -86,3 +86,4 @@ ENTRY(modf)
movsd -8(%rsp),%xmm0
ret
+END(modf)
diff --git a/lib/libc/amd64/gen/rfork_thread.S b/lib/libc/amd64/gen/rfork_thread.S
index aa7001c5d587..c34a94021619 100644
--- a/lib/libc/amd64/gen/rfork_thread.S
+++ b/lib/libc/amd64/gen/rfork_thread.S
@@ -99,3 +99,4 @@ ENTRY(rfork_thread)
#else
jmp HIDENAME(cerror)
#endif
+END(rfork_thread)
diff --git a/lib/libc/amd64/gen/setjmp.S b/lib/libc/amd64/gen/setjmp.S
index 7d11384ac4ec..eff10ab92552 100644
--- a/lib/libc/amd64/gen/setjmp.S
+++ b/lib/libc/amd64/gen/setjmp.S
@@ -69,6 +69,7 @@ ENTRY(setjmp)
fnstcw 64(%rcx) /* 8; fpu cw */
xorq %rax,%rax
ret
+END(setjmp)
.weak CNAME(longjmp)
.set CNAME(longjmp),CNAME(__longjmp)
@@ -99,3 +100,4 @@ ENTRY(__longjmp)
incq %rax
1: movq %rcx,0(%rsp)
ret
+END(__longjmp)
diff --git a/lib/libc/amd64/gen/sigsetjmp.S b/lib/libc/amd64/gen/sigsetjmp.S
index 718edf954064..8da4867e5ad2 100644
--- a/lib/libc/amd64/gen/sigsetjmp.S
+++ b/lib/libc/amd64/gen/sigsetjmp.S
@@ -77,6 +77,7 @@ ENTRY(sigsetjmp)
fnstcw 64(%rcx) /* 8; fpu cw */
xorq %rax,%rax
ret
+END(sigsetjmp)
.weak CNAME(siglongjmp)
.set CNAME(siglongjmp),CNAME(__siglongjmp)
@@ -109,3 +110,4 @@ ENTRY(__siglongjmp)
incq %rax
1: movq %rcx,0(%rsp)
ret
+END(__siglongjmp)
diff --git a/lib/libc/amd64/stdlib/div.S b/lib/libc/amd64/stdlib/div.S
index f8595f91b295..f3c2a592b191 100644
--- a/lib/libc/amd64/stdlib/div.S
+++ b/lib/libc/amd64/stdlib/div.S
@@ -15,3 +15,4 @@ ENTRY(div)
salq $32,%rdx
orq %rdx,%rax
ret
+END(div)
diff --git a/lib/libc/amd64/stdlib/ldiv.S b/lib/libc/amd64/stdlib/ldiv.S
index de952f05ee60..2a0a8cfd4851 100644
--- a/lib/libc/amd64/stdlib/ldiv.S
+++ b/lib/libc/amd64/stdlib/ldiv.S
@@ -13,3 +13,4 @@ ENTRY(ldiv)
cqto
idivq %rsi
ret
+END(ldiv)
diff --git a/lib/libc/amd64/stdlib/lldiv.S b/lib/libc/amd64/stdlib/lldiv.S
index 7353754a48b8..e5ae5ca0d489 100644
--- a/lib/libc/amd64/stdlib/lldiv.S
+++ b/lib/libc/amd64/stdlib/lldiv.S
@@ -13,3 +13,4 @@ ENTRY(lldiv)
cqto
idivq %rsi
ret
+END(lldiv)
diff --git a/lib/libc/amd64/string/bcmp.S b/lib/libc/amd64/string/bcmp.S
index 36a0c7e8419c..375c3bc9f803 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 d58f5918ee59..f7aa6d1ee57f 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 d9d2a451a0d7..0de67d3d4fa7 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 28194f82e7a0..a039b5b9972a 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 142387aebd86..ed8ba2496ece 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 78a1b5645eef..b241ffce5256 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 a7d252376978..81f54cbc9874 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 04676fa1170a..8cafa12c4b0e 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)
diff --git a/lib/libc/amd64/sys/brk.S b/lib/libc/amd64/sys/brk.S
index 42168d891031..c25daffeafb8 100644
--- a/lib/libc/amd64/sys/brk.S
+++ b/lib/libc/amd64/sys/brk.S
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
ENTRY(_brk)
pushq %rdi
jmp ok
+END(_brk)
ENTRY(brk)
pushq %rdi
@@ -81,3 +82,4 @@ err:
#else
jmp HIDENAME(cerror)
#endif
+END(brk)
diff --git a/lib/libc/amd64/sys/exect.S b/lib/libc/amd64/sys/exect.S
index 570cd5bb72a4..93125fad3941 100644
--- a/lib/libc/amd64/sys/exect.S
+++ b/lib/libc/amd64/sys/exect.S
@@ -53,3 +53,4 @@ ENTRY(exect)
#else
jmp HIDENAME(cerror)
#endif
+END(exect)
diff --git a/lib/libc/amd64/sys/getcontext.S b/lib/libc/amd64/sys/getcontext.S
index 9fa95fa09b18..08a64933e040 100644
--- a/lib/libc/amd64/sys/getcontext.S
+++ b/lib/libc/amd64/sys/getcontext.S
@@ -52,3 +52,4 @@ ENTRY(__sys_getcontext)
#else
jmp HIDENAME(cerror)
#endif
+END(__sys_getcontext)
diff --git a/lib/libc/amd64/sys/pipe.S b/lib/libc/amd64/sys/pipe.S
index d97f0b842a5a..a28606428bbf 100644
--- a/lib/libc/amd64/sys/pipe.S
+++ b/lib/libc/amd64/sys/pipe.S
@@ -57,3 +57,4 @@ ENTRY(__sys_pipe)
#else
jmp HIDENAME(cerror)
#endif
+END(__sys_pipe)
diff --git a/lib/libc/amd64/sys/ptrace.S b/lib/libc/amd64/sys/ptrace.S
index 2bb58e889241..29ebade4df17 100644
--- a/lib/libc/amd64/sys/ptrace.S
+++ b/lib/libc/amd64/sys/ptrace.S
@@ -57,3 +57,4 @@ err:
#else
jmp HIDENAME(cerror)
#endif
+END(ptrace)
diff --git a/lib/libc/amd64/sys/reboot.S b/lib/libc/amd64/sys/reboot.S
index 8495b914984d..59df944922b2 100644
--- a/lib/libc/amd64/sys/reboot.S
+++ b/lib/libc/amd64/sys/reboot.S
@@ -54,3 +54,4 @@ ENTRY(__sys_reboot)
#else
jmp HIDENAME(cerror)
#endif
+END(__sys_reboot)
diff --git a/lib/libc/amd64/sys/sbrk.S b/lib/libc/amd64/sys/sbrk.S
index c5cdd265f7ae..fed38823819c 100644
--- a/lib/libc/amd64/sys/sbrk.S
+++ b/lib/libc/amd64/sys/sbrk.S
@@ -85,3 +85,4 @@ err:
#else
jmp HIDENAME(cerror)
#endif
+END(sbrk)
diff --git a/lib/libc/amd64/sys/setlogin.S b/lib/libc/amd64/sys/setlogin.S
index 24f957b87f58..649289a3e6e1 100644
--- a/lib/libc/amd64/sys/setlogin.S
+++ b/lib/libc/amd64/sys/setlogin.S
@@ -62,3 +62,4 @@ ENTRY(__sys_setlogin)
#else
jmp HIDENAME(cerror)
#endif
+END(__sys_setlogin)
diff --git a/lib/libc/amd64/sys/vfork.S b/lib/libc/amd64/sys/vfork.S
index eb843ff76872..d955e5f15294 100644
--- a/lib/libc/amd64/sys/vfork.S
+++ b/lib/libc/amd64/sys/vfork.S
@@ -56,3 +56,4 @@ ENTRY(__sys_vfork)
#else
jmp HIDENAME(cerror)
#endif
+END(__sys_vfork)
diff --git a/lib/libc/i386/SYS.h b/lib/libc/i386/SYS.h
index 2f8a29340a2e..a4a147a91176 100644
--- a/lib/libc/i386/SYS.h
+++ b/lib/libc/i386/SYS.h
@@ -44,13 +44,14 @@
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b
-#define RSYSCALL(x) SYSCALL(x); ret
+#define RSYSCALL(x) SYSCALL(x); ret; END(__CONCAT(__sys_,x))
#define PSEUDO(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
- mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b; ret
+ mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b; ret; \
+ END(__CONCAT(__sys_,x))
/* gas messes up offset -- although we don't currently need it, do for BCS */
#define LCALL(x,y) .byte 0x9a ; .long y; .word x
diff --git a/lib/libc/i386/gen/_ctx_start.S b/lib/libc/i386/gen/_ctx_start.S
index a990035929b6..7083d3c5036c 100644
--- a/lib/libc/i386/gen/_ctx_start.S
+++ b/lib/libc/i386/gen/_ctx_start.S
@@ -49,3 +49,4 @@ ENTRY(_ctx_start)
call PIC_PLT(_ctx_done) /* should never return */
call PIC_PLT(abort) /* fubar */
ret
+END(_ctx_start)
diff --git a/lib/libc/i386/gen/_setjmp.S b/lib/libc/i386/gen/_setjmp.S
index fabc8b9f0bb5..c4da320f5cb0 100644
--- a/lib/libc/i386/gen/_setjmp.S
+++ b/lib/libc/i386/gen/_setjmp.S
@@ -58,6 +58,7 @@ ENTRY(_setjmp)
fnstcw 24(%eax)
xorl %eax,%eax
ret
+END(_setjmp)
.weak CNAME(_longjmp)
.set CNAME(_longjmp),CNAME(___longjmp)
@@ -77,3 +78,4 @@ ENTRY(___longjmp)
incl %eax
1: movl %ecx,0(%esp)
ret
+END(___longjmp)
diff --git a/lib/libc/i386/gen/fabs.S b/lib/libc/i386/gen/fabs.S
index 108e1b2fbb2d..9903fd3f6a80 100644
--- a/lib/libc/i386/gen/fabs.S
+++ b/lib/libc/i386/gen/fabs.S
@@ -40,3 +40,4 @@ ENTRY(fabs)
fldl 4(%esp)
fabs
ret
+END(fabs)
diff --git a/lib/libc/i386/gen/modf.S b/lib/libc/i386/gen/modf.S
index 8310a0af2961..0f7112e2e069 100644
--- a/lib/libc/i386/gen/modf.S
+++ b/lib/libc/i386/gen/modf.S
@@ -82,3 +82,4 @@ ENTRY(modf)
fdivp /* return +/- 0 for +/- Inf, NaN for NaN */
leave
ret
+END(modf)
diff --git a/lib/libc/i386/gen/rfork_thread.S b/lib/libc/i386/gen/rfork_thread.S
index c0fc624f0ae3..841717ad1ef3 100644
--- a/lib/libc/i386/gen/rfork_thread.S
+++ b/lib/libc/i386/gen/rfork_thread.S
@@ -115,3 +115,4 @@ ENTRY(rfork_thread)
popl %ebp
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
+END(rfork_thread)
diff --git a/lib/libc/i386/gen/setjmp.S b/lib/libc/i386/gen/setjmp.S
index a205c2866f23..d7a0c3592952 100644
--- a/lib/libc/i386/gen/setjmp.S
+++ b/lib/libc/i386/gen/setjmp.S
@@ -69,6 +69,7 @@ ENTRY(setjmp)
fnstcw 24(%ecx)
xorl %eax,%eax
ret
+END(setjmp)
.weak CNAME(longjmp)
.set CNAME(longjmp),CNAME(__longjmp)
@@ -97,3 +98,4 @@ ENTRY(__longjmp)
incl %eax
1: movl %ecx,0(%esp)
ret
+END(__longjmp)
diff --git a/lib/libc/i386/gen/sigsetjmp.S b/lib/libc/i386/gen/sigsetjmp.S
index 7c1f85cbe783..6134d032baf6 100644
--- a/lib/libc/i386/gen/sigsetjmp.S
+++ b/lib/libc/i386/gen/sigsetjmp.S
@@ -78,10 +78,11 @@ ENTRY(sigsetjmp)
fnstcw 24(%ecx)
xorl %eax,%eax
ret
+END(sigsetjmp)
.weak CNAME(siglongjmp);
- .set CNAME(siglongjmp),CNAME(__siglongjmp);
-ENTRY(__siglongjmp);
+ .set CNAME(siglongjmp),CNAME(__siglongjmp)
+ENTRY(__siglongjmp)
movl 4(%esp),%edx
cmpl $0,44(%edx)
jz 2f
@@ -108,3 +109,4 @@ ENTRY(__siglongjmp);
incl %eax
1: movl %ecx,0(%esp)
ret
+END(__siglongjmp)
diff --git a/lib/libc/i386/stdlib/abs.S b/lib/libc/i386/stdlib/abs.S
index 861b66f7eb0b..236a6311335c 100644
--- a/lib/libc/i386/stdlib/abs.S
+++ b/lib/libc/i386/stdlib/abs.S
@@ -44,3 +44,4 @@ ENTRY(abs)
jns 1f
negl %eax
1: ret
+END(abs)
diff --git a/lib/libc/i386/stdlib/div.S b/lib/libc/i386/stdlib/div.S
index 4ef75dbdaa31..dcc9eb07aaf1 100644
--- a/lib/libc/i386/stdlib/div.S
+++ b/lib/libc/i386/stdlib/div.S
@@ -36,3 +36,4 @@ ENTRY(div)
movl %eax,4(%esp)
movl %edx,8(%esp)
ret
+END(div)
diff --git a/lib/libc/i386/stdlib/labs.S b/lib/libc/i386/stdlib/labs.S
index 28487af1f8e6..5e00b7af9025 100644
--- a/lib/libc/i386/stdlib/labs.S
+++ b/lib/libc/i386/stdlib/labs.S
@@ -44,3 +44,4 @@ ENTRY(labs)
jns 1f
negl %eax
1: ret
+END(labs)
diff --git a/lib/libc/i386/stdlib/ldiv.S b/lib/libc/i386/stdlib/ldiv.S
index 578eff0fe0fd..a787714d3ee1 100644
--- a/lib/libc/i386/stdlib/ldiv.S
+++ b/lib/libc/i386/stdlib/ldiv.S
@@ -39,3 +39,4 @@ ENTRY(ldiv)
movl %eax,4(%esp)
movl %edx,8(%esp)
ret
+END(ldiv)
diff --git a/lib/libc/i386/string/bcmp.S b/lib/libc/i386/string/bcmp.S
index aa6a6ab90d9b..eaf9666e4471 100644
--- a/lib/libc/i386/string/bcmp.S
+++ b/lib/libc/i386/string/bcmp.S
@@ -61,3 +61,4 @@ L1:
popl %esi
popl %edi
ret
+END(bcmp)
diff --git a/lib/libc/i386/string/bcopy.S b/lib/libc/i386/string/bcopy.S
index 1a3d588a7d53..2f3525e9fde6 100644
--- a/lib/libc/i386/string/bcopy.S
+++ b/lib/libc/i386/string/bcopy.S
@@ -97,3 +97,12 @@ ENTRY(bcopy)
popl %esi
cld
ret
+#ifdef MEMCOPY
+END(memcpy)
+#else
+#ifdef MEMMOVE
+END(memmove)
+#else
+END(bcopy)
+#endif
+#endif
diff --git a/lib/libc/i386/string/bzero.S b/lib/libc/i386/string/bzero.S
index f66bd780a8be..3c22b365e7bd 100644
--- a/lib/libc/i386/string/bzero.S
+++ b/lib/libc/i386/string/bzero.S
@@ -79,3 +79,4 @@ L1: rep
popl %ebx
popl %edi
ret
+END(bzero)
diff --git a/lib/libc/i386/string/ffs.S b/lib/libc/i386/string/ffs.S
index 450f586c9eba..e668447f6edf 100644
--- a/lib/libc/i386/string/ffs.S
+++ b/lib/libc/i386/string/ffs.S
@@ -51,3 +51,4 @@ ENTRY(ffs)
.align 2
L1: xorl %eax,%eax /* clear result */
ret
+END(ffs)
diff --git a/lib/libc/i386/string/index.S b/lib/libc/i386/string/index.S
index db0a162b2dab..e7e7a8c55f1c 100644
--- a/lib/libc/i386/string/index.S
+++ b/lib/libc/i386/string/index.S
@@ -61,3 +61,4 @@ L1:
L2:
popl %ebx
ret
+END(index)
diff --git a/lib/libc/i386/string/memchr.S b/lib/libc/i386/string/memchr.S
index 639077d2696c..a313d4d4c22c 100644
--- a/lib/libc/i386/string/memchr.S
+++ b/lib/libc/i386/string/memchr.S
@@ -56,3 +56,4 @@ ENTRY(memchr)
L1: xorl %eax,%eax
popl %edi
ret
+END(memchr)
diff --git a/lib/libc/i386/string/memcmp.S b/lib/libc/i386/string/memcmp.S
index 8aa2f4ea0413..fa9586f12ac6 100644
--- a/lib/libc/i386/string/memcmp.S
+++ b/lib/libc/i386/string/memcmp.S
@@ -73,3 +73,4 @@ L6: movzbl -1(%edi),%eax /* Perform unsigned comparison */
popl %esi
popl %edi
ret
+END(memcmp)
diff --git a/lib/libc/i386/string/memset.S b/lib/libc/i386/string/memset.S
index 52f0485e6368..25768c22e3d0 100644
--- a/lib/libc/i386/string/memset.S
+++ b/lib/libc/i386/string/memset.S
@@ -87,3 +87,4 @@ L1: rep
popl %ebx
popl %edi
ret
+END(memset)
diff --git a/lib/libc/i386/string/rindex.S b/lib/libc/i386/string/rindex.S
index f0d99f1569db..c52f6d3852a2 100644
--- a/lib/libc/i386/string/rindex.S
+++ b/lib/libc/i386/string/rindex.S
@@ -62,3 +62,4 @@ L2:
jne L1
popl %ebx
ret
+END(rindex)
diff --git a/lib/libc/i386/string/strcat.S b/lib/libc/i386/string/strcat.S
index 3a667cac2bd8..6715bd8b3767 100644
--- a/lib/libc/i386/string/strcat.S
+++ b/lib/libc/i386/string/strcat.S
@@ -98,3 +98,4 @@ L1: movb (%edx),%al /* unroll loop, but not too much */
L2: popl %eax /* pop destination address */
popl %edi /* restore edi */
ret
+END(strcat)
diff --git a/lib/libc/i386/string/strchr.S b/lib/libc/i386/string/strchr.S
index 19ff5d4ad3ee..8c518fb6ca56 100644
--- a/lib/libc/i386/string/strchr.S
+++ b/lib/libc/i386/string/strchr.S
@@ -61,3 +61,4 @@ L1:
L2:
popl %ebx
ret
+END(strchr)
diff --git a/lib/libc/i386/string/strcmp.S b/lib/libc/i386/string/strcmp.S
index 07a87b67a50e..9ca104ef70b3 100644
--- a/lib/libc/i386/string/strcmp.S
+++ b/lib/libc/i386/string/strcmp.S
@@ -117,3 +117,4 @@ L3: movzbl (%eax),%eax /* unsigned comparison */
movzbl (%edx),%edx
subl %edx,%eax
ret
+END(strcmp)
diff --git a/lib/libc/i386/string/strcpy.S b/lib/libc/i386/string/strcpy.S
index a474ec1b722b..7367c07bf342 100644
--- a/lib/libc/i386/string/strcpy.S
+++ b/lib/libc/i386/string/strcpy.S
@@ -87,3 +87,4 @@ L1: movb (%edx),%al /* unroll loop, but not too much */
jne L1
L2: popl %eax /* pop dst address */
ret
+END(strcpy)
diff --git a/lib/libc/i386/string/strlen.S b/lib/libc/i386/string/strlen.S
index 22d683ef9f46..6e91f1a899ef 100644
--- a/lib/libc/i386/string/strlen.S
+++ b/lib/libc/i386/string/strlen.S
@@ -51,3 +51,4 @@ ENTRY(strlen)
leal -1(%ecx),%eax /* and subtracting one */
popl %edi
ret
+END(strlen)
diff --git a/lib/libc/i386/string/strncmp.S b/lib/libc/i386/string/strncmp.S
index e5953c520482..98e365663bdd 100644
--- a/lib/libc/i386/string/strncmp.S
+++ b/lib/libc/i386/string/strncmp.S
@@ -164,3 +164,4 @@ L3: movzbl (%eax),%eax /* unsigned comparison */
L4: xorl %eax,%eax
popl %ebx
ret
+END(strncmp)
diff --git a/lib/libc/i386/string/strrchr.S b/lib/libc/i386/string/strrchr.S
index 8b63ddf73cf1..f044c2e0f26d 100644
--- a/lib/libc/i386/string/strrchr.S
+++ b/lib/libc/i386/string/strrchr.S
@@ -62,3 +62,4 @@ L2:
jne L1
popl %ebx
ret
+END(strrchr)
diff --git a/lib/libc/i386/string/swab.S b/lib/libc/i386/string/swab.S
index 80b2f3c5507c..5035de2349ac 100644
--- a/lib/libc/i386/string/swab.S
+++ b/lib/libc/i386/string/swab.S
@@ -97,3 +97,4 @@ L3: lodsw
L4: popl %edi
popl %esi
ret
+END(swab)
diff --git a/lib/libc/i386/string/wcschr.S b/lib/libc/i386/string/wcschr.S
index c020d7417786..8f6c543ace57 100644
--- a/lib/libc/i386/string/wcschr.S
+++ b/lib/libc/i386/string/wcschr.S
@@ -74,3 +74,4 @@ found0: popl %ebx
no: popl %ebx
xorl %eax,%eax
ret
+END(wcschr)
diff --git a/lib/libc/i386/string/wcscmp.S b/lib/libc/i386/string/wcscmp.S
index aa441404b805..8d0700a84a77 100644
--- a/lib/libc/i386/string/wcscmp.S
+++ b/lib/libc/i386/string/wcscmp.S
@@ -77,3 +77,4 @@ no0: subl (%esi),%eax
popl %esi
popl %edi
ret
+END(wcscmp)
diff --git a/lib/libc/i386/string/wcslen.S b/lib/libc/i386/string/wcslen.S
index 2bebc1e39ed3..9fea2b038ef4 100644
--- a/lib/libc/i386/string/wcslen.S
+++ b/lib/libc/i386/string/wcslen.S
@@ -66,3 +66,4 @@ found2: incl %eax
found1: incl %eax
found0: popl %ebx
ret
+END(wcslen)
diff --git a/lib/libc/i386/string/wmemchr.S b/lib/libc/i386/string/wmemchr.S
index a4ef08191156..2b5270bbad03 100644
--- a/lib/libc/i386/string/wmemchr.S
+++ b/lib/libc/i386/string/wmemchr.S
@@ -103,3 +103,4 @@ no: xorl %eax,%eax
popl %ebx
popl %edi
ret
+END(wmemchr)
diff --git a/lib/libc/i386/sys/Ovfork.S b/lib/libc/i386/sys/Ovfork.S
index 0ee892b95e22..25a9d9467259 100644
--- a/lib/libc/i386/sys/Ovfork.S
+++ b/lib/libc/i386/sys/Ovfork.S
@@ -52,3 +52,4 @@ ENTRY(__sys_vfork)
pushl %ecx
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
+END(__sys_vfork)
diff --git a/lib/libc/i386/sys/brk.S b/lib/libc/i386/sys/brk.S
index 5aa8d751a24a..f67a2a2e0d96 100644
--- a/lib/libc/i386/sys/brk.S
+++ b/lib/libc/i386/sys/brk.S
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
.globl HIDENAME(minbrk)
ENTRY(_brk)
jmp ok
+END(_brk)
ENTRY(brk)
#ifdef PIC
@@ -84,3 +85,4 @@ ok:
err:
jmp HIDENAME(cerror)
#endif
+END(brk)
diff --git a/lib/libc/i386/sys/exect.S b/lib/libc/i386/sys/exect.S
index a9e1e3168296..5eb0d44d3bee 100644
--- a/lib/libc/i386/sys/exect.S
+++ b/lib/libc/i386/sys/exect.S
@@ -49,3 +49,4 @@ ENTRY(exect)
KERNCALL
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror)) /* exect(file, argv, env); */
+END(exect)
diff --git a/lib/libc/i386/sys/getcontext.S b/lib/libc/i386/sys/getcontext.S
index b66ad30a754b..6942749d11d2 100644
--- a/lib/libc/i386/sys/getcontext.S
+++ b/lib/libc/i386/sys/getcontext.S
@@ -48,3 +48,4 @@ ENTRY(__sys_getcontext)
1:
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
+END(__sys_getcontext)
diff --git a/lib/libc/i386/sys/pipe.S b/lib/libc/i386/sys/pipe.S
index ff8f99977e54..406fc56a9a83 100644
--- a/lib/libc/i386/sys/pipe.S
+++ b/lib/libc/i386/sys/pipe.S
@@ -44,3 +44,4 @@ SYSCALL(pipe)
movl %edx,4(%ecx)
movl $0,%eax
ret
+END(pipe)
diff --git a/lib/libc/i386/sys/ptrace.S b/lib/libc/i386/sys/ptrace.S
index bf2cf0f23a05..7527e7e0859a 100644
--- a/lib/libc/i386/sys/ptrace.S
+++ b/lib/libc/i386/sys/ptrace.S
@@ -55,3 +55,4 @@ ENTRY(ptrace)
err:
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
+END(ptrace)
diff --git a/lib/libc/i386/sys/reboot.S b/lib/libc/i386/sys/reboot.S
index 806c860e6a33..5fe227caa838 100644
--- a/lib/libc/i386/sys/reboot.S
+++ b/lib/libc/i386/sys/reboot.S
@@ -40,3 +40,4 @@ __FBSDID("$FreeBSD$");
SYSCALL(reboot)
iret
+END(reboot)
diff --git a/lib/libc/i386/sys/sbrk.S b/lib/libc/i386/sys/sbrk.S
index 2d6d02409de8..36a1b5592a87 100644
--- a/lib/libc/i386/sys/sbrk.S
+++ b/lib/libc/i386/sys/sbrk.S
@@ -88,3 +88,4 @@ back:
err:
jmp HIDENAME(cerror)
#endif /* PIC */
+END(sbrk)
diff --git a/lib/libc/i386/sys/setlogin.S b/lib/libc/i386/sys/setlogin.S
index c5e0e5ae554c..9662a83c1d67 100644
--- a/lib/libc/i386/sys/setlogin.S
+++ b/lib/libc/i386/sys/setlogin.S
@@ -52,3 +52,4 @@ SYSCALL(setlogin)
movl $0,CNAME(_logname_valid)
#endif
ret /* setlogin(name) */
+END(setlogin)
diff --git a/lib/libc/i386/sys/syscall.S b/lib/libc/i386/sys/syscall.S
index 4ac8c78337fb..d26ce47cd58f 100644
--- a/lib/libc/i386/sys/syscall.S
+++ b/lib/libc/i386/sys/syscall.S
@@ -50,3 +50,4 @@ ENTRY(syscall)
1:
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
+END(syscall)