1335 Commits

Author SHA1 Message Date
cgd
60bbd380f2 pull up bug fix from libkern:
>frob the mask so that only the low set bit is set, to avoid lossage.
1996-07-15 05:21:09 +00:00
cgd
2f6bb217b1 add an assembly version of ffs(). 1996-07-15 03:13:15 +00:00
jtc
24de9e4a12 The argument to isfoo() must be representable as an unsigned char, so
type of "c" has been changed to unsigned.  This change allows these
functions will work with strings with their 8th bit set.
1996-07-11 01:47:38 +00:00
jtc
6d8b15101f Install linkaddr.3 as link_addr.3 and link_ntoa.3 too. 1996-07-10 20:15:48 +00:00
thorpej
500e663387 Now that setreuid() and setregid() are system calls again, don't call
the C library "private" versions.  Doing so results in unresolved
symbols the next time a dynamically linked program is run after the
new C library is installed.
1996-07-08 16:42:49 +00:00
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
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
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
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
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
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
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
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
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
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
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