aboutsummaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc')
-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
43 files changed, 59 insertions, 4 deletions
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 5d763733d3ca..7eb1ae35cbc8 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)
@@ -76,3 +77,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 900ade68d3a4..6f6cd89f56cc 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)
@@ -96,3 +97,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)