Bruce Evans [Sun, 12 Jul 1998 10:47:32 +0000 (10:47 +0000)]
Removed historical dependencies on `Makefile'. They had rotted to being
mostly for objects that have the fewest dependencies on `Makefile'
(since they were mostly for utilities and objects generated from *.s
and these don't depend on profiling flags).
Give an explicit rule for building vnode_if.o. This fixes building
it without ${PROF}.
Use .ORDER instead of a stamp file to avoid building vnode_if.[ch]
concurrently.
Removed explicit dependencies that will be generated by `make' (.c.o)
or will be generated by mkdep.
Added missing dependencies of special objects on opt_global.h.
Use ${NORMAL_C} instead of special rules for special objects where
possible.
Stefan Eßer [Sun, 12 Jul 1998 09:07:36 +0000 (09:07 +0000)]
Fix proxy authorization code:
- failed to use authorization parameters passed in the environment, if
/dev/tty could not be opened (i.e. if running from cron)
- mixed use of /dev/tty and stdin for prompt and reading of the result
Bruce Evans [Sun, 12 Jul 1998 08:10:33 +0000 (08:10 +0000)]
Convert the maxusers directive to a normal MAXUSERS option (normally
define MAXUSERS in opt_param.h as directed in /sys/conf/options;
if it's not mentioned there, then define it in IDENT; never define
it in PARAM). MAXUSERS probably should be a completely normal option.
Don't define PARAM now that it is empty.
Cleaned up similar conversion of cpu directives to XXX_CPU options.
Bruce Evans [Sun, 12 Jul 1998 02:31:08 +0000 (02:31 +0000)]
Warn about redefined options. Keep using the last value processed.
Options are processed reverse file order, so the first definition in
the config file wins (except for directives that are converted to
option).
Bruce Evans [Sun, 12 Jul 1998 02:18:41 +0000 (02:18 +0000)]
Fixed off-by-1 errors in option line numbers. yyline is 0-based, but
was used as if it is 1-based. This happened to give the correct result
for options without values because of a compensating error in newline
lexing. Didn't fix the latter, so line numbers in yyerror() may still
be 1 too high in some cases.
Bruce Evans [Sat, 11 Jul 1998 13:06:41 +0000 (13:06 +0000)]
Moved definition of fscale from param.c to kern_synch.c where it
should always have been (it has no user-servicable parts even at
compile time) and staticized it.
Don't disable pmap_setdevram() which isn't called, but which could be,
but instead disable pmap_setvidram() which is called, but probably
shouldn't be.
Bruce Evans [Sat, 11 Jul 1998 04:58:25 +0000 (04:58 +0000)]
Don't pretend to support ix86's with 16-bit ints by using longs
just to ensure 32-bit variables. Doing so broke and/or pessimized
i386's with 64-bit longs (unnecessary use of 64-bit variables
caused remarkably few problems in C code, but the inline asm here
tended to fail because there are no 64-bit registers). Since the
interfaces here are very machine-dependent and shouldn't be used
outside of the kernel, use a standard types of "known" width instead
of fixed-width types.
Changed all quad_t's to u_int64_t's. quad_t isn't standard, and
using signed types for 64-bit registers was bogus (but made no
difference).
Bruce Evans [Sat, 11 Jul 1998 04:02:49 +0000 (04:02 +0000)]
Don't pretend to support ix86's with 16-bit ints by using longs just
to ensure 32-bit variables. Doing so broke i386's with 64-bit
longs. Use fixed-size integral types instead of plain ints, shorts,
chars and pointers since the bootinfo struct layout is a binary
interface. The boot blocks could reasonably be implemented using
16-bit code.
Bruce Evans [Fri, 10 Jul 1998 09:26:41 +0000 (09:26 +0000)]
Oops, fptrint_t still needs to be declared in <machine/profile.h> in the
!KERNEL case. The kludge to get it declared in libc/gmon/mcount.c wasn't
sufficient because fptrint_t is used in <sys/gmon.h>.
Bruce Evans [Fri, 10 Jul 1998 02:27:16 +0000 (02:27 +0000)]
Added a kernel-only typedef (ptrint_t) giving an integral type that is
least unsuitable for holding an object pointer. This should have been
used to fix warnings about casts between pointers and ints on alphas.
Moved corresponding existing general typedef (fptrint_t) for function
pointers from the i386 <machine/profile.h> to a kernel-only typedef
in <machine/types.h>. Kludged libc/gmon/mcount.c so that it can
still see this typedef.
Guy Helmer [Thu, 9 Jul 1998 14:06:54 +0000 (14:06 +0000)]
Security and minor functionality changes based on OpenBSD msgs.c:
tmp file (mktemp changed to mkstemp), saved POSIX uids, buffer overflow,
and use PAGER environment variable if set.
Obtained from: OpenBSD
The file share/timedef/data/es_ES.ISO_8859-1.src (which I submitted
some months ago and was incorporated to FreeBSD) has capitalized
weekdays names, but this is not correct according to the rules of the
Spanish language.
Also, the patch applies a small change to the "date_fmt" string, adding
a comma between the year and the hour.
PR: 7211
Submitted by: Jose M. Alcaide <jose@we.lc.ehu.es>
Joseph Koshy [Thu, 9 Jul 1998 04:28:19 +0000 (04:28 +0000)]
fix description of `-C' option to match behaviour in the sources:
`-C' can be used both when creating and extracting files. Further,
a `-C' inside the argument list causes a `chdir()' to the named
directory before the subsequent filename arguments to be interpreted.
Don't update superblock if mounted readonly,
also fixes some problems with softupdates on root.
More cleanups are needed here..
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
Jacques Vidrine [Wed, 8 Jul 1998 15:40:53 +0000 (15:40 +0000)]
Allow either an IP address or an interface to be specified in
the rc.conf variable ``natd_interface''. rc.network will
determine whether it is an IP address or an interface name,
and invoke natd with the -a or -n flag as appropriate.
Bruce Evans [Wed, 8 Jul 1998 10:41:32 +0000 (10:41 +0000)]
Fixed (un)sign extension bugs in %+n format. -4 became
(long)(u_long)(u_int)-4 = 0x00000000fffffffc on machines with 32-bit
ints and 64-bit longs.
Restored %z format for printing signed hex. %+x shouldn't have been
used since it is an error in userland.
Prepared to nuke %n format by cloning it to %r. %n shouldn't have
been used because it means something completely different in
userland. Now %+r is equivalent to ddb's original %r, and %r is
equivalent to ddb's original %n.
Ignore '+' flag in combination with unsigned formats %{o,p,u,x}.
Bruce Evans [Wed, 8 Jul 1998 09:11:43 +0000 (09:11 +0000)]
Fixed bogus type of valuep in struct db_variable. It was `int *' and
became `long *' for alpha, but should always have been `db_expr_t *'.
Fixed variable types to match.
Bruce Evans [Wed, 8 Jul 1998 06:27:22 +0000 (06:27 +0000)]
Fixed db_printf format errors (except for ones using broken extensions
(nonstandard %n and '+' with %x), and ones not found by -Wformat on
386's (some db_expr_t's are still printed as ints).
I decided not to change the arg type for %n from [unsigned] int to
register_t, since about half of the uses of %n are to print plain
ints and casting to [unsigned] long for %n is no harder than for %x.