had not be implemented. It would cause an "adress space leak" and, if
the same object would opened multiple time, unwanted relocations.
Re: Comment from Chris:
"The a.out ld.so has some problems with dlclose. It doesn't properly
unmap objects which are dlclosed. That's a known problem (though a
serious one for programs which dlopen then dlclose lots of objects,
because it causes address space exhaustion), but it has a
previously-unknown side-effect.
If a single object is dlopened, then dlclosed, then dlopened _again_,
the relocations will be processed again. That causes obvious
problems."
socket names:
- In unp_setsockaddr() and unp_setpeeraddr(), if the socket name can't
fit into a single mbuf, allocate enough external storage space to
hold it.
- In unp_bind() and unp_connect(), perform a similar operation, but allocate
one extra byte, and ensure that the pathname is nul-terminated.
Many thanks to enami tsugutomo <enami@cv.sony.co.jp> for the sanity
checking.
- Add a comment describing my feelings about this interface, in general.
- Remove the COMPAT_OLDSOCK length hack. Instead, if the socket argument
is too long to fit in an mbuf, allocate enough external storage to
hold it.
- If the socket argument is a sockaddr, don't allow the length to be
greater than 255, as that would overflow sa_len.
Many thanks to enami tsugutomo <enami@cv.sony.co.jp> for his sanity checking.
the 'a' partition. Sanity checked by thorpej.
This, incidently, may have been causing user errors in initializing
new disks, as described in (now closed) pr-2729 from Scott Reynolds,
because users typically don't try to edit their c partitions to be
"correct".
the format modifer. Reported by and suggested fix from Daniel G. Pouzzner
in PR #2633. Final fix is slightly different now that we support the %q
modifier. This fix also includes the equivalent fix for sprintf().
is no hardware support for single-stepping):
- Fix branch prediction and delay slot computation (for the MIPS).
- Correctly deal with branch taken vs. branch not taken cases, and
self-branches.
- General cleanup, including types botches.
Partially from Mach 3, with a bunch of cleanup work by me.
formats in DDB:
- Reverse the sense of the symbol format #ifdef... i.e. instead of
"#ifndef DB_NO_AOUT", use "#ifdef DB_AOUT_SYMBOLS". This is pulled
in from <machine/db_machdep.h>.
- Change the signature of X_db_sym_init(). Instead of int * and char *,
it now takes void *'s for the start and end of the symbol table.
- In X_db_sym_init(), check that the pointer to the beginning of
the symbol table is aligned.
- X_db_symbol_values() now takes a "db_symtab_t *symtab" argument.
object collapse (DONE), machine-dependent hook for virtual memory allocation
(DONE - PMAP_PREFER()), and better coherency between page and buffer
caches (A LITTLE BETTER - we sync up the vnode pager in the sync(2)
system call now).
Solfrank. Rationale: We want to minimize the debugger's dependency
on other parts of the system.
To avoid namespace clashes, prepent MD5 names with "ipkdb_" to make it
clear what the intent is.
This can happen during perfectly normal operation if:
(a) We are using DMA to select a target, and
(b) we are interrupted by another target reselecting us.
Per discussion with Paul Krannenburg.
(a) The interrupt is a RESEL interrupt, and
(b) our state is SELECTING.
This condition can occur in perfectly normal operation if we are using
DMA to select the target and we are interrupted by another target
reselecting us. Per discussion with Paul Krannenburg.
block-type devices are available during disk checks, which may consume
large amounts of memory if large file systems are present. Once "critical"
file systems (e.g. /usr and /var) are mounted, perform a "swapctl -A -t noblk"
to enable swapping on any swap files that may be listed in /etc/fstab.
user to specify "only add block devices" or "only add non-block devices".
This is useful during early system startup where swapping may be needed
before swap files are available (e.g. if fsck'ing large file systems).
Every ccb locks 64k of memory for dma buffers.
Instead of AHA_CCB_MAX ccbs using 1MByte only sc_link.openings ccbs
per device are allocated. Thus we now use only 128KByte per device present.