Macros for symbols used in both ASM and C

-The macros take care of prepending the leading underscore when
 necessary.
This commit is contained in:
Arun Thomas
2010-08-17 16:44:07 +00:00
parent c8cfcab5db
commit 9a21d1a2fd
209 changed files with 1511 additions and 1863 deletions

View File

@@ -1,11 +1,9 @@
/* add64() - 64 bit addition Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _add64
_add64:
ENTRY(add64)
/* u64_t add64(u64_t i, u64_t j); */
movl 4(%esp), %eax
movl 8(%esp), %edx

View File

@@ -1,13 +1,11 @@
/* add64u() - unsigned to 64 bit addition Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _add64u, _add64ul
_add64u:
ENTRY(add64u)
/* u64_t add64u(u64_t i, unsigned j); */
_add64ul:
ENTRY(add64ul)
/* u64_t add64ul(u64_t i, unsigned long j); */
movl 4(%esp), %eax
movl 8(%esp), %edx

View File

@@ -1,11 +1,9 @@
/* bsr64() - 64 bit bit scan reverse Author: Erik van der Kouwe */
/* 15 May 2010 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _bsr64
_bsr64:
ENTRY(bsr64)
/* int bsr64(u64_t i); */
bsr 8(%esp), %eax /* check high-order DWORD */
jnz 0f /* non-zero: return index+32 */

View File

@@ -1,9 +1,8 @@
/* cmp64*() - 64 bit compare Author: Kees J. Bot */
/* 7 Dec 1995 */
.text
.globl _cmp64, _cmp64u, _cmp64ul
#include <machine/asm.h>
_cmp64:
ENTRY(cmp64)
/* int cmp64(u64_t i, u64_t j); */
movl %esp, %ecx
0:
@@ -20,9 +19,9 @@ _cmp64:
adcl $0, %eax /* eax = (i > j) - (i < j) */
ret
_cmp64u:
ENTRY(cmp64u)
/* int cmp64u(u64_t i, unsigned j); */
_cmp64ul:
ENTRY(cmp64ul)
/* int cmp64ul(u64_t i, unsigned long j); */
movl %esp, %ecx
push 16(%ecx)

View File

@@ -1,11 +1,10 @@
/* cv64u() - 64 bit converted to unsigned Author: Kees J. Bot */
/* 7 Dec 1995 */
.text
.globl _cv64u, _cv64ul
#include <machine/asm.h>
_cv64u:
ENTRY(cv64u)
/* unsigned cv64u(u64_t i); */
_cv64ul:
ENTRY(cv64ul)
/* unsigned long cv64ul(u64_t i); */
movl 4(%esp), %eax
cmpl $0, 8(%esp) /* return ULONG_MAX if really big */

View File

@@ -1,13 +1,11 @@
/* cvu64() - unsigned converted to 64 bit Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _cvu64, _cvul64
_cvu64:
ENTRY(cvu64)
/* u64_t cvu64(unsigned i); */
_cvul64:
ENTRY(cvul64)
/* u64_t cvul64(unsigned long i); */
movl 4(%esp), %eax
movl 8(%esp), %edx

View File

@@ -1,9 +1,8 @@
/* diff64() - 64 bit subtraction giving unsigned Author: Kees J. Bot */
/* 7 Dec 1995 */
.text
.globl _diff64
#include <machine/asm.h>
_diff64:
ENTRY(diff64)
/* unsigned diff64(u64_t i, u64_t j); */
movl 4(%esp), %eax
subl 12(%esp), %eax

View File

@@ -2,11 +2,9 @@
/* Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _div64u, _div64u64, _rem64u
_div64u:
ENTRY(div64u)
/* unsigned long div64u(u64_t i, unsigned j); */
xorl %edx, %edx
movl 8(%esp), %eax /* i = (ih<<32) + il */
@@ -15,7 +13,7 @@ _div64u:
divl 12(%esp) /* i / j = (q<<32) + ((r<<32) + il) / j */
ret
_div64u64:
ENTRY(div64u64)
/* u64_t div64u64(u64_t i, unsigned j); */
xorl %edx, %edx
movl 12(%esp), %eax /* i = (ih<<32) + il */
@@ -28,10 +26,10 @@ _div64u64:
movl %ecx, %eax /* return pointer to result struct */
ret BYTES_TO_POP_ON_STRUCT_RETURN
_rem64u:
ENTRY(rem64u)
/* unsigned rem64u(u64_t i, unsigned j); */
pop %ecx
call _div64u
call _C_LABEL(div64u)
movl %edx, %eax
jmp *%ecx

View File

@@ -1,15 +1,14 @@
/* ex64*() - extract low or high 32 bits of a 64 bit number */
/* Author: Kees J. Bot */
/* 7 Dec 1995 */
.text
.globl _ex64lo, _ex64hi
#include <machine/asm.h>
_ex64lo:
ENTRY(ex64lo)
/* unsigned long ex64lo(u64_t i); */
movl 4(%esp), %eax
ret
_ex64hi:
ENTRY(ex64hi)
/* unsigned long ex64hi(u64_t i); */
movl 8(%esp), %eax
ret

View File

@@ -2,11 +2,9 @@
/* Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _make64
_make64:
ENTRY(make64)
/* u64_t make64(unsigned long lo, unsigned long hi); */
movl 4(%esp), %eax
movl 8(%esp), %edx

View File

@@ -2,11 +2,9 @@
/* Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _mul64u
_mul64u:
ENTRY(mul64u)
/* u64_t mul64u(unsigned long i, unsigned j); */
movl 4(%esp), %ecx
movl 8(%esp), %eax

View File

@@ -1,11 +1,9 @@
/* sub64() - 64 bit subtraction Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _sub64
_sub64:
ENTRY(sub64)
/* u64_t sub64(u64_t i, u64_t j); */
movl 4(%esp), %eax
movl 8(%esp), %edx

View File

@@ -1,13 +1,11 @@
/* sub64() - unsigned from 64 bit subtraction Author: Kees J. Bot */
/* 7 Dec 1995 */
#include <minix/compiler.h>
#include <machine/asm.h>
.text
.globl _sub64u, _sub64ul
_sub64u:
ENTRY(sub64u)
/* u64_t sub64u(u64_t i, unsigned j); */
_sub64ul:
ENTRY(sub64ul)
/* u64_t sub64ul(u64_t i, unsigned long j); */
movl 4(%esp), %eax
movl 8(%esp), %edx

View File

@@ -1,11 +1,9 @@
/* fpu_cw_get() - get FPU control word Author: Erik van der Kouwe */
/* fpu_cw_set() - set FPU control word 9 Dec 2009 */
.text
.globl _fpu_cw_get
.globl _fpu_cw_set
#include <machine/asm.h>
/* u16_t fpu_cw_get(void) */
_fpu_cw_get:
ENTRY(fpu_cw_get)
/* clear unused bits just to be sure */
xor %eax, %eax
push %eax
@@ -14,7 +12,7 @@ _fpu_cw_get:
ret
/* void fpu_cw_set(u16_t fpu_cw) */
_fpu_cw_set:
ENTRY(fpu_cw_set)
/* load control word from parameter */
fldcw 4(%esp)
ret

View File

@@ -1,11 +1,9 @@
/* fpu_rndint() - round integer Author: Erik van der Kouwe */
/* 17 Dec 2009 */
.text
.globl _fpu_rndint
.globl _fpu_remainder
#include <machine/asm.h>
/* void fpu_rndint(double *value) */
_fpu_rndint:
ENTRY(fpu_rndint)
/* move the value onto the floating point stack */
mov 4(%esp), %eax
fldl (%eax)
@@ -18,7 +16,7 @@ _fpu_rndint:
ret
/* void fpu_remainder(double *x, double y) */
_fpu_remainder:
ENTRY(fpu_remainder)
/* move the values onto the floating point stack */
fldl 8(%esp)
mov 4(%esp), %edx

View File

@@ -1,36 +1,33 @@
/* fpu_compare() - compare doubles Author: Erik van der Kouwe */
/* fpu_sw_get() - get FPU status 17 Dec 2009 */
/* fpu_xam() - examine double */
.text
.globl _fpu_compare
.globl _fpu_sw_get
.globl _fpu_xam
#include <machine/asm.h>
/* u16_t fpu_compare(double x, double y) */
_fpu_compare:
ENTRY(fpu_compare)
/* move the values onto the floating point stack */
fldl 12(%esp)
fldl 4(%esp)
/* compare values and return status word */
fcompp
jmp _fpu_sw_get
jmp _C_LABEL(fpu_sw_get)
/* u16_t fpu_sw_get(void) */
_fpu_sw_get:
ENTRY(fpu_sw_get)
/* clear unused high-order word and get status word */
xor %eax, %eax
.byte 0xdf, 0xe0 /* fnstsw ax */
ret
/* u16_t fpu_xam(double value) */
_fpu_xam:
ENTRY(fpu_xam)
/* move the value onto the floating point stack */
fldl 4(%esp)
/* examine value and get status word */
fxam
call _fpu_sw_get
call _C_LABEL(fpu_sw_get)
/* pop the value */
fstp %st

View File

@@ -4,10 +4,9 @@
/* void _cpuid(u32_t *eax, u32_t *ebx, u32_t *ecx, u32_t *edx); */
/* 0 for OK, nonzero for unsupported */
.globl __cpuid
#include <machine/asm.h>
.text
__cpuid:
ENTRY(_cpuid)
/* save work registers */
push %ebp
push %ebx

View File

@@ -2,10 +2,9 @@
/* alloca() - allocate space on the stack Author: Kees J. Bot */
/* 2 Dec 1993 */
.text
.balign 16
.globl _alloca
_alloca:
#include <machine/asm.h>
ENTRY(alloca)
#if __ACK__
pop %ecx /* Return address */
pop %eax /* Bytes to allocate */

View File

@@ -4,10 +4,9 @@
/* */
/* Created: Sep 7, 1992 by Philip Homburg */
#include <machine/asm.h>
.text
.globl _get_bp
_get_bp:
ENTRY(get_bp)
movl %ebp, %eax
ret

View File

@@ -1,14 +1,10 @@
/* getprocessor() - determine processor type Author: Kees J. Bot */
/* 26 Jan 1994 */
.text
#include <machine/asm.h>
/* int getprocessor(void); */
/* Return 386, 486, 586, ... */
.globl _getprocessor
_getprocessor:
ENTRY(getprocessor)
push %ebp
movl %esp, %ebp
andl $0xFFFFFFFC, %esp /* Align stack to avoid AC fault */

View File

@@ -2,12 +2,9 @@
/* 9 May 1995 */
/* See RFC 1071, "Computing the Internet checksum" */
/* See also the C version of this code. */
#include <machine/asm.h>
.text
.globl _oneC_sum
.balign 16
_oneC_sum:
ENTRY(oneC_sum)
push %ebp
movl %esp, %ebp
push %esi
@@ -36,7 +33,7 @@ aligned:
adcl $0, %eax /* Add carry back in for one`s complement */
jmp add6test
.balign 16
_ALIGN_TEXT
add6:
addl (%esi), %eax /* Six times unrolled loop, see below */
adcl 4(%esi), %eax
@@ -52,7 +49,7 @@ add6test:
addl $24, %edi
jmp add1test
.balign 16
_ALIGN_TEXT
add1:
addl (%esi), %eax /* while ((edi -= 4) >= 0) */
adcl $0, %eax /* eax += *esi++; */
@@ -83,7 +80,7 @@ done:
#else
.data
#endif
.balign 4
.balign 4
mask:
.long 0x000000FF, 0x0000FFFF, 0x00FFFFFF

View File

@@ -1,3 +1,4 @@
#include <machine/asm.h>
#ifdef __ACK__
.text
@@ -14,9 +15,11 @@ begdata:
begbss:
#endif
.extern _getuctx
.extern _setuctx
.extern _resumecontext
IMPORT(getuctx)
IMPORT(setuctx)
IMPORT(resumecontext)
/* Offsets into ucontext_t structure. Keep in sync with <sys/ucontext.h>! */
#define UC_FLAGS 0
@@ -55,16 +58,11 @@ begbss:
#define EFAULT 14
#define EINVAL 22
/* int getcontext(ucontext_t *ucp)
* Initialise the structure pointed to by ucp to the current user context
* of the calling thread. */
.text
.globl _getcontext
.balign 16
_getcontext:
ENTRY(getcontext)
/* In case a process does not use the FPU and is neither interested in
* saving its signal mask, then we can skip the context switch to
* PM and kernel altogether and only save general-purpose registers. */
@@ -78,7 +76,7 @@ _getcontext:
/* Check null pointer */
cmp $0, %edx /* edx == NULL? */
jne 3f /* Not null, continue */
movl $EFAULT, (_errno)
movl $EFAULT, (_C_LABEL(errno))
xor %eax, %eax
dec %eax /* return -1 */
ret
@@ -98,7 +96,7 @@ _getcontext:
0:
push %ecx /* Save ecx */
push %edx
call _getuctx /* getuctx(ucp) */
call _C_LABEL(getuctx) /* getuctx(ucp) */
pop %edx /* clean up stack and restore edx */
pop %ecx /* Restore ecx */
@@ -131,12 +129,7 @@ _getcontext:
* program execution continues as if the corresponding call of getcontext()
* had just returned. If ucp was created with makecontext(), program
* execution continues with the function passed to makecontext(). */
.text
.globl _setcontext
.balign 16
_setcontext:
ENTRY(setcontext)
/* In case a process does not use the FPU and is neither interested in
* restoring its signal mask, then we can skip the context switch to
* PM and kernel altogether and restore state here. */
@@ -146,7 +139,7 @@ _setcontext:
/* Check null pointer */
cmp $0, %edx /* edx == NULL? */
jnz 3f /* Not null, continue */
movl $EFAULT, (_errno)
movl $EFAULT, (_C_LABEL(errno))
xor %eax, %eax
dec %eax /* return -1 */
ret
@@ -158,7 +151,7 @@ _setcontext:
pop %ebx /* restore ebx */
cmp $MCF_MAGIC, %ecx /* is the magic value set (is context valid)?*/
jz 4f /* is set, proceed */
movl $EINVAL, (_errno) /* not set, return error code */
movl $EINVAL, (_C_LABEL(errno)) /* not set, return error code */
xor %eax, %eax
dec %eax /* return -1 */
ret
@@ -176,7 +169,7 @@ _setcontext:
0: push %ecx /* Save ecx */
push %edx
call _setuctx /* setuctx(ucp) */
call _C_LABEL(setuctx) /* setuctx(ucp) */
pop %edx /* Clean up stack and restore edx */
pop %ecx /* Restore ecx */
@@ -200,12 +193,7 @@ _setcontext:
* arguments to `func' from the stack. Finally, a call to resumecontext
* will start the next context in the linked list (or exit the program if
* there is no context). */
.text
.globl _ctx_start
.balign 16
_ctx_start:
ENTRY(ctx_start)
/* 0(esp) -> func
* 4(esp) -> arg1
* ...
@@ -216,7 +204,7 @@ _ctx_start:
call *%eax /* func(arg1, ..., argn) */
mov %esi, %esp /* Clean up stack */
/* ucp is now at the top of the stack again */
call _resumecontext /* resumecontext(ucp) */
call _C_LABEL(resumecontext) /* resumecontext(ucp) */
ret /* never reached */

View File

@@ -1,9 +1,9 @@
/* This routine is the low-level code for returning from signals. */
/* It calls __sigreturn, which is the normal "system call" routine. */
/* Both ___sigreturn and __sigreturn are needed. */
.text
.globl ___sigreturn
.extern __sigreturn
___sigreturn:
/* It calls _sigreturn, which is the normal "system call" routine. */
/* Both __sigreturn and _sigreturn are needed. */
#include <machine/asm.h>
IMPORT(_sigreturn)
ENTRY(__sigreturn)
addl $16, %esp
jmp __sigreturn
jmp _C_LABEL(_sigreturn)

View File

@@ -1,6 +1,5 @@
#include <minix/ipcconst.h>
.globl __notify, __send, __senda, __sendnb, __receive, __sendrec, __do_kernel_call
#include <machine/asm.h>
IPCVEC = 33 /* ipc trap to kernel */
KERVEC = 32 /* syscall trap to kernel */
@@ -13,8 +12,7 @@
/* IPC assembly routines * */
/**========================================================================* */
/* all message passing routines save ebx, but destroy eax and ecx. */
.text
__send:
ENTRY(_send)
push %ebp
movl %esp, %ebp
push %ebx
@@ -26,7 +24,7 @@ __send:
pop %ebp
ret
__receive:
ENTRY(_receive)
push %ebp
movl %esp, %ebp
push %ebx
@@ -40,7 +38,7 @@ __receive:
pop %ebp
ret
__sendrec:
ENTRY(_sendrec)
push %ebp
movl %esp, %ebp
push %ebx
@@ -52,7 +50,7 @@ __sendrec:
pop %ebp
ret
__notify:
ENTRY(_notify)
push %ebp
movl %esp, %ebp
push %ebx
@@ -63,7 +61,7 @@ __notify:
pop %ebp
ret
__sendnb:
ENTRY(_sendnb)
push %ebp
movl %esp, %ebp
push %ebx
@@ -75,7 +73,7 @@ __sendnb:
pop %ebp
ret
__do_kernel_call:
ENTRY(_do_kernel_call)
/* pass the message pointer to kernel in the %eax register */
movl 4(%esp), %eax
int $KERVEC

View File

@@ -1,15 +1,12 @@
#include <minix/ipcconst.h>
.globl __senda
#include <machine/asm.h>
SYSVEC = 33
MSGTAB = 8 /* message table */
TABCOUNT = 12 /* number of entries in message table */
.text
__senda:
ENTRY(_senda)
push %ebp
movl %esp, %ebp
push %ebx

View File

@@ -4,10 +4,9 @@
/* void *_memmove(void *s1, const void *s2, size_t n) */
/* Copy a chunk of memory. Handle overlap. */
/* */
.text
.globl __memmove, __memcpy
.balign 16
__memmove:
#include <machine/asm.h>
ENTRY(_memmove)
push %ebp
movl %esp, %ebp
push %esi
@@ -19,7 +18,7 @@ __memmove:
subl %esi, %eax
cmpl %ecx, %eax
jb downwards /* if (s2 - s1) < n then copy downwards */
__memcpy:
LABEL(_memcpy)
cld /* Clear direction bit: upwards */
cmpl $16, %ecx
jb upbyte /* Don't bother being smart with short arrays */

View File

@@ -4,10 +4,9 @@
/* char *_strncat(char *s1, const char *s2, size_t edx) */
/* Append string s2 to s1. */
/* */
.text
.globl __strncat
.balign 16
__strncat:
#include <machine/asm.h>
ENTRY(_strncat)
push %ebp
movl %esp, %ebp
push %esi

View File

@@ -4,10 +4,9 @@
/* int strncmp(const char *s1, const char *s2, size_t ecx) */
/* Compare two strings. */
/* */
.text
.globl __strncmp
.balign 16
__strncmp:
#include <machine/asm.h>
ENTRY(_strncmp)
push %ebp
movl %esp, %ebp
push %esi

View File

@@ -4,10 +4,9 @@
/* char *_strncpy(char *s1, const char *s2, size_t ecx) */
/* Copy string s2 to s1. */
/* */
.text
.globl __strncpy
.balign 16
__strncpy:
#include <machine/asm.h>
ENTRY(_strncpy)
movl 12(%ebp), %edi /* edi = string s2 */
xorb %al, %al /* Look for a zero byte */
movl %ecx, %edx /* Save maximum count */

View File

@@ -4,10 +4,9 @@
/* size_t _strnlen(const char *s, size_t ecx) */
/* Return the length of a string. */
/* */
.text
.globl __strnlen
.balign 16
__strnlen:
#include <machine/asm.h>
ENTRY(_strnlen)
push %ebp
movl %esp, %ebp
push %edi

View File

@@ -7,16 +7,15 @@
/* (Alas it is not without some use, it reports the number of bytes */
/* after the bytes that are equal. So it can't be simply replaced.) */
/* */
.text
.globl _bcmp
.balign 16
_bcmp:
#include <machine/asm.h>
ENTRY(bcmp)
push %ebp
movl %esp, %ebp
push 16(%ebp)
push 12(%ebp)
push 8(%ebp)
call _memcmp /* Let memcmp do the work */
call _C_LABEL(memcmp) /* Let memcmp do the work */
testl %eax, %eax
je equal
subl 8(%ebp), %edx /* Memcmp was nice enough to leave "esi" in edx */

View File

@@ -5,11 +5,10 @@
/* Copy a chunk of memory. Handle overlap. */
/* This is a BSD routine that escaped from the kernel. Don't use. */
/* */
.text
.globl _bcopy
.balign 16
_bcopy:
#include <machine/asm.h>
ENTRY(bcopy)
movl 4(%esp), %eax /* Exchange string arguments */
xchgl 8(%esp), %eax
movl %eax, 4(%esp)
jmp __memmove /* Call the proper routine */
jmp _C_LABEL(_memmove) /* Call the proper routine */

View File

@@ -5,15 +5,14 @@
/* Set a chunk of memory to zero. */
/* This is a BSD routine that escaped from the kernel. Don't use. */
/* */
.text
.globl _bzero
.balign 16
_bzero:
#include <machine/asm.h>
ENTRY(bzero)
push %ebp
movl %esp, %ebp
push 12(%ebp) /* Size */
push $0 /* Zero */
push 8(%ebp) /* String */
call _memset /* Call the proper routine */
call _C_LABEL(memset) /* Call the proper routine */
leave
ret

View File

@@ -5,8 +5,7 @@
/* Look for a character in a string. Has suffered from a hostile */
/* takeover by strchr(). */
/* */
.text
.globl _index
.balign 16
_index:
jmp _strchr
#include <machine/asm.h>
ENTRY(index)
jmp _C_LABEL(strchr)

View File

@@ -4,10 +4,9 @@
/* void *memchr(const void *s, int c, size_t n) */
/* Look for a character in a chunk of memory. */
/* */
.text
.globl _memchr
.balign 16
_memchr:
#include <machine/asm.h>
ENTRY(memchr)
push %ebp
movl %esp, %ebp
push %edi

View File

@@ -4,10 +4,9 @@
/* int memcmp(const void *s1, const void *s2, size_t n) */
/* Compare two chunks of memory. */
/* */
.text
.globl _memcmp
.balign 16
_memcmp:
#include <machine/asm.h>
ENTRY(memcmp)
cld
push %ebp
movl %esp, %ebp

View File

@@ -8,10 +8,9 @@
/* negligible, but you are dealing with a programmer who believes that if */
/* anything can go wrong, it should go wrong. */
/* */
.text
.globl _memcpy
.balign 16
_memcpy:
#include <machine/asm.h>
ENTRY(memcpy)
push %ebp
movl %esp, %ebp
push %esi
@@ -20,4 +19,4 @@ _memcpy:
movl 12(%ebp), %esi /* String s2 */
movl 16(%ebp), %ecx /* Length */
/* No overlap check here */
jmp __memcpy /* Call the part of __memmove that copies up */
jmp _C_LABEL(_memcpy) /* Call the part of __memmove that copies up */

View File

@@ -4,8 +4,7 @@
/* void *memmove(void *s1, const void *s2, size_t n) */
/* Copy a chunk of memory. Handle overlap. */
/* */
.text
.globl _memmove
.balign 16
_memmove:
jmp __memmove /* Call common code */
#include <machine/asm.h>
ENTRY(memmove)
jmp _C_LABEL(_memmove) /* Call common code */

View File

@@ -4,10 +4,9 @@
/* void *memset(void *s, int c, size_t n) */
/* Set a chunk of memory to the same byte value. */
/* */
.text
.globl _memset
.balign 16
_memset:
#include <machine/asm.h>
ENTRY(memset)
push %ebp
movl %esp, %ebp
push %edi

View File

@@ -5,8 +5,7 @@
/* Look for the last occurrence a character in a string. Has suffered */
/* from a hostile takeover by strrchr(). */
/* */
.text
.globl _rindex
.balign 16
_rindex:
jmp _strrchr
#include <machine/asm.h>
ENTRY(rindex)
jmp _C_LABEL(strrchr)

View File

@@ -4,9 +4,8 @@
/* char *strcat(char *s1, const char *s2) */
/* Append string s2 to s1. */
/* */
.text
.globl _strcat
.balign 16
_strcat:
#include <machine/asm.h>
ENTRY(strcat)
movl $-1, %edx /* Unlimited length */
jmp __strncat /* Common code */
jmp _C_LABEL(_strncat) /* Common code */

View File

@@ -4,10 +4,9 @@
/* char *strchr(const char *s, int c) */
/* Look for a character in a string. */
/* */
.text
.globl _strchr
.balign 16
_strchr:
#include <machine/asm.h>
ENTRY(strchr)
push %ebp
movl %esp, %ebp
push %edi

View File

@@ -4,9 +4,8 @@
/* int strcmp(const char *s1, const char *s2) */
/* Compare two strings. */
/* */
.text
.globl _strcmp
.balign 16
_strcmp:
#include <machine/asm.h>
ENTRY(strcmp)
movl $-1, %ecx /* Unlimited length */
jmp __strncmp /* Common code */
jmp _C_LABEL(_strncmp) /* Common code */

View File

@@ -4,16 +4,15 @@
/* char *strcpy(char *s1, const char *s2) */
/* Copy string s2 to s1. */
/* */
.text
.globl _strcpy
.balign 16
_strcpy:
#include <machine/asm.h>
ENTRY(strcpy)
push %ebp
movl %esp, %ebp
push %esi
push %edi
movl $-1, %ecx /* Unlimited length */
call __strncpy /* Common code */
call _C_LABEL(_strncpy) /* Common code */
movl 8(%ebp), %eax /* Return s1 */
pop %edi
pop %esi

View File

@@ -4,9 +4,8 @@
/* size_t strlen(const char *s) */
/* Return the length of a string. */
/* */
.text
.globl _strlen
.balign 16
_strlen:
#include <machine/asm.h>
ENTRY(strlen)
movl $-1, %ecx /* Unlimited length */
jmp __strnlen /* Common code */
jmp _C_LABEL(_strnlen) /* Common code */

View File

@@ -4,9 +4,8 @@
/* size_t strncat(char *s1, const char *s2, size_t n) */
/* Append string s2 to s1. */
/* */
.text
.globl _strncat
.balign 16
_strncat:
#include <machine/asm.h>
ENTRY(strncat)
movl 12(%esp), %edx /* Maximum length */
jmp __strncat /* Common code */
jmp _C_LABEL(_strncat) /* Common code */

View File

@@ -4,9 +4,8 @@
/* int strncmp(const char *s1, const char *s2, size_t n) */
/* Compare two strings. */
/* */
.text
.globl _strncmp
.balign 16
_strncmp:
#include <machine/asm.h>
ENTRY(strncmp)
movl 12(%esp), %ecx /* Maximum length */
jmp __strncmp /* Common code */
jmp _C_LABEL(_strncmp) /* Common code */

View File

@@ -4,16 +4,15 @@
/* char *strncpy(char *s1, const char *s2, size_t n) */
/* Copy string s2 to s1. */
/* */
.text
.globl _strncpy
.balign 16
_strncpy:
#include <machine/asm.h>
ENTRY(strncpy)
push %ebp
movl %esp, %ebp
push %esi
push %edi
movl 16(%ebp), %ecx /* Maximum length */
call __strncpy /* Common code */
call _C_LABEL(_strncpy) /* Common code */
movl %edx, %ecx /* Number of bytes not copied */
rep stosb /* strncpy always copies n bytes by null padding */

View File

@@ -4,9 +4,8 @@
/* size_t strnlen(const char *s, size_t n) */
/* Return the length of a string. */
/* */
.text
.globl _strnlen
.balign 16
_strnlen:
#include <machine/asm.h>
ENTRY(strnlen)
movl 8(%esp), %ecx /* Maximum length */
jmp __strnlen /* Common code */
jmp _C_LABEL(_strnlen) /* Common code */

View File

@@ -4,10 +4,9 @@
/* char *strrchr(const char *s, int c) */
/* Look for the last occurrence a character in a string. */
/* */
.text
.globl _strrchr
.balign 16
_strrchr:
#include <machine/asm.h>
ENTRY(strrchr)
push %ebp
movl %esp, %ebp
push %edi

View File

@@ -1,10 +1,9 @@
/ __setjmp.gnu.s
/
/ Created: Oct 14, 1993 by Philip Homburg <philip@cs.vu.nl>
#include <machine/asm.h>
.text
.globl ___setjmp
___setjmp:
ENTRY(__setjmp)
movl 4(%esp), %eax /* jmp_buf */
movl %edx, 28(%eax) /* save edx */
movl 0(%esp), %edx
@@ -22,7 +21,7 @@ ___setjmp:
jz 1f
leal 4(%eax), %edx /* pointer to sigset_t */
push %edx
call ___newsigset /* save mask */
call _C_LABEL(__newsigset) /* save mask */
addl $4, %esp
1:
movl $0, %eax

View File

@@ -1,16 +1,15 @@
/ longjmp.gnu.s
/
/ Created: Oct 15, 1993 by Philip Homburg <philip@cs.vu.nl>
#include <machine/asm.h>
.text
.globl _longjmp
_longjmp:
ENTRY(longjmp)
movl 4(%esp), %eax /* jmp_buf */
cmpl $0, 0(%eax) /* save mask? */
je 1f
leal 4(%eax), %edx /* pointer to sigset_t */
push %edx
call ___oldsigset /* restore mask */
call _C_LABEL(__oldsigset) /* restore mask */
addl $4, %esp
movl 4(%esp), %eax /* jmp_buf */
1:

View File

@@ -1,7 +1,6 @@
.text
.extern ___exit
.globl __exit
.balign 2
#include <machine/asm.h>
IMPORT(__exit)
ENTRY(_exit)
jmp _C_LABEL(__exit)
__exit:
jmp ___exit

View File

@@ -1,7 +1,6 @@
.text
.extern ___pm_findproc
.globl __pm_findproc
.balign 2
#include <machine/asm.h>
IMPORT(__pm_findproc)
ENTRY(_pm_findproc)
jmp _C_LABEL(__pm_findproc)
__pm_findproc:
jmp ___pm_findproc

View File

@@ -1,7 +1,6 @@
.text
.extern __access
.globl _access
.balign 2
#include <machine/asm.h>
IMPORT(_access)
ENTRY(access)
jmp _C_LABEL(_access)
_access:
jmp __access

View File

@@ -1,7 +1,6 @@
.text
.extern __adddma
.globl _adddma
.balign 2
#include <machine/asm.h>
IMPORT(_adddma)
ENTRY(adddma)
jmp _C_LABEL(_adddma)
_adddma:
jmp __adddma

View File

@@ -1,7 +1,6 @@
.text
.extern __alarm
.globl _alarm
.balign 2
#include <machine/asm.h>
IMPORT(_alarm)
ENTRY(alarm)
jmp _C_LABEL(_alarm)
_alarm:
jmp __alarm

View File

@@ -1,7 +1,6 @@
.text
.extern __brk
.globl _brk
.balign 2
#include <machine/asm.h>
IMPORT(_brk)
ENTRY(brk)
jmp _C_LABEL(_brk)
_brk:
jmp __brk

View File

@@ -1,7 +1,6 @@
.text
.extern __cfgetispeed
.globl _cfgetispeed
.balign 2
#include <machine/asm.h>
IMPORT(_cfgetispeed)
ENTRY(cfgetispeed)
jmp _C_LABEL(_cfgetispeed)
_cfgetispeed:
jmp __cfgetispeed

View File

@@ -1,7 +1,6 @@
.text
.extern __cfgetospeed
.globl _cfgetospeed
.balign 2
#include <machine/asm.h>
IMPORT(_cfgetospeed)
ENTRY(cfgetospeed)
jmp _C_LABEL(_cfgetospeed)
_cfgetospeed:
jmp __cfgetospeed

View File

@@ -1,7 +1,6 @@
.text
.extern __cfsetispeed
.globl _cfsetispeed
.balign 2
#include <machine/asm.h>
IMPORT(_cfsetispeed)
ENTRY(cfsetispeed)
jmp _C_LABEL(_cfsetispeed)
_cfsetispeed:
jmp __cfsetispeed

View File

@@ -1,7 +1,6 @@
.text
.extern __cfsetospeed
.globl _cfsetospeed
.balign 2
#include <machine/asm.h>
IMPORT(_cfsetospeed)
ENTRY(cfsetospeed)
jmp _C_LABEL(_cfsetospeed)
_cfsetospeed:
jmp __cfsetospeed

View File

@@ -1,11 +1,10 @@
.text
.extern __chdir
.globl _chdir
.extern __fchdir
.globl _fchdir
.balign 2
#include <machine/asm.h>
IMPORT(_chdir)
ENTRY(chdir)
jmp _C_LABEL(_chdir)
IMPORT(_fchdir)
ENTRY(fchdir)
jmp _C_LABEL(_fchdir)
_chdir:
jmp __chdir
_fchdir:
jmp __fchdir

View File

@@ -1,7 +1,6 @@
.text
.extern __chmod
.globl _chmod
.balign 2
#include <machine/asm.h>
IMPORT(_chmod)
ENTRY(chmod)
jmp _C_LABEL(_chmod)
_chmod:
jmp __chmod

View File

@@ -1,7 +1,6 @@
.text
.extern __chown
.globl _chown
.balign 2
#include <machine/asm.h>
IMPORT(_chown)
ENTRY(chown)
jmp _C_LABEL(_chown)
_chown:
jmp __chown

View File

@@ -1,7 +1,6 @@
.text
.extern __chroot
.globl _chroot
.balign 2
#include <machine/asm.h>
IMPORT(_chroot)
ENTRY(chroot)
jmp _C_LABEL(_chroot)
_chroot:
jmp __chroot

View File

@@ -1,7 +1,6 @@
.text
.extern __close
.globl _close
.balign 2
#include <machine/asm.h>
IMPORT(_close)
ENTRY(close)
jmp _C_LABEL(_close)
_close:
jmp __close

View File

@@ -1,7 +1,6 @@
.text
.extern __closedir
.globl _closedir
.balign 2
#include <machine/asm.h>
IMPORT(_closedir)
ENTRY(closedir)
jmp _C_LABEL(_closedir)
_closedir:
jmp __closedir

View File

@@ -1,7 +1,6 @@
.text
.extern __cprofile
.globl _cprofile
.balign 2
#include <machine/asm.h>
IMPORT(_cprofile)
ENTRY(cprofile)
jmp _C_LABEL(_cprofile)
_cprofile:
jmp __cprofile

View File

@@ -1,7 +1,6 @@
.text
.extern __creat
.globl _creat
.balign 2
#include <machine/asm.h>
IMPORT(_creat)
ENTRY(creat)
jmp _C_LABEL(_creat)
_creat:
jmp __creat

View File

@@ -1,7 +1,6 @@
.text
.extern __deldma
.globl _deldma
.balign 2
#include <machine/asm.h>
IMPORT(_deldma)
ENTRY(deldma)
jmp _C_LABEL(_deldma)
_deldma:
jmp __deldma

View File

@@ -1,7 +1,6 @@
.text
.extern __dup
.globl _dup
.balign 2
#include <machine/asm.h>
IMPORT(_dup)
ENTRY(dup)
jmp _C_LABEL(_dup)
_dup:
jmp __dup

View File

@@ -1,7 +1,6 @@
.text
.extern __dup2
.globl _dup2
.balign 2
#include <machine/asm.h>
IMPORT(_dup2)
ENTRY(dup2)
jmp _C_LABEL(_dup2)
_dup2:
jmp __dup2

View File

@@ -1,7 +1,6 @@
.text
.extern __execl
.globl _execl
.balign 2
#include <machine/asm.h>
IMPORT(_execl)
ENTRY(execl)
jmp _C_LABEL(_execl)
_execl:
jmp __execl

View File

@@ -1,7 +1,6 @@
.text
.extern __execle
.globl _execle
.balign 2
#include <machine/asm.h>
IMPORT(_execle)
ENTRY(execle)
jmp _C_LABEL(_execle)
_execle:
jmp __execle

View File

@@ -1,7 +1,6 @@
.text
.extern __execlp
.globl _execlp
.balign 2
#include <machine/asm.h>
IMPORT(_execlp)
ENTRY(execlp)
jmp _C_LABEL(_execlp)
_execlp:
jmp __execlp

View File

@@ -1,7 +1,6 @@
.text
.extern __execv
.globl _execv
.balign 2
#include <machine/asm.h>
IMPORT(_execv)
ENTRY(execv)
jmp _C_LABEL(_execv)
_execv:
jmp __execv

View File

@@ -1,7 +1,6 @@
.text
.extern __execve
.globl _execve
.balign 2
#include <machine/asm.h>
IMPORT(_execve)
ENTRY(execve)
jmp _C_LABEL(_execve)
_execve:
jmp __execve

View File

@@ -1,7 +1,6 @@
.text
.extern __execvp
.globl _execvp
.balign 2
#include <machine/asm.h>
IMPORT(_execvp)
ENTRY(execvp)
jmp _C_LABEL(_execvp)
_execvp:
jmp __execvp

View File

@@ -1,7 +1,6 @@
.text
.extern __fchmod
.globl _fchmod
.balign 2
#include <machine/asm.h>
IMPORT(_fchmod)
ENTRY(fchmod)
jmp _C_LABEL(_fchmod)
_fchmod:
jmp __fchmod

View File

@@ -1,7 +1,6 @@
.text
.extern __fchown
.globl _fchown
.balign 2
#include <machine/asm.h>
IMPORT(_fchown)
ENTRY(fchown)
jmp _C_LABEL(_fchown)
_fchown:
jmp __fchown

View File

@@ -1,7 +1,6 @@
.text
.extern __fcntl
.globl _fcntl
.balign 2
#include <machine/asm.h>
IMPORT(_fcntl)
ENTRY(fcntl)
jmp _C_LABEL(_fcntl)
_fcntl:
jmp __fcntl

View File

@@ -1,7 +1,6 @@
.text
.extern __fork
.globl _fork
.balign 2
#include <machine/asm.h>
IMPORT(_fork)
ENTRY(fork)
jmp _C_LABEL(_fork)
_fork:
jmp __fork

View File

@@ -1,7 +1,6 @@
.text
.extern __fpathconf
.globl _fpathconf
.balign 2
#include <machine/asm.h>
IMPORT(_fpathconf)
ENTRY(fpathconf)
jmp _C_LABEL(_fpathconf)
_fpathconf:
jmp __fpathconf

View File

@@ -1,7 +1,6 @@
.text
.extern __fstat
.globl _fstat
.balign 2
#include <machine/asm.h>
IMPORT(_fstat)
ENTRY(fstat)
jmp _C_LABEL(_fstat)
_fstat:
jmp __fstat

View File

@@ -1,7 +1,6 @@
.text
.extern __fstatfs
.globl _fstatfs
.balign 2
#include <machine/asm.h>
IMPORT(_fstatfs)
ENTRY(fstatfs)
jmp _C_LABEL(_fstatfs)
_fstatfs:
jmp __fstatfs

View File

@@ -1,7 +1,6 @@
.text
.extern __fstatvfs
.globl _fstatvfs
.balign 2
#include <machine/asm.h>
IMPORT(_fstatvfs)
ENTRY(fstatvfs)
jmp _C_LABEL(_fstatvfs)
_fstatvfs:
jmp __fstatvfs

View File

@@ -1,7 +1,6 @@
.text
.extern __getcwd
.globl _getcwd
.balign 2
#include <machine/asm.h>
IMPORT(_getcwd)
ENTRY(getcwd)
jmp _C_LABEL(_getcwd)
_getcwd:
jmp __getcwd

View File

@@ -1,7 +1,6 @@
.text
.extern __getdents
.globl _getdents
.balign 2
#include <machine/asm.h>
IMPORT(_getdents)
ENTRY(getdents)
jmp _C_LABEL(_getdents)
_getdents:
jmp __getdents

View File

@@ -1,7 +1,6 @@
.text
.extern __getdma
.globl _getdma
.balign 2
#include <machine/asm.h>
IMPORT(_getdma)
ENTRY(getdma)
jmp _C_LABEL(_getdma)
_getdma:
jmp __getdma

View File

@@ -1,7 +1,6 @@
.text
.extern __getegid
.globl _getegid
.balign 2
#include <machine/asm.h>
IMPORT(_getegid)
ENTRY(getegid)
jmp _C_LABEL(_getegid)
_getegid:
jmp __getegid

View File

@@ -1,7 +1,6 @@
.text
.extern __geteuid
.globl _geteuid
.balign 2
#include <machine/asm.h>
IMPORT(_geteuid)
ENTRY(geteuid)
jmp _C_LABEL(_geteuid)
_geteuid:
jmp __geteuid

View File

@@ -1,7 +1,6 @@
.text
.extern __getgid
.globl _getgid
.balign 2
#include <machine/asm.h>
IMPORT(_getgid)
ENTRY(getgid)
jmp _C_LABEL(_getgid)
_getgid:
jmp __getgid

View File

@@ -1,7 +1,6 @@
.text
.extern __getgroups
.globl _getgroups
.balign 2
#include <machine/asm.h>
IMPORT(_getgroups)
ENTRY(getgroups)
jmp _C_LABEL(_getgroups)
_getgroups:
jmp __getgroups

View File

@@ -1,7 +1,6 @@
.text
.extern __getitimer
.globl _getitimer
.balign 2
#include <machine/asm.h>
IMPORT(_getitimer)
ENTRY(getitimer)
jmp _C_LABEL(_getitimer)
_getitimer:
jmp __getitimer

View File

@@ -1,7 +1,6 @@
.text
.extern __getngid
.globl _getngid
.balign 2
#include <machine/asm.h>
IMPORT(_getngid)
ENTRY(getngid)
jmp _C_LABEL(_getngid)
_getngid:
jmp __getngid

View File

@@ -1,7 +1,6 @@
.text
.extern __getnpid
.globl _getnpid
.balign 2
#include <machine/asm.h>
IMPORT(_getnpid)
ENTRY(getnpid)
jmp _C_LABEL(_getnpid)
_getnpid:
jmp __getnpid

View File

@@ -1,7 +1,6 @@
.text
.extern __getnprocnr
.globl _getnprocnr
.balign 2
#include <machine/asm.h>
IMPORT(_getnprocnr)
ENTRY(getnprocnr)
jmp _C_LABEL(_getnprocnr)
_getnprocnr:
jmp __getnprocnr

View File

@@ -1,7 +1,6 @@
.text
.extern __getnucred
.globl _getnucred
.balign 2
#include <machine/asm.h>
IMPORT(_getnucred)
ENTRY(getnucred)
jmp _C_LABEL(_getnucred)
_getnucred:
jmp __getnucred

View File

@@ -1,7 +1,6 @@
.text
.extern __getnuid
.globl _getnuid
.balign 2
#include <machine/asm.h>
IMPORT(_getnuid)
ENTRY(getnuid)
jmp _C_LABEL(_getnuid)
_getnuid:
jmp __getnuid

Some files were not shown because too many files have changed in this diff Show More