Commit Graph

1942 Commits

Author SHA1 Message Date
jtc a0d2fe2548 Thanks to the calling conventions used by some cpus, the argument lists
passed to the execl(), execle(), and execlp() functions are in the form
of the argument vector to be passed to execve().  On these architectures,
it is unnecessary to count the number of arguments, allocate space on
the stack, copy the arguments, etc.  The vector already on the stack
can be used instead.

When some arguments are passed in registers (like most RISC CPU's), it
should be possible to allocate stack space adjacent such that the
registers can be copied to that memory.  After that, the same
approach described above can be used.

This change takes advantage of this on the i386, m68k, and ns32k.  It
is probably true on the vax, but I am unable to check.  RISC CPU's
probably need assembly language implementations to ensure everything
is placed exactly as needed when registers are copied to the stack...
1996-07-04 07:18:56 +00:00
jtc 614420255a Split all exec*() functions out of exec.c into their own files. 1996-07-03 21:41:46 +00:00
jtc a174b58e2c Added a new VA_START macro to hide the differences between varargs.h
and stdargs.h.  This cleans up a lot of conditionals throughout this
file.
1996-07-03 19:53:46 +00:00
jtc 9fc92b384e Add new i387 math functions to ARCH_SRCS 1996-07-03 18:02:43 +00:00
jtc a5e2dfa95f use one less fp stack slot 1996-07-03 17:31:28 +00:00
jtc 0ab3a0b137 It's necessary to use 64 bit precision to avoid errors in the least
significant bit(s) (for some operands).
1996-07-03 17:27:34 +00:00
jtc 88420f2e4d this simple adaptation exp() does not work 1996-07-03 17:20:16 +00:00
jtc 5f9accdf53 Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f(). 1996-07-03 16:50:20 +00:00
abrown 347a3b2582 Copy over from libkern:
> Prevent recursive invocation of mcount() while in kernel by setting profiling
> state to BUSY while in mcount(). This allows profiling to work when mcount()
> calls a profiled routine (for example, udiv on the SPARC).
1996-06-29 14:32:58 +00:00
jtc b021f209c3 Changed to conform to POSIX.2 B.3.2.2 "popen() shall ensure that any streams
from previous popen() calls that remain open in the parent process are closed
in the new child process."  Fixes PR #2575.
1996-06-29 00:51:49 +00:00
jtc 16e8217f5a new implementation that simply clears most significant bit 1996-06-26 15:05:40 +00:00
jtc 290756c01b use fscalel instead of ftwotoxl/fmulx 1996-06-26 15:04:06 +00:00
jtc 991d9c139a we don't need to branch 1996-06-26 14:44:05 +00:00
jtc 6f5348dbbd Enable mc68881 version of fmod 1996-06-26 14:39:49 +00:00
jtc 3a2de776bf add m68881 specific fmod() 1996-06-26 14:36:14 +00:00
jtc 6655b8bb1f enable alpha-specific libm files 1996-06-26 07:38:42 +00:00
jtc c13e010e3c Alpha versions of copysign() and copysignf() 1996-06-26 07:29:59 +00:00
jtc 5743dc5d7a Fix from Bruce Evans. Commited to FreeBSD earlier this month, but was
never forwarded to me :-(.

> Clean up the FP stack before returning.  The i387 exp() leaked an FP
> register on its first call.  Subsequent calls reused the register so
> the leak didn't accumulate.
1996-06-25 02:07:09 +00:00
leo fa72190309 Fix the empty error message problem more completely. When the magic-check
fails on the cpu_hdr, return 0 instead of -1. This allows the caller to
distinguise between fatal errors and 'nothing there'.
1996-06-23 20:28:05 +00:00
leo cca068a144 Fix the mysterious empty error message when savecore is executed and no
dump is present. This was caused by the fact that kvm_dump_mkheader() was
called *before* savecore checks the dump magic and kvm_dump_mkheader() returned
-1 without setting an error message. The latter is fixed now.
1996-06-23 13:56:54 +00:00
mycroft 601306abca Resurrect the setre[ug]id() stubs. 1996-06-23 11:52:49 +00:00
mycroft 23558a0acd Clean up removed files. 1996-06-23 11:50:33 +00:00
mycroft f699ec835f Remove the old (broken) setre[ug]id() emulation. 1996-06-23 11:27:59 +00:00
jtc 3a375fb249 Merged in changes from branch (make sure all memory, file descriptors,
mappings, etc. are freed and return (nl_catd) -1 on error).   Also fix
one minor bug and clean up NLSPATH parsing a bit more.
1996-06-21 06:21:04 +00:00
jtc 749fcbc59b Ensure user can't make us overrun fixed sized buffers. 1996-06-20 18:47:08 +00:00
jtc c40394d175 Fix NLSPATH processing --- catopen was not processing beyond the first
colon.  Try all paths in NLSPATH as per XPG4.2.  Expand %l, %t, and %c
to nothing.  Should be language, territory, and codeset.
1996-06-20 14:54:38 +00:00
jtc 0df251764e Changed clnt_{s,}p{errno,error,createerror} so that the functions that
output emit newlines and those that return a pointer to string do not
append them.

The existing behavior was inherited from RPC4.0, but this seems to have
been corrected sometime before SunOS 4.1.

The documentation has been updated to reflect the new behavior.
1996-06-19 20:38:43 +00:00
christos 1d4349e7c8 ypset(8) stopped working; reason:
xdr_ypbind_setdom() would always fail because the test for
xdr_ypdomain_wrap_string() was reversed. Fixed this and in
the process made all the function tests to be of the form:

	if (!xdr_foo())
		return FALSE;
	....
	return TRUE;

instead of having some of them like above and others like:
	if (xdr_foo() == FALSE)
		return FALSE;
	...

	return xdr_bar();

this is more consistant now and hopefully in the future people
will pattern match correctly and not introduce spurious errors.
1996-06-18 20:05:59 +00:00
cgd 418b1071e0 include bsd.own.mk at the top, so checks of EXPORTABLE_SYSTEM work as
intended.
1996-06-14 17:22:05 +00:00
cgd 0396d19a02 use p->hashfraction when doing non-time-critical calculations, rather than
using HASHFRACTION directly.  in time-critical calculations, if HASHFRACTION
is a power of two, check that p->hashfraction == HASHFRACTION and if so do
the calculation with the compiled-in value so that the compiler can optimize
out (potentially) expensive divisions.  if p->hashfraction != HASHFRACTION,
actually do the division.  This has the result that on machines with slow
division, the division can be optimized out of the common case, but that
if HASHFRACTION changes from the compiled-in value (for whatever reason),
profiling will still work.  Changes suggested by Chris Torek.
1996-06-12 04:15:34 +00:00
cgd 88fce69ea9 s/KERNEL/_KERNEL/ to match libkern version. 1996-06-12 04:03:33 +00:00
mark 29811afbb6 Set r1 to -1 on exit as well as r0 otherwise syscalls returning 64 bit
results will not read -1.
1996-06-05 19:02:12 +00:00
jtc 84fc678011 Use setne instead of setnel, new versions of gas balk at the bad mnemonic.
Wrong mask was used in s_finitef.S.
1996-06-04 18:00:34 +00:00
ghudson 23beafab63 Document that the caller must do a pw_abort() if pw_mkdb() fails. 1996-06-02 19:26:18 +00:00
ghudson e257708bf2 Don't delete the lock file if pwd_mkdb fails. The caller will take care
of it by calling pw_abort() or pw_error() as appropriate.
1996-06-02 19:25:43 +00:00
jtc ae94fc4d74 Note functions that probably can be removed 1996-06-01 21:39:21 +00:00
jtc 7c04139bcd Fix computation of ISO 8601 Week Of Year 1996-06-01 21:23:25 +00:00
jtc 8e1fdaa50e Don't special case shift counts > QUAD_BITS or == 0. The former is
undefined behavior (so we can do whatever we want) while the latter
doesn't happen much in actual practice.

These changes make these functions considerably smaller and faster.
1996-06-01 21:21:50 +00:00
jtk ab5dfe6dc8 merge bugfix from 1.2 branch: use includes target for include files 1996-06-01 19:59:30 +00:00
jtc 17c5522d18 Re-arranged code a bit so that gcc can optimize this a bit better.
This change results in better code on the i386, m68k, & ns32k, and
equivalent code on the sparc.
1996-06-01 02:24:29 +00:00
jtc fb600c331a Fix typo in last change 1996-06-01 02:06:23 +00:00
jtc 5bbcde6a0d Enable use of assembly language shift routines on the m68k 1996-06-01 01:14:00 +00:00
jtc 57ceb7a883 Added ashldi3.S, ashrdi3.S, and lshrdi3.S to KMSRCS 1996-06-01 01:08:02 +00:00
jtc ff3bd4df33 m68k assembly versions of 64 bit shift functions 1996-05-31 02:05:33 +00:00
cgd 0351ca5efa Add some casts so that we're not bitten by type promotions on 64-bit
systems.  Not a great concern since the only 64-bit system currently
supported by NetBSD (Alpha) uses assembly versions of these routines.
1996-05-29 23:23:27 +00:00
thorpej 7a26f6a8ac Pull down yp/xdr fixes from release branch. 1996-05-29 20:00:52 +00:00
cgd c0e6f9b4f3 use 'ALIGN' from <sys/param.h> rather than generating a custom alignment expr 1996-05-29 04:05:52 +00:00
fvdl d792665e0d Fix typo (PR 2461) 1996-05-28 13:34:39 +00:00
mrg 343a54bb75 Change iuserok() to take u_int32_t. Some netgroup fixes (partially
from OpenBSD and Theo).
1996-05-28 02:07:32 +00:00
cgd ebd16dc1e1 switch from long to int32_t, where appropriate, so that this actually
works on NetBSD/Alpha for non-trivial filters.
1996-05-26 23:50:37 +00:00
christos 409a9590f3 Avoid using clnt_perror() on the first rpc failure, since it is going to be
retried anyway. Only report it every _yplib_nerrs times.
1996-05-23 13:48:59 +00:00
mycroft db3e68aa58 Describe the _POSIX_SAVED_IDS situation more clearly. 1996-05-21 23:39:57 +00:00
mrg ef2bde6bce update to reflect reality. 1996-05-20 16:58:03 +00:00
cgd 64331ae191 these files all need to include <string.h> 1996-05-20 15:17:31 +00:00
jtc 9647f42d70 Signal mask was not restored correctly.
Fix from James Chacon <jmc@pobox.com> in PR #2442.
1996-05-20 06:13:07 +00:00
ragge 92a955a864 VAX string functions in assembler. Fixed for NetBSD by Ken Wellsch. 1996-05-19 15:57:37 +00:00
jtc 159bafea3c Split yp_first, yp_next, yp_maplist and yperr_prot out of yplib.c. 1996-05-18 19:06:39 +00:00
jtc 2039c263f3 Split yp_first, yp_next, yp_maplist and yperr_prot out of yplib.c.
Use a constant struct timeval for yp timeouts instead of creating
a new struct timeval in each yp function at runtime.
Check arguments and return YPERR_BADARGS if invalid.
1996-05-18 19:03:45 +00:00
jtc 0724069f60 Use a constant struct timeval for yp timeouts instead of creating
a new struct timeval in each yp function at runtime.
Check arguments and return YPERR_BADARGS if invalid.
1996-05-18 19:01:19 +00:00
jtc 76bf46a33e Split yp_first, yp_next, yp_maplist and yperr_prot out of yplib.c.
Use a constant struct timeval for yp timeouts instead of creating
a new struct timeval in each yp function at runtime.
1996-05-18 18:43:24 +00:00
jtc b18369b1bb Use memset instead of bzero to clear xports array.
To be strictly conforming, we should iterate through the array and set
each pointer to NULL.  But memset is faster, and can be inlined by the
compiler.  If we ever encounter a machine where a NULL ptr != all bits
zero, we'll have to handle this differently.
1996-05-17 00:32:22 +00:00
pk 8afc84d945 Clear `xports' array after allocation (PR#2424, Arne Juul). 1996-05-16 22:52:21 +00:00
cgd 6f5a87ec6c remove a few macro definitions which duplicate (and in one instance,
conflict with) those in <machine/asm.h>.
1996-05-16 21:56:22 +00:00
cgd 11f862a975 last argument to catgets()/_catgets() is 'const char *', not 'char *' 1996-05-16 21:51:22 +00:00
cgd 85b3fc5c34 update for ecoff header changes. Most changes taken from PR 2413,
submitted by Jason Thorpe.
1996-05-16 20:49:20 +00:00
christos b2459dacce Use the POSIX signal mask interface 1996-05-16 19:39:13 +00:00
thorpej 7795b4110f Add two functions to libutil:
- getmaxpartitions: get the value of MAXPARTITIONS for the
	  currently running system

	- getrawpartition: get the value of RAW_PART for the
	  currently running system

These functions are necessary since the value of MAXPARTITIONS might
be different across platforms which are binary compatible (e.g. amiga
and sun3).
1996-05-16 07:03:28 +00:00
jtc e42a94845a Minor reorganization of libutil, including the addition of passward
locking and editing functions.
From Greg Hudson <ghudson@MIT.EDU>
1996-05-15 21:42:23 +00:00
jtc 5d8adb683d Split yperr_match out of yplib.c; makes many static executables a bit smaller. 1996-05-15 05:27:50 +00:00
jtc 7808771d84 Split yp_all, yp_master, and yp_other out of yplib.c; makes some static
executables a bit smaller.
1996-05-14 23:37:27 +00:00
scottr d04c0cce16 Fix typo in last change 1996-05-14 21:59:57 +00:00
jtc 3b32f2c7c0 Split yperr_string out of yplib.c; makes many static executables a bit smaller. 1996-05-14 13:36:49 +00:00
jtc adfd5ba766 New message catalog implementation that uses a more efficient machine
independent external format.  The new format is like what is used on
svr4 systems, except it uses fixed sized fields and a constant byte
order.
1996-05-13 23:29:32 +00:00
thorpej c66799ff11 RCS id police. 1996-05-13 02:30:20 +00:00
mark 46d95534b3 Updated register usage. 1996-05-12 20:52:09 +00:00
mark 62a60eda3b Updated to use definitions from machine/ieee.h 1996-05-12 20:50:54 +00:00
mark 93d4dfdfd8 Added NetBSD copyright. 1996-05-12 20:43:54 +00:00
mark ea5751f59e No longer required. The libc fabs() functions is in fabs.c. 1996-05-12 20:36:27 +00:00
mark e1c23a9306 Added new filenames. 1996-05-12 20:34:15 +00:00
mark 0814ca4b65 Initial commit of the floating point related libc functions. 1996-05-12 20:29:09 +00:00
mark ba9c4033a1 RCS Id police. 1996-05-12 20:25:39 +00:00
mark cd795b6adf Removed files from KMINCLUDES and KMSRCS. 1996-05-12 20:06:52 +00:00
mark 341c543ad0 RCS Id police. 1996-05-12 19:55:00 +00:00
mhitch ae4dbfceb0 The amiga now does kernel crash dumps using the new libkvm and savecore. 1996-05-12 04:30:18 +00:00
mycroft c2102b50ad Slight simplification. 1996-05-11 11:04:51 +00:00
cgd ace25ccb4d show what's going on (i.e. show the cmp ... || install ...) even if
nothing's being installed.
1996-05-10 21:54:24 +00:00
cgd 5dd52b454d Be more verbose during 'includes' installation. Instead of showing
'install' commands only if the 'cmp' sees differences, show the
'cmp ... || install ...' commands like other Makefiles do when
installing includes.  It's comforting to see the extra output (to see
that updated files would actually be installed), and is consistent
with other makefiles.
1996-05-10 05:03:06 +00:00
christos c1a26f1198 Fix PR/2348: infinite loop when RPC_PROCUNAVAIL 1996-05-09 22:52:24 +00:00
pk 42822c16d6 Make sure we include the correct headers. 1996-05-09 12:41:38 +00:00
pk ed403311db $Id -> $NetBSD (PR#682). 1996-05-08 19:24:04 +00:00
mark ce67b636ad Get the word order of doubles correct for the arm32 port.
Note: The arm32 port is little endian except for the FP word order.
1996-05-07 20:26:07 +00:00
leo 287a3d660a Fix small typo in last commit. 1996-05-07 06:09:11 +00:00
christos e904bb0ffc Close PR 2376 1996-05-06 13:45:44 +00:00
pk 204be49cb4 typo: DV -> Dv 1996-05-05 19:21:20 +00:00
gwr fe3234daab The sun3 now does kernel crash dumps using the new libkvm and savecore. 1996-05-05 04:37:22 +00:00
gwr 82118b75d6 Allow more flexibility in the format of cpu_kcore_hdr_t and isolate
the knowledge of that struct in the machine-dependent module.
1996-05-05 04:31:59 +00:00
mycroft 0fd4b530e0 Change suggested by Chris Torek to fix problem freopen()ing with a closed
file descriptor.
1996-05-04 19:25:19 +00:00
cgd e4cf519e27 fix a bug that shows up only on alphas: ndbm "datum" variables can't be
cast to DBTs, because the 'size' fields are int and size_t,
respectively, and that means that the DBT size field would be
partially filled with garbage on the Alpha.  Bug fix sent to bostic.
1996-05-04 00:38:58 +00:00
cgd 5e5ebf658f a script, along the lines of the gcc2netbsd script used to set up gcc
trees for import, to set up Berkeley DB trees for import.
1996-05-03 22:43:02 +00:00
cgd 7f7f8e8fe2 reapply diff from rev. 1.7. can't cast pointers to ints; what's really wanted
here is foo != NULL.
1996-05-03 22:16:32 +00:00