SYSCALL_NOERROR(x): Like SYSCALL except that "x" is a syscall
that can never fail.
RSYSCALL_NOERROR(x): Like RSYSCALL except that "x" is a syscall
that can never fail.
These macros simply call SYSCALL / RSYSCALL, and serve as placeholders
until an optimized implementation is done.
Changed all instances of ENTRY() to match the new calling convention
(it takes a second argument ).
Added new macros:
SYSTRAP(x): Expands to the code used to call syscall x.
This is used to simplify other macros.
SYSCALL_NOERROR(x): Like SYSCALL except that "x" is a syscall
that can never fail.
RSYSCALL_NOERROR(x): Like RSYSCALL except that "x" is a syscall
that can never fail.
SYSTRAP(x): Expands to the code used to call syscall x.
This is used to simplify other macros.
SYSCALL_NOERROR(x): Like SYSCALL except that "x" is a syscall
that can never fail.
RSYSCALL_NOERROR(x): Like RSYSCALL except that "x" is a syscall
that can never fail.
SYSTRAP(x): Expands to the code used to call syscall x.
This is used to simplify other macros.
SYSCALL_NOERROR(x): Like SYSCALL except that "x" is a syscall
that can never fail.
RSYSCALL_NOERROR(x): Like RSYSCALL except that "x" is a syscall
that can never fail.
SYSTRAP(x): Expands to the code used to call syscall x.
This is used to simplify other macros.
SYSCALL_NOERROR(x): Like SYSCALL except that "x" is a syscall
that can never fail.
RSYSCALL_NOERROR(x): Like RSYSCALL except that "x" is a syscall
that can never fail.
rename SYSCALL_NOLABEL as CALLSYS_ERROR (for consistency with CALLSYS_NOERROR
now in asm.h), and implement it using CALLSYS_NOERROR.
reimplement SYSCALL, RSYSCALL, and PSEUDO to use the appropriate macros.
implement SYSCALL_NOERROR and RSYSCALL_NOERROR to do the same thing as
SYSCALL and RSYSCALL, but without the error checking/handling.
the __strerror() and __strsignal() functions can not assume that the
messages will not overflow a NL_TEXTSIZE-sized buffer.
Noted by Mike Long <mike.long@analog.com> in PR
include bsd.own.mk early on, and if !alpha or if !ELF_TOOLCHAIN,
build c++rt0.o. ELF alphas don't use the 'normal' C++ runtime startup
routines. Eventually, there should be better ways to distinguish what
toolchain and object format is in use, and the Alpha C++ startup code
changes should be merged with that used by the other ports.