summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
27 files changed, 46 insertions, 4 deletions
diff --git a/lib/libc/amd64/SYS.h b/lib/libc/amd64/SYS.h
index ef75377..61d7ab4 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 5d57f88..38c3c6f 100644
--- a/lib/libc/amd64/gen/_setjmp.S
+++ b/lib/libc/amd64/gen/_setjmp.S
@@ -61,6 +61,7 @@ ENTRY(_setjmp)
stmxcsr 68(%rax) /* and mxcsr */
xorq %rax,%rax
ret
+END(_setjmp)
.weak CNAME(_longjmp)
.set CNAME(_longjmp),CNAME(___longjmp)
@@ -90,3 +91,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 59cd910..8c0c8bf 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 63eec8c..4fee38b 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 aa7001c..c34a940 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 995c801..41de587 100644
--- a/lib/libc/amd64/gen/setjmp.S
+++ b/lib/libc/amd64/gen/setjmp.S
@@ -70,6 +70,7 @@ ENTRY(setjmp)
stmxcsr 68(%rcx) /* and mxcsr */
xorq %rax,%rax
ret
+END(setjmp)
.weak CNAME(longjmp)
.set CNAME(longjmp),CNAME(__longjmp)
@@ -108,3 +109,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 718edf9..8da4867 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 f8595f9..f3c2a59 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 de952f0..2a0a8cf 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 7353754..e5ae5ca 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 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)
diff --git a/lib/libc/amd64/sys/brk.S b/lib/libc/amd64/sys/brk.S
index 42168d8..c25daff 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 570cd5b..93125fa 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 9fa95fa..08a6493 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 d97f0b8..a286064 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 2bb58e8..29ebade 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 8495b91..59df944 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 c5cdd26..fed3882 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 24f957b..649289a 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 eb843ff..d955e5f 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)
OpenPOWER on IntegriCloud