Add missing END() macros, as per rev 184547 for amd64. The lack of these

is mostly harmless, but it does upset some of valgrind's functionality.
This commit is contained in:
peter 2008-11-02 01:28:47 +00:00
parent aa63008f13
commit 3375b8347b
43 changed files with 59 additions and 4 deletions

View File

@ -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

View File

@ -49,3 +49,4 @@ ENTRY(_ctx_start)
call PIC_PLT(_ctx_done) /* should never return */
call PIC_PLT(abort) /* fubar */
ret
END(_ctx_start)

View File

@ -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)

View File

@ -40,3 +40,4 @@ ENTRY(fabs)
fldl 4(%esp)
fabs
ret
END(fabs)

View File

@ -82,3 +82,4 @@ ENTRY(modf)
fdivp /* return +/- 0 for +/- Inf, NaN for NaN */
leave
ret
END(modf)

View File

@ -115,3 +115,4 @@ ENTRY(rfork_thread)
popl %ebp
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
END(rfork_thread)

View File

@ -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)

View File

@ -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)

View File

@ -44,3 +44,4 @@ ENTRY(abs)
jns 1f
negl %eax
1: ret
END(abs)

View File

@ -36,3 +36,4 @@ ENTRY(div)
movl %eax,4(%esp)
movl %edx,8(%esp)
ret
END(div)

View File

@ -44,3 +44,4 @@ ENTRY(labs)
jns 1f
negl %eax
1: ret
END(labs)

View File

@ -39,3 +39,4 @@ ENTRY(ldiv)
movl %eax,4(%esp)
movl %edx,8(%esp)
ret
END(ldiv)

View File

@ -61,3 +61,4 @@ L1:
popl %esi
popl %edi
ret
END(bcmp)

View File

@ -97,3 +97,12 @@ ENTRY(bcopy)
popl %esi
cld
ret
#ifdef MEMCOPY
END(memcpy)
#else
#ifdef MEMMOVE
END(memmove)
#else
END(bcopy)
#endif
#endif

View File

@ -79,3 +79,4 @@ L1: rep
popl %ebx
popl %edi
ret
END(bzero)

View File

@ -51,3 +51,4 @@ ENTRY(ffs)
.align 2
L1: xorl %eax,%eax /* clear result */
ret
END(ffs)

View File

@ -61,3 +61,4 @@ L1:
L2:
popl %ebx
ret
END(index)

View File

@ -56,3 +56,4 @@ ENTRY(memchr)
L1: xorl %eax,%eax
popl %edi
ret
END(memchr)

View File

@ -73,3 +73,4 @@ L6: movzbl -1(%edi),%eax /* Perform unsigned comparison */
popl %esi
popl %edi
ret
END(memcmp)

View File

@ -87,3 +87,4 @@ L1: rep
popl %ebx
popl %edi
ret
END(memset)

View File

@ -62,3 +62,4 @@ L2:
jne L1
popl %ebx
ret
END(rindex)

View File

@ -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)

View File

@ -61,3 +61,4 @@ L1:
L2:
popl %ebx
ret
END(strchr)

View File

@ -117,3 +117,4 @@ L3: movzbl (%eax),%eax /* unsigned comparison */
movzbl (%edx),%edx
subl %edx,%eax
ret
END(strcmp)

View File

@ -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)

View File

@ -51,3 +51,4 @@ ENTRY(strlen)
leal -1(%ecx),%eax /* and subtracting one */
popl %edi
ret
END(strlen)

View File

@ -164,3 +164,4 @@ L3: movzbl (%eax),%eax /* unsigned comparison */
L4: xorl %eax,%eax
popl %ebx
ret
END(strncmp)

View File

@ -62,3 +62,4 @@ L2:
jne L1
popl %ebx
ret
END(strrchr)

View File

@ -97,3 +97,4 @@ L3: lodsw
L4: popl %edi
popl %esi
ret
END(swab)

View File

@ -74,3 +74,4 @@ found0: popl %ebx
no: popl %ebx
xorl %eax,%eax
ret
END(wcschr)

View File

@ -77,3 +77,4 @@ no0: subl (%esi),%eax
popl %esi
popl %edi
ret
END(wcscmp)

View File

@ -66,3 +66,4 @@ found2: incl %eax
found1: incl %eax
found0: popl %ebx
ret
END(wcslen)

View File

@ -103,3 +103,4 @@ no: xorl %eax,%eax
popl %ebx
popl %edi
ret
END(wmemchr)

View File

@ -52,3 +52,4 @@ ENTRY(__sys_vfork)
pushl %ecx
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
END(__sys_vfork)

View File

@ -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)

View File

@ -49,3 +49,4 @@ ENTRY(exect)
KERNCALL
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror)) /* exect(file, argv, env); */
END(exect)

View File

@ -48,3 +48,4 @@ ENTRY(__sys_getcontext)
1:
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
END(__sys_getcontext)

View File

@ -44,3 +44,4 @@ SYSCALL(pipe)
movl %edx,4(%ecx)
movl $0,%eax
ret
END(pipe)

View File

@ -55,3 +55,4 @@ ENTRY(ptrace)
err:
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
END(ptrace)

View File

@ -40,3 +40,4 @@ __FBSDID("$FreeBSD$");
SYSCALL(reboot)
iret
END(reboot)

View File

@ -88,3 +88,4 @@ back:
err:
jmp HIDENAME(cerror)
#endif /* PIC */
END(sbrk)

View File

@ -52,3 +52,4 @@ SYSCALL(setlogin)
movl $0,CNAME(_logname_valid)
#endif
ret /* setlogin(name) */
END(setlogin)

View File

@ -50,3 +50,4 @@ ENTRY(syscall)
1:
PIC_PROLOGUE
jmp PIC_PLT(HIDENAME(cerror))
END(syscall)