MFNetBSD:
revision 1.103
date: 2001/09/11 07:00:19; author: augustss; state: Exp; lines: +4 -1
Don't go top mode OPERATIONAL (before reset) on startup even
if BIOS claims to have initialized the controller.
MFNetBSD:
revision 1.142
date: 2001/10/25 02:08:13; author: augustss; lines: +14 -16
Change reset sequence to get status change bits set right on startup.
A variable had been unnecessarily assigned a bogus value because gcc was
"confused" about it being unassigned. In fact, gcc was right. Fix the
real problem by setting that variable before break-ing out of a select
statement so gcc is happy, and then remove the unnecessary assignment.
Reported by: a user wondering why lpd syslog-ed about "compiler confusion"
MFC after: 12 days
Rearrange all the error returns from sendfile() to make sure the original
input file and any temporary (filter) file are closed upon return, and
that is generally done at the end of the routine. This should make it
easier for a later update (not yet written) to implement a "resend_copies"
option.
Peter Wemm [Sun, 7 Apr 2002 06:28:38 +0000 (06:28 +0000)]
Later versions of gcc object very strongly to the -C flag being passed
as -CC. It makes no difference to gcc in the tree, but this change is
necessary for gcc-3.1 to work.
Re-arrange how output filters (of=) are handled for queues going to
remote machines. Now they really are handled *exactly* the same as
input filters (if=) for remote queues, except that they are started
with a different set of parameters. This should fix a few subtle
bugs in output-filter processing on such queues. It is a pretty
significant re-arranging of sendfile(), moving some of it to a new
execfilter() routine.
PR: 36552
Reviewed by: no screams from freebsd-audit
MFC after: 12 days
When checking the alternate superblock, we used to copy any fields
that might have changed, then did a byte-by-byte comparison with
the alternate. If any unused fields got used, they had to be added
to the exception list. Such changes caused too many false alarms.
So, I have changed the comparison algorithm to compare a selected
set of fields that are not expected to change. This new algorithm
causes far fewer false hits and still does a good job of detecting
problems when they have really occurred. In particular, this change
should ease the transition to kernels supporting UFS2 which make
some significant changes to the superblock.
Fix (for the second time) kvm_getprocs() for the case where no
processes match the given criteria. Since revision 1.60 of malloc.c,
malloc() and friends return an invalid pointer when given a size of 0.
kvm_getprocs() uses sysctl() with a NULL oldp argument to get an
initial size, but does not check whether it's 0 before passing it to
realloc() (via _kvm_realloc()). Before the aforementioned malloc()
change, this resulted in a minimal allocation made and a valid poitner
returned, but now results in an invalid, but non-NULL, pointer being
returned. When this is passed to sysctl(), the latter returns EFAULT
(as it should).
Peter Wemm [Sun, 7 Apr 2002 04:16:35 +0000 (04:16 +0000)]
Fix a relocation bug in the ia64 ld.so. Weak function pointers in shared
objects were not being correctly set to zero. Instead, the function
descriptor pointer was set to the load address of the .so object. This
caused gcc generated binaries to segfault on exit when crtbegin.asm's
_fini code tested the __cxa_finalize() function pointer for zero.
This is a bit of a hack because of a problem nearby workaround for
find_symdef and its quirks (failures) for local symbols. This still
needs to be fixed.
Peter Wemm [Sun, 7 Apr 2002 02:40:55 +0000 (02:40 +0000)]
Add -lstdc++ to the link args for these C++ tools so that they can be
compiled with gcc-3.1. Somebody thought it was a good idea to move
the implementation of new and delete from libgcc to libstdc++. This
change doesn't harm the current compiler in the tree.
Juli Mallett [Sun, 7 Apr 2002 02:29:56 +0000 (02:29 +0000)]
Fix sed(1) in the case where a last line is specified and hold space is not
specified, and then the first part of the pattern space is deleted, when
there are two or more input lines, as this results in subtraction of one from
an unsigned integral value of '0'. That bogus value is used in one case
for a loop (that will run far too many times in this case) and a function to
search for a value within a specified range of memory, however now the range
of memory is obscenely large and a segmentation fault will occur. This is
fixed by checking for and appropriately handling a nil pattern space as if
the specified search in memory failed, as indeed it obviously will with nil
pattern space.
Submitted by: Tim J. Robbins <tim@robbins.dropbear.id.au>
PR: bin/34813
Reviewed by: mike
MFC after: 1 day
Peter Wemm [Sun, 7 Apr 2002 01:44:24 +0000 (01:44 +0000)]
Bandaid for LP64 machines where 'warning: cast to pointer from different
sized integer' bites. The various malloc functions return pointers,
but without any prototype/declarations visible to callers, the compiler
expects them to return int.
Now, you can specify "" or "NONE" for ipv6_network_interfaces to
prevent the interfaces from being initialized by /etc/rc.network6
wrongly. So, you can explicitly initialize the interfaces by
/etc/pccard_ether.
With previous rc.network6, if you specify pccardd_flags="-z",
net.inet6.ip6.accept_rtadv was wronly set to 0, then RA was not
accepted.
Build a working version of sort(1) from contrib. Use netbsd.h as a hack
to avoid bringing the sources off the vendor branch just to #ifdef out
the RCS and SCCS IDs.
Merge fixes for dbtob() and btodb() from alpha/include/param.h. This stops
ffs_snapshot() from using negative numbers for byte offsets in large file
systems.
Provide an implementation of KTR_CPU that doesn't use pcpu, so we don't
crash and burn if its not setup yet. Add timestamp, cpu, and (fake) file
and line recording to the asm version of CTR.