Commit Graph

76104 Commits

Author SHA1 Message Date
jmallett
ef26e821fb Allow whitespace to act as a delimiter in the keywords list given to the -o,
again, but also allow it in the user-specified header, too.  This is far more
backwards compatible and SUSv3-happy than allowing only comma to seperate the
keywords list.

Submitted by:	tjr
2002-06-08 18:11:52 +00:00
tjr
82e04d4006 Use the Tn macro for COBOL, FORTRAN, PL/1, SNOBOL. 2002-06-08 11:40:12 +00:00
tjr
477a608328 Support the "--" end-of-options marker. 2002-06-08 11:33:22 +00:00
ache
74144f756f Activate new GNU sort from contrib 2002-06-08 10:34:12 +00:00
tjr
79b0657126 nroff and pr no longer try to disallow messages. 2002-06-08 10:19:07 +00:00
tjr
59f0a60015 Add an examples section. Avoid beginning a sentence with a lowercase letter. 2002-06-08 08:37:27 +00:00
ache
b2e7ac17af Use easy way to sense C and POSIX locales, like in GLIBC 2002-06-08 08:16:22 +00:00
tjr
eca9ac0d2f Document cut(1)'s deficiencies in dealing with multibyte characters in the
BUGS section. These will be easy to fix when we have wide character stdio.
2002-06-08 08:08:47 +00:00
ache
13406799dd Some upgrade instructions 2002-06-08 07:51:53 +00:00
ache
3987f3b9a6 This commit was generated by cvs2svn to compensate for changes in r98038,
which included commits to RCS files with non-trunk default branches.
2002-06-08 07:47:23 +00:00
ache
0ec16ad8f3 Virgin import (trimmed) of GNU Sort, textutils 2.0.21 2002-06-08 07:47:23 +00:00
jake
c7a429349c Add code to drop to ddb when a process gets a fatal signal that usually
suggests kernel bugs (4, 10, 11).  Add a sysctl debug.debugger_on_signal
which turns this on and off, default off.
2002-06-08 07:36:28 +00:00
alc
75c335726c o Remove an unnecessary call to vm_map_wakeup() from vm_map_unwire().
o Add a stub for vm_map_wire().

Note: the description of the previous commit had an error.  The in-
transition flag actually blocks the deallocation of a vm_map_entry by
vm_map_delete() and vm_map_simplify_entry().
2002-06-08 07:32:38 +00:00
tjr
3874025041 Don't split multibyte characters when the -n option is specified. 2002-06-08 07:27:21 +00:00
jake
012b4f04b0 Re-enable SMP by default. 2002-06-08 07:22:36 +00:00
jake
b13b0b35c1 Remove test code. 2002-06-08 07:21:52 +00:00
jake
56400fc901 Remove code from trap which is handled in userland now. 2002-06-08 07:17:19 +00:00
jake
51d015a4b6 Fix bizarre SMP problems. The secondary cpus sometimes start up with junk
in their tlb which the prom doesn't clear out, so we have to do so manually
before mapping the kernel page table or the cpu can hang due various
conditions which cause undefined behaviour from the tlb.
2002-06-08 07:10:28 +00:00
bde
fa2a4fdbfc Fixed unsorting. 2002-06-08 06:49:15 +00:00
jmallett
93d0005574 Don't say that the list of formats can be space delimited, it no longer can be.
Mention that more than one -o will concatenate formats.

Submitted by:	Jun Kuriyama <kuriyama@imgsrc.co.jp>
2002-06-08 05:47:46 +00:00
matusita
26d185af73 Explicitly set TARGET and TARGET_ARCH in a chroot sandbox.
In fact, these variable are set as environment variables since we run
"make TARGET=xxx TARGET_ARCH=xxx"; TARGET and TARGET_ARCH are declared
in the command line arguments.  However, if you are not make(1) guy,
it is hard to understand that TARGET/TARGET_ARCH are appropriately set
in a chroot environment (as environment variables).

Now, the only environment variable need to be set explicitly is 'PATH'.
If we set PATH in /mk script, we can make pristine sandbox for release
build (i.e., "env -i /usr/sbin/chroot ${CHROOT} /mk" will work).

Valuable comments about this issue from: ru
Tested on (virtually): snapshots.jp.FreeBSD.org
MFC after:	2 weeks
2002-06-08 03:15:50 +00:00
mjacob
41b2a6dd7e If we boot verbose, then print out 'interesting' CAM errors that otherwise
would hide problems (like Selection Timeout).
2002-06-07 23:51:30 +00:00
obrien
10c9ec1d2f Install a "perl5.6.1" wrapper. I think this is going too far as now
/usr/src has to carefully watch the Perl port to keep this in sync.
But this is the only way I am allowed to fix the mozzila build
(and other USE_PERL5 ports).
2002-06-07 18:55:42 +00:00
alc
ee9168748e o Add vm_map_unwire() for unwiring contiguous regions of either kernel
or user vm_maps.  In accordance with the standards for munlock(2),
   and in contrast to vm_map_user_pageable(), this implementation does not
   allow holes in the specified region.  This implementation uses the
   "in transition" flag described below.
 o Introduce a new flag, "in transition," to the vm_map_entry.
   Eventually, vm_map_delete() and vm_map_simplify_entry() will respect
   this flag by deallocating in-transition vm_map_entrys, allowing
   the vm_map lock to be safely released in vm_map_unwire() and (the
   forthcoming) vm_map_wire().
 o Modify vm_map_simplify_entry() to respect the in-transition flag.

In collaboration with:	tegge
2002-06-07 18:34:23 +00:00
ume
41a722805a Return HOSTNAME_INVALIDADDR when reverse lookup is fail.
Submitted by:	Sergey Zorin <sergey@cc.tpu.edu.ru>
2002-06-07 17:25:19 +00:00
jake
edd9ce8013 Comment out options SMP for now until I figure out what's going on. 2002-06-07 15:36:42 +00:00
jhb
9edd348bde Fix a bug where request_part_size() was hard-coded to check the rootSize
variable rather than the one passed in as the first argument.

Sponsored by:	The Weather Channel
2002-06-07 15:32:05 +00:00
imp
1e247679d5 0 is not an invalid interrupt in the PCI world (just in the ia32
world), do not treat it as such.  This fixes the alpha boot problem.

Reviewed by: drew, des
2002-06-07 15:28:16 +00:00
bde
b86fb74974 Renamed the idempotency identifier to match the file name. 2002-06-07 14:37:09 +00:00
jhb
8ad95afcab According to Bruce, this file shouldn't have comments to describe what
options do.  Comments should be in NOTES and having the comments in two
places usually means that one place will just bitrot.  Thus, remove the
comment for KTRACE_REQUEST_POOL from the previous revision.

Requested by:	bde
2002-06-07 14:33:23 +00:00
benno
3554dc136b Uncomment some bits that we now need. 2002-06-07 11:49:56 +00:00
benno
54bb6c7dad Fix up the DMA buffer allocation call. 2002-06-07 11:49:33 +00:00
tjr
ef796a5f35 style(9): don't initialise variables in their declaration, remove space
after function name, use __unused on unused parameters instead of
initialising them to bogus values.
2002-06-07 09:13:43 +00:00
darrenr
9765382011 Commit changes that happened in IPFilter versions 3.4.27 - 3.4.28 2002-06-07 09:01:41 +00:00
darrenr
221a9f73d4 This commit was generated by cvs2svn to compensate for changes in r98008,
which included commits to RCS files with non-trunk default branches.
2002-06-07 08:58:26 +00:00
darrenr
29738d8f27 Import IPFilter 3.4.28 2002-06-07 08:58:26 +00:00
darrenr
05bc20a37a This commit was generated by cvs2svn to compensate for changes in r98005,
which included commits to RCS files with non-trunk default branches.
2002-06-07 08:58:22 +00:00
darrenr
18c772ae03 Import IPFilter 3.4.28 2002-06-07 08:58:22 +00:00
darrenr
dbc4d6b0e3 Commit changes that happened in IPFilter versions 3.4.27 - 3.4.28 2002-06-07 08:56:30 +00:00
tjr
a98a42559d Contrary to what the comments said, rs -H did not recycle storage, it just
kept writing past the end of the buffer. Correct the code so that it
actually does recycle storage.
2002-06-07 07:08:06 +00:00
sobomax
4d905c83a4 Disabling automatic --same-owner option when running as uid 0 along with
the --same-permissions was an overkill, so put it back. This is consistent
with what our old tar did.

Suggested by:	dillon
2002-06-07 06:02:35 +00:00
jhb
2aa855d8b1 - Fixup / remove obsolete comments.
- ktrace no longer requires Giant so do ktrace syscall events before and
  after acquiring and releasing Giant, respectively.
- For i386, ia32 syscalls on ia64, powerpc, and sparc64, get rid of the
  goto bad hack and instead use the model on ia64 and alpha were we
  skip the actual syscall invocation if error != 0.  This fixes a bug
  where if we the copyin() of the arguments failed for a syscall that
  was not marked MP safe, we would try to release Giant when we had
  not acquired it.
2002-06-07 05:47:35 +00:00
jhb
1a2a2fa24a We no longer need to acqure Giant in ast() for ktrpsig() in postsig() now
that ktrace no longer needs Giant.
2002-06-07 05:43:40 +00:00
jhb
11b212e025 - trapsignal() no longer needs to acquire Giant for ktrpsig().
- Catch up to new ktrace API.
2002-06-07 05:43:02 +00:00
jhb
b83763b249 - Proper locking for p_tracep and p_traceflag.
- Catch up to new ktrace API.
2002-06-07 05:42:25 +00:00
jhb
eb29fde68b Properly lock accesses to p_tracep and p_traceflag. Also make a few
ktrace-only things #ifdef KTRACE that were not before.
2002-06-07 05:41:27 +00:00
jmallett
e277387a70 Describe ia64_unaligned and geom directories. I hope I got these right. 2002-06-07 05:41:15 +00:00
jhb
fd3d90c2c8 - Catch up to new ktrace API.
- ktrace trace points in msleep() and cv_wait() no longer need Giant.
2002-06-07 05:39:16 +00:00
jhb
fbebc83b5b Catch up to changes in ktrace API. 2002-06-07 05:37:18 +00:00
jhb
ab80d12ef1 Overhaul the ktrace subsystem a bit. For the most part, the actual vnode
operations to dump a ktrace event out to an output file are now handled
asychronously by a ktrace worker thread.  This enables most ktrace events
to not need Giant once p_tracep and p_traceflag are suitably protected by
the new ktrace_lock.

There is a single todo list of pending ktrace requests.  The various
ktrace tracepoints allocate a ktrace request object and tack it onto the
end of the queue.  The ktrace kernel thread grabs requests off the head of
the queue and processes them using the trace vnode and credentials of the
thread triggering the event.

Since we cannot assume that the user memory referenced when doing a
ktrgenio() will be valid and since we can't access it from the ktrace
worker thread without a bit of hassle anyways, ktrgenio() requests are
still handled synchronously.  However, in order to ensure that the requests
from a given thread still maintain relative order to one another, when a
synchronous ktrace event (such as a genio event) is triggered, we still put
the request object on the todo list to synchronize with the worker thread.
The original thread blocks atomically with putting the item on the queue.
When the worker thread comes across an asynchronous request, it wakes up
the original thread and then blocks to ensure it doesn't manage to write a
later event before the original thread has a chance to write out the
synchronous event.  When the original thread wakes up, it writes out the
synchronous using its own context and then finally wakes the worker thread
back up.  Yuck.  The sychronous events aren't pretty but they do work.

Since ktrace events can be triggered in fairly low-level areas (msleep()
and cv_wait() for example) the ktrace code is designed to use very few
locks when posting an event (currently just the ktrace_mtx lock and the
vnode interlock to bump the refcoun on the trace vnode).  This also means
that we can't allocate a ktrace request object when an event is triggered.
Instead, ktrace request objects are allocated from a pre-allocated pool
and returned to the pool after a request is serviced.

The size of this pool defaults to 100 objects, which is about 13k on an
i386 kernel.  The size of the pool can be adjusted at compile time via the
KTRACE_REQUEST_POOL kernel option, at boot time via the
kern.ktrace_request_pool loader tunable, or at runtime via the
kern.ktrace_request_pool sysctl.

If the pool of request objects is exhausted, then a warning message is
printed to the console.  The message is rate-limited in that it is only
printed once until the size of the pool is adjusted via the sysctl.

I have tested all kernel traces but have not tested user traces submitted
by utrace(2), though they should work fine in theory.

Since a ktrace request has several properties (content of event, trace
vnode, details of originating process, credentials for I/O, etc.), I chose
to drop the first argument to the various ktrfoo() functions.  Currently
the functions just assume the event is posted from curthread.  If there is
a great desire to do so, I suppose I could instead put back the first
argument but this time make it a thread pointer instead of a vnode pointer.

Also, KTRPOINT() now takes a thread as its first argument instead of a
process.  This is because the check for a recursive ktrace event is now
per-thread instead of process-wide.

Tested on:	i386
Compiles on:	sparc64, alpha
2002-06-07 05:32:59 +00:00