Addition of page coloring support. Various levels of coloring are afforded.
The default level works with minimal overhead, but one can also enable
full, efficient use of a 512K cache. (Parameters can be generated
to support arbitrary cache sizes also.)
. make vgrind 8-bit clean; note that it still implicitly assumes
ISO-8859-1, since the characters are simply being passed on to
groff
. introduce an option to override the silly default to `psroff' as
the post-processor
. document the new option
Finish what phk started here in removing devconf. The ATAPI_STATIC case
was still broken, as was the normal case since atapi_attach() was called
internally.
Improve .Os macro support (parts obtained from 4.4Lite2 and NetBSD)
Add the .Fx macro for specifying FreeBSD releases.
Add a bunch of missing standards to the .St macro.
Add Version 1 AT&T UNIX to .At macro
Updated the ".St -ansiC" macro to report "ISO 9899: 1990 (``ISO C'')"
You can also specify -iso9899, or -isoC. Use -ansiC-89 if you still need
the X3.159-1989 string reported.
Fixed another easy case of const poisoning in the kernel. Cosmetic.
(A pointer to a const was misused to avoid loading loading the same
value twice, but gcc does exactly the same optimization automatically.
It can see that the value hasn't changed.)
Saved 48 bytes (46 before padding) using assorted nano-optimizations:
- avoiding strcmp("?" saved 12 bytes. gcc inlined the strcmp()
but this takes as much or more code as a function call. The
inlining was bogus because the strcmp() in the bootstrap isn't
standard.
- using a char instead of an int for the boolean `last_only' saved 8
bytes. Booleans should usually be represented as chars on the i386.
- simplifying the return tests saved 9 bytes.
- using putc instead of printf to print a newline saved 3 bytes of code
and 2 bytes of const data.
- avoiding `else's by always doing the else clause and fixing it up
saved 4+8 bytes.
Saved 48 bytes (56 before padding) by moving a variable declaration.
gcc always generates large code for accesses to globals. For locals
it only generates large code if there are more than 128 bytes of
locals. It sorts scalar locals after array locals to pessimize for
space in the usual case when there are more (static) references to
scalars than to arrays.
Saved another 16 bytes (13 before padding) by adding a `continue'.
Fall-through tests normally save space, but here one of them made
gcc do space-unoptimal register allocation (it allocates ch in %bl
because preserving this register across function calls is "free",
but comparisions with %bl take one byte fewer than comparsions with
%bl).
peter [Sat, 7 Sep 1996 18:48:52 +0000 (18:48 +0000)]
- resync with configs running on freefall
- add ctm_conf.gnats from freefall
- add support for doing both the immediate mailout and the queued mailout.
- use "sendmail -odq -t" rather than "sendamil -t" to make it queue to
the mailqueue rather than immediately begin transmission. This allows
us to take advantage of our ordered dequeueing system without blowing
WC's T1 to hell with a 50 part mailout in parallel.
- bump the max ctm size from 3MB to 10MB.... This is mainly for the fast
list.
peter [Sat, 7 Sep 1996 17:58:36 +0000 (17:58 +0000)]
clean up some warts Bruce pointed out.
- no longer build or install libresolv.a, since we were immediately
deleting it in afterinstall.
- untangle $LIBDIR and $SHLIBDIR
Corrected an error where precious kernel virtual space was being allocated
for entire SYS5 SHM segments. This is totally unnecessary, and so the
correct allocation of VM objects has been substituted. (The vm_mmap
was misused -- vm_object_allocate is more appropriate.)
peter [Sat, 7 Sep 1996 01:43:08 +0000 (01:43 +0000)]
When looking for "group daemon" (since that's what's in mtree), make sure
we actually look for the *group* and not the user's gid. user daemon
has traditionally been group 31 (guest).
Also clear out the groups vector so that it doesn't inherit the groups
of the invoking user (ever run rwhod by hand before?) Unfortunately, we
can't empty the supplemental groups list because the !&@^#! egid is stored
in there! :-(
adam [Sat, 7 Sep 1996 00:34:08 +0000 (00:34 +0000)]
removed older copy of duplicated paragraph.
negated the descriptive sense of "frag" and "-N", which were clearly wrong.
changed instructions (which were bogus in the extreme) for allowing/preventing
outgoing rsh/rlogin, rewording the paragraph so it applies to incoming
connections so it actually both makes sense and tells the truth. It can
be deleted instead if not relevant.
did not change the paragraph about loading multiple rules in one command,
although this operation is now partially supported by loading from a
command file.
If you define this, it means your keyboard is actually probable using the
brain-dammaged probe routine in syscons, and if the keyboard is NOT found,
then you don't want syscons to activate itself further.
This makes life sane for those of us who use serial consoles most of the
time and want "the right thing" to happen when we plug a keyboard in.
peter [Fri, 6 Sep 1996 16:08:32 +0000 (16:08 +0000)]
Turn on SO_KEEPALIVE on network connections. Since we limit the number
of connections, we cannot afford to allow "disappeared" client to cause
us to leave one of the 14 connections open and hanging in a read() forever.
(SO_KEEPALIVE causes probe packets to be sent after a few hours of IDLE
time where no data has been transferred. Sup should NEVER do this, so the
only time it will have an effect is if it looses the remote machine)
peter [Fri, 6 Sep 1996 15:40:08 +0000 (15:40 +0000)]
Rewrite part of the compression support so that it does not leave
files in /var/tmp. Sup needs to send the file size, so that
prevents running gzip in a pipeline (sigh).
It now opens a temporary file, and immediately unlinks it. It sends
gzip's output to the temp file, and when gzip is done, it rewinds the
file and sends it. When the last fd is closed, the file storage is
reclaimed. With luck, this will stop those 15MB
gzip < emacs-19.30.tgz > /var/tmp/tmp.xxxx files from being left behind
and blowing out /var on freefall.
While I have the platform, let me quote a fortune entry which sup reminds
me of: "It is a crock of sh!t, and it stinks!"
PR#2724 in NetBSD notes that newsyslog save log files even if the number
of copies to save is zero. Incorporate suggested fix with some stylistic
cleanup to make the resulting code more readable. Submitted-By: Kenneth Stailey <kstailey@dol-esa.gov>
Don't smash attributes when turning color values off. This was submitted
as a PR to GNATs but it evidently went astray somehow since I can't find
it in the database now, nor does an assigned PR# appear on the mail I got.
Sorry about that, Danny! Submitted-By: Danny R. Johnston <danny@simn.com>
Bowrite guarantees that buffers queued after a call to bowrite will
be written after the specified buffer (on a particular device).
Bowrite does this either by taking advantage of hardware ordering support
(e.g. tagged queueing on SCSI devices) or resorting to a synchronous write.
Add B_ORDERED buffer flag and prototype for the bowrite function.
Bowrite guarantees that buffers queued after a call to bowrite will
be written after the specified buffer (to a particular device).
Bowrite does this either by taking advantage of hardware ordering support
(e.g. tagged queueing on SCSI devices) or by resorting to a synchronous write.
Fix Orion specific code by moving config_orion() to a place where it does
not depend on bootverbose being true.
Include only register specifications for those chip sets that apply to
a cpu that might boot this a particular kernel (ie. make the Saturn code
depend on I486_CPU being defined, the Pentium chip sets on I586_CPU ...)
Use a more robust check for ss_err.h existing. This header isn't
built early enough to always be installed by the `includes' target
in /usr/src/Makefile. This is supposed to be handled by not
installing it if it doesn't exist. However, a stale, uninstallable
copy sometimes exists in the source directory, and the existence
test sometimes found the wrong copy.