The regression-tests for 'make' *expect* to trigger make's warning:
warning: duplicate script for target "double" ignored
The regression-tests do try to hide that message, but the message does
still appear when using -j (eg: 'make -j5 buildworld'). This changes the
regression-test so the expected warning message will not be seen even
when -j is specified.
Robert Drehmel [Mon, 10 Feb 2003 16:58:47 +0000 (16:58 +0000)]
- Determine the size of buffers with sizeof() instead of using
plain magic numbers - one of them was apparently wrong but unharmful.
- Remove empty line.
Jeff Roberson [Mon, 10 Feb 2003 14:03:45 +0000 (14:03 +0000)]
- Add a new variable 'kg_runtime' that tracks the amount of time we've run.
- Use the ratio of kg_runtime / kg_slptime to determine our dynamic priority.
- Scale kg_runtime and kg_slptime back when the sum of the two exceeds
SCHED_SLP_RUN_MAX. This allows us to slowly forget old behavior.
- Scale back the runtime and slptime in fork so that the new process has the
same ratio but much less accumulated time. This causes new behavior to be
noticed more quickly.
Thomas Quinot [Mon, 10 Feb 2003 11:20:58 +0000 (11:20 +0000)]
Allow inner whitespace in the right-hand side of an environment variable
assignment even if it is not quoted (as advertised by the man page).
This fixes a regression wrt RELENG_4 introduced in rev. 1.11.
Problem noted and patch tested by: CHOI Junho <cjh@kr.FreeBSD.org>
Reviewed by: roberto
Alfred Perlstein [Mon, 10 Feb 2003 08:31:28 +0000 (08:31 +0000)]
Handle %%m properly in syslog format string. Previously it would expand
the %m into the errno and then vfprintf would expand the % and the first
character of the strerror(3) return causing possible data corruption.
Doug Barton [Mon, 10 Feb 2003 06:35:34 +0000 (06:35 +0000)]
Try to fix two problems with the -I example. One is the fact that we
want to match a character $, not EOL. The other is that CVS helpfully
expanded my example into an actual CVS tag.
Alexander Kabaev [Mon, 10 Feb 2003 06:00:24 +0000 (06:00 +0000)]
Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 -fformat-extensions.
1.3 -printf0
1.6 Teach GCC about %y for DDB and implement
support for the C99 %z format modifier.
Scott Long [Mon, 10 Feb 2003 00:34:24 +0000 (00:34 +0000)]
Implement a new dynamic command allocator. FIBs are allocated in 1 page
blocks now, which should eliminate problems with the driver failing to
attach due to insufficient contiguous RAM. Allow the FIB pool to grow
from the default of 128 to the max of 512 as demand grows. Also pad the
adapter init struct to work around the 2120/2200 DMA bug now that there
is no longer a FIB slab.
Martin Blapp [Sun, 9 Feb 2003 22:04:50 +0000 (22:04 +0000)]
Explicitly release a existing lease before we start dhclient (again).
If we already have a lease and restart sysinstall (or something with
the net configuration goes wrong), we would have to reboot just
because there is a dhclient hanging around.
Complete rewrite of pam_ssh(8). The previous version was becoming hard
to maintain, and had security issues which would have required a major
rewrite to address anyway.
This implementation currently starts a separate agent for each session
instead of connecting each new session to the agent started by the first
one. While this would be a Good Thing (and the old pam_ssh(8) tried to
do it), it's hard to get right. I'll revisit this issue when I've had a
chance to test some modifications to ssh-agent(1).
Joerg Wunsch [Sun, 9 Feb 2003 19:33:53 +0000 (19:33 +0000)]
Set the expected permissions of /dev to 0555 since this is what devfs
is using anyway. Otherwise, "make installworld" insists on resetting
them to 0755.
Mike Makonnen [Sun, 9 Feb 2003 18:29:09 +0000 (18:29 +0000)]
Revisit the shell special characters issue and settle it once-and-forall.
All characters will be accepted, and pw(8) can sort out which ones it
will allow and which ones it won't.
Approved by: markm (mentor)
Prodded by: Philippe Bourcier <philippe@cyberabuse.org>
Jeff Roberson [Sun, 9 Feb 2003 11:28:35 +0000 (11:28 +0000)]
- Cleanup unlocked accesses to buf flags by introducing a new b_vflag member
that is protected by the vnode lock.
- Move B_SCANNED into b_vflags and call it BV_SCANNED.
- Create a vop_stdfsync() modeled after spec's sync.
- Replace spec_fsync, msdos_fsync, and hpfs_fsync with the stdfsync and some
fs specific processing. This gives all of these filesystems proper
behavior wrt MNT_WAIT/NOWAIT and the use of the B_SCANNED flag.
- Annotate the locking in buf.h
Jeff Roberson [Sun, 9 Feb 2003 09:47:31 +0000 (09:47 +0000)]
- Lock down the buffer cache's infrastructure code. This includes locks on
buf lists, synchronization variables, and atomic ops for the counters.
This change does not remove giant from any code although some pushdown
may be possible.
- In vfs_bio_awrite() don't access buf fields without the buf lock.
Mike Barcroft [Sat, 8 Feb 2003 20:37:55 +0000 (20:37 +0000)]
Implement fpclassify():
o Add a MD header private to libc called _fpmath.h; this header
contains bitfield layouts of MD floating-point types.
o Add a MI header private to libc called fpmath.h; this header
contains bitfield layouts of MI floating-point types.
o Add private libc variables to lib/libc/$arch/gen/infinity.c for
storing NaN values.
o Add __double_t and __float_t to <machine/_types.h>, and provide
double_t and float_t typedefs in <math.h>.
o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF,
HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to
<math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via
<machine/float.h>.
o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based
on the size of its argument. __fpclassifyl() is never called on
alpha because (sizeof(long double) == sizeof(double)), which is good
since __fpclassifyl() can't deal with such a small `long double'.
This was developed by David Schultz and myself with input from bde and
fenner.
Even if biff is turned off, we still need to set curoff as the code
uses that if there is an error writing to the mailbox. Note this bug
is only in the FreeBSD code, not the vendor code (which doesn't offer
nobiff).
Move the g_stat struct to its own .h file, we will export it to other code.
Insted of embedding a struct g_stat in consumers and providers, merely
include a pointer.
Remove a couple of <sys/time.h> includes now unneeded.
Add a special allocator for struct g_stat. This allocator will allocate
entire pages and hand out g_stat functions from there. The "id" field
indicates free/used status.
Add "/dev/geom.stats" device driver whic exports the pages from the
allocator to userland with mmap(2) in read-only mode.
This mmap(2) interface should be considered a non-public interface and
the functions in libgeom (not yet committed) should be used to access
the statistics data.