Commit Graph

72 Commits

Author SHA1 Message Date
thorpej c061e6bf8b Enable the libc-provided signal trampoline. The old __sigaction14
entry point has been replaced by the new __sigaction14() which is a
wrapper around the __sigaction_sigtramp system call (which is itself
not directly exposed outside of libc).

No shared library version change is necessary; no new symbols
are exposed outside of libc.
2002-07-10 04:29:05 +00:00
thorpej 8aa4d3caec New __sigaction14() system call stub which registers the signal
trampoline, and the signal trampolines themselves.

NOTE: These are not yet enabled; they will be enabled after further
testing on more architectures.
2002-07-09 23:32:35 +00:00
matt 471cb493ae Add modff 2002-06-23 21:48:52 +00:00
wiz 92d8b1e9fa Revert previous: .S files are currently compiled with -traditional-cpp,
so __STDC__ is _not_ always defined.
2002-05-26 12:24:55 +00:00
wiz d56bb7c2ec __STDC__ is always defined on NetBSD. 2002-05-26 11:48:00 +00:00
matt 33ce495df4 Put R6 back in the save and adjust frame size for it. Don't save the
register in sigset area, put them after the sigset area.
2002-03-30 05:32:32 +00:00
matt 583d4ad39f Put R6 back in save mask (to make mask used by PLT routines). Adjust frame
size according.  In _longjmp, deal with sp/fp separately since they stored
in reserve order so movq won't work.
2002-03-30 04:58:36 +00:00
matt 42e21b0c6a Fix a few wrong register uses. (at least I know it works now. :) 2002-03-28 04:16:54 +00:00
matt 5cc5894442 Don't build old 1.3 compat jmp stuff for ELF.
For ELF, don't rewind stack on longjmp/_longjmp.  (for pth).
2002-03-27 18:38:50 +00:00
matt 75dee250ea Missed an sp in the great %sp cleanup. 2002-02-24 02:43:46 +00:00
matt 0ce5ca145f Change to use a register prefix. 2002-02-24 01:06:18 +00:00
thorpej 268d4c679c Adjust for changes to __infinity decl. 2002-02-19 21:50:01 +00:00
thorpej ac8c1c29e9 * Add WSYSCALL() to SYS.h, which creates a system call with an
internal name and a weak alias for the name.
* Add a WEAKASM syscall list, and process it.
* Make sysarch() have an internal name (_sysarch()).
2002-01-14 00:55:55 +00:00
chuck 759fa4641f change "pushl [r0](ap)" ---> "pushl (ap)[r0]" ... the old version
made a reference to an external symbol "r0" rather that used register r0.
2001-09-06 18:42:58 +00:00
matt 63237a33ce Add __clone(2) for VAX. 2001-07-20 06:10:12 +00:00
ragge d6a6aa8773 These are too simple to not have in assembler. Also shrunk the libs with
~1k of unneccessary code :-)
2001-07-01 13:31:18 +00:00
kleink d493d86cac Shameless hack to reference end when using a.out and _end when using ELF. 2001-05-05 17:56:58 +00:00
matt 0e233d1597 Add a VAX version of __syscall. XXX Doesn't handle if syscall number is
> 0xffffffff or < -0xffffffff.
2000-12-13 07:34:54 +00:00
kleink 82fd76bb06 Need an internal name for pipe(2). 2000-09-28 08:38:53 +00:00
msaitoh f9b799b651 check LIBC_SCCS 2000-09-13 22:32:25 +00:00
matt 09f029058b Fix some ELF/a.out lossage 2000-08-07 03:18:04 +00:00
itohy af83a97717 Add special treatment of shmat(2).
On m68k ELF calling standard (__SVR4_ABI__), if a function
returns a pointer, the return value should go to a0 as well as d0.
2000-07-07 08:20:50 +00:00
matt 7661e75ad4 Fix a major botch in 1.4 (which I did not do) which broke _brk and malloc. 2000-07-01 05:21:12 +00:00
matt c3530f0c12 Fix some bugs and clean up for ELF & a.out support 2000-06-30 23:46:36 +00:00
matt ae4364e1d3 Make these work with either a.out or ELF. 2000-06-28 19:20:16 +00:00
kleink b8a4d7adf9 Need an internal name for fork(). 2000-06-26 06:32:54 +00:00
kleink 15bc7ed349 Thinko in previous: we do always use an internal name. 2000-06-26 06:25:36 +00:00
kleink 03f996bd0c Add internal names for brk() and sbrk(). 2000-06-23 15:40:36 +00:00
kleink 4d8e5be65e Delete the leftover _brk entry; as discussed with Ragge. 2000-06-23 07:18:09 +00:00
kleink e4d7c2e329 Add ISO C99 long long integer general utility interfaces; partially addresses
PR standards/9482.
2000-03-06 18:32:22 +00:00
kleink b9d73b3129 Implement *__errno() redirection, with help from Matt Thomas. 2000-02-05 21:02:51 +00:00
kleink c54d3e28e2 Go via *__errno() here, too. 2000-02-05 19:53:54 +00:00
kleink c3ed25e892 Implement *__errno() indirection. 2000-02-05 19:20:53 +00:00
mycroft c26054b799 Delint. 2000-01-22 22:40:58 +00:00
thorpej 30dca7f7db Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files).  Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
1999-08-25 05:09:27 +00:00
ragge 765d11306b Set infinity to the highest D-float possible.
XXX - infinity does not exist on vax...
1999-04-17 14:53:32 +00:00
mycroft 2b504929fa Just some minor cleanup. 1999-03-10 08:15:43 +00:00
ragge 22df858e3c Fix typos after the hton* changes. Need __*setjmp14.S also. 1999-03-06 11:13:43 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
kleink 6348b7d5b5 * On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
1999-01-14 22:48:18 +00:00
thorpej efd37a7da8 Warn about references to the compatibility vfork() (i.e. the vfork() with
the 4.4BSD non-shared-address-space semantics), and direct the user to
include <unistd.h> to generate the correct reference.

This warning isn't about an ABI compatibility issue, but the new vfork() is
considerably faster.
1998-12-02 19:29:56 +00:00
thorpej e644246e6a Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
1998-12-02 01:01:03 +00:00
christos 7c990e0c7b delint 1998-11-14 19:31:01 +00:00
matt cf2842a1b0 Some changes to disassembly easier without causing any performance penalty. 1998-10-20 06:46:19 +00:00
kleink d541ca6d80 Need internal names for isinf() and isnan(). 1998-10-13 14:43:36 +00:00
matt c1d0053032 PICify. (e.g. change movl $sym, rX to movab sym, rX) 1998-10-13 00:02:19 +00:00
matt 592306e323 Use __sigprocmask14, fix a few more bugs 1998-10-10 01:50:23 +00:00
matt 99d642287b Actually build __setjmp.S/__sigsetjmp.S for vax. PICifiy the setjmp code.
Fix libm Makefile to handle obj directories.
1998-10-10 00:08:50 +00:00
christos d5c25c895a This should be close... 1998-10-01 18:59:16 +00:00
ragge 7f233b2f7a New libc signal handling stuff. 1998-09-30 18:37:39 +00:00