1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-10-12 19:04:54 +03:00

entered into RCS

This commit is contained in:
Roland McGrath
1993-04-09 00:56:41 +00:00
parent aac1dda057
commit aa809aac6f

View File

@@ -17,31 +17,21 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <sysdeps/unix/sysdep.h> #include <sysdeps/unix/i386/sysdep.h>
/* Get the symbols for system call interrupts. */ /* Get the symbols for system call interrupts. */
#include <machine/trap.h> #include <machine/trap.h>
#ifdef __STDC__
#define ENTRY(name) \
.globl _##name; \
.align 4; \
_##name##:
#else
#define ENTRY(name) \
.globl _/**/name; \
.align 4; \
_/**/name/**/:
#endif
/* Use the BSD versions of system calls, by setting the high 16 bits /* Use the BSD versions of system calls, by setting the high 16 bits
of the syscall number (see /usr/include/syscall.h). */ of the syscall number (see /usr/include/syscall.h). */
#define SYS_HANDLER SYS_bsd##0000 #define SYS_HANDLER (SYS_bsd << 16)
/* Dynix uses an interrupt interface to system calls. /* Dynix uses an interrupt interface to system calls.
"int $T_SVCn" are syscall interfaces for 0-6 arg functions. "int $T_SVCn" are syscall interfaces for 0-6 arg functions.
(see /usr/include/machine/trap.h). */ (see /usr/include/machine/trap.h). */
#undef DO_CALL
#ifdef __STDC__ #ifdef __STDC__
#define DO_CALL(syscall_name, args) \ #define DO_CALL(syscall_name, args) \
movl $(SYS_HANDLER | SYS_##syscall_name), %eax; \ movl $(SYS_HANDLER | SYS_##syscall_name), %eax; \
@@ -52,6 +42,7 @@ Cambridge, MA 02139, USA. */
int $T_SVC/**/args; int $T_SVC/**/args;
#endif #endif
#undef PSEUDO
#define PSEUDO(name, syscall_name, args) \ #define PSEUDO(name, syscall_name, args) \
.text; \ .text; \
.globl syscall_error; \ .globl syscall_error; \
@@ -81,7 +72,7 @@ Cambridge, MA 02139, USA. */
/* Dynix reverses %ecx and %edx relative to most i386 Unices. */ /* Dynix reverses %ecx and %edx relative to most i386 Unices. */
#define r0 %eax /* Normal return-value register. */ #undef r1
#define r1 %ecx /* Secondary return-value register. */ #define r1 %ecx /* Secondary return-value register. */
#undef scratch
#define scratch %edx /* Call-clobbered register for random use. */ #define scratch %edx /* Call-clobbered register for random use. */
#define MOVE(x,y) movl x, y