John Birrell [Mon, 4 May 1998 21:13:50 +0000 (21:13 +0000)]
Since the makefiles below binutils with the architecture extension
are now included according to the cross-architecture support required,
default the BINDIR for i386 to /usr/libexec/elf here instead of in
all the i386 specific makefiles. For all other architectures, BINDIR
is just /usr/bin.
John Birrell [Mon, 4 May 1998 21:10:56 +0000 (21:10 +0000)]
Add makefile support for cross-architectures. Allow CROSS_TOOLS to
be defined (in /etc/make.conf, say) and set to the additional architectures
that need to be compiled in. So on alpha I set CROSS_TOOLS = i386.
On i386 you can't build alpha due to lack of 64-bit support on 32-bit
architectures, but that's a GNU problem.
This change relies on makefiles in the binutils sub-directories having
the extension defined in the CROSS_TOOLS, instead of those makefiles
being selected based on the host architecture.
Guido van Rooij [Mon, 4 May 1998 17:59:52 +0000 (17:59 +0000)]
Refuse accellerated opens on listening sockets that have not set
the TCP_NOPUSH socket option.
This disables TAO for those services that do not know about T/TCP.
Reviewed by: Garrett Wollman
Submitted by: Peter Wemm
Bruce Evans [Mon, 4 May 1998 17:56:22 +0000 (17:56 +0000)]
Simplified using new yacc rules. This is cosmetic - the old rules
worked because .ORDER prevented problems from concurrent generation
of multiple parsers (and their headers), and there were no missing
dependencies because the generated headers were not actually used.
John Dyson [Mon, 4 May 1998 17:43:48 +0000 (17:43 +0000)]
Correct an error that I made where the vtruncbuf was changed back
to vinvalbuf, but I incorrectly added the "V_SAVE|V_SAVEMETA" flags.
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
Bruce Evans [Mon, 4 May 1998 16:58:50 +0000 (16:58 +0000)]
Simplified using new yacc rules. This is cosmetic - the old rules worked
with `make -jN' because they did the right things to generate cexp.h
without clobbering cexp.c, and there were no missing dependencies on
cexp.h because cexp.h isn't actually used.
Bruce Evans [Mon, 4 May 1998 16:18:57 +0000 (16:18 +0000)]
Symlink awk.y to awktab.y so that the default yacc rules apply, and use
the (new) default yacc rules. This is cosmetic - the special rule was
good enough here because y.tab.h is not used.
Bruce Evans [Mon, 4 May 1998 13:54:41 +0000 (13:54 +0000)]
Generate explicit rules and other infrastructure for lex and yacc
sources. This will be used to fix `make -jN' races in many
Makefiles in /usr/src, and to simplify these and other Makefiles.
To get the fixes and simplifications, application Makefiles should
put the raw lex and yacc source names (foo.l and bar.y) in SRCS and
not put the names of any generated files in SRCS or CLEANFILES. A
few Makefiles already do this, although it didn't actually work before
(mkdep couldn't create complete dependencies because there is no
intermediate .c file for the .y.o and .l.o implicit rules).
Complications: if bar.y is in SRCS and -d is in YFLAGS, then bar.h
will be generated whether or not it is used, even if this clobbers a
real source file. This is so that bar.c can be generated using the
-j-safe and debugger-friendly -o option to YACC. There are smaller
warts for handling y.tab.h. y.tab.c and lex.yy.c are not supported.
Just the sans-serif console font that I use on my system; I've made the
letters one pixel taller, and the ()[]{} are more distinct. Nice if
your monitor is small. 8x16 and 8x8 fonts included.
PR: 4208
Reviewed by: phk
Submitted by: Dan Nelson <dnelson@emsphone.com>
Martin Cracauer [Mon, 4 May 1998 07:24:10 +0000 (07:24 +0000)]
When calling a shell function, remember whether exit status is tested.
This is needed for the '-e' option. See the PR for more details.
PR: 6047
Reviewed by: PR submitter, silence on review request.
Patches are given here for pcisupport.c to recognise most of VIA
Technologies' Socket 7 chipsets. This covers all of the Apollo chipsets
except the Master (82C570) and the MVP3, and it also covers the cheap
VXPro and VXTWO knockoffs of the VP1 and VPX.
PR: 6481
Reviewed by: phk
Submitted by: Lee Cremeans <lcremean@tidalwave.net>
Peter Wemm [Sun, 3 May 1998 05:25:09 +0000 (05:25 +0000)]
Put named-bootconf (the script to convert named.boot to named.conf) in
/usr/sbin rather than in /etc/namedb (make install isn't supposed to touch
/etc)
Peter Wemm [Sun, 3 May 1998 04:55:44 +0000 (04:55 +0000)]
Update for some -current quirks, and some other things taken from the
*bsd bind-8 ports.
(our setpwent() was changed to return void, but our setgrent() returns
int still!)
Bruce Evans [Sun, 3 May 1998 04:17:48 +0000 (04:17 +0000)]
Backed out previous commit. chown(8) doesn't follow symlinks by
default, at least in BSD. This used to be automatic, because chown(2)
didn't follow symlinks. When chown(2) was changed to follow symlinks
in BSD4.4, chown(8) was changed to not follow symlinks by default.
The previous commit broke this. The first victim was bsd.prog.mk,
which uses a plain chown in an attempt to change the ownership of the
symlinks to `dm' in /usr/games. This fails when it is done before
dm is installed, or messes up the ownership of dm if dm is installed.
Unfixed problems:
1. When lchown(2) was implemented, chown(8) wasn't changed to implement
the historical behaviour of changing ownership of symlinks. I'm not
sure if it should have been. The -HLP options give more complete
control, but they unfortunately don't apply unless the -R option is
specified (a problem shared with other commands, e.g., cp; I guess
we're supposed to use -R even for non-recursive traversals).
2. If we implement the historical behaviour, then -h would become a no-op
and should be left undocumented.
3. The man page suggests that without option -h, all symlinks (to files
specified in the command line?) are followed. It's not clear what
"the file" is. These bugs were introduced when -h was documented.
4. The correct interaction of -h with the other flags is not clear.
Peter Wemm [Sat, 2 May 1998 15:51:54 +0000 (15:51 +0000)]
Resolve some unexpected differences when comparing with the 2.2 version.
One bug was relatively harmless (select's timeout had an uninitialized
tv_usec), the other I'm not so sure.. (neglected to catch select returns
less than zero). Both of these were irrelevant on kernels with poll().
Peter Wemm [Sat, 2 May 1998 13:11:02 +0000 (13:11 +0000)]
Update libc dns code to 4.9.7-T1B level. This involved chopping out large
chunks of res_comp.c and replacing it with chunks of bind-8.1.1's resolver
code. (There are no interface changes though)
The other parts are better bounds checking related.
John Dyson [Sat, 2 May 1998 06:36:16 +0000 (06:36 +0000)]
Another minor cleanup of the split code. Make sure that pages are
busied during the entire time, so that the waits for pages being
unbusy don't make the objects inconsistant.
John Birrell [Sat, 2 May 1998 03:28:43 +0000 (03:28 +0000)]
If not interactive, we need the traditional behaviour of the input
not being echoed to the output. So as a _hack_ to get the world building
again, redirect the readline rl_outstream to stderr when not interactive.
The proper way to handle non-interactive mode is to read from stdin
and don't worry about edit mode, but this is GNU so it's not worth the
time thinking about. I'm already pissed off that I even had to look
at this "nice code".
Peter Wemm [Sat, 2 May 1998 03:02:13 +0000 (03:02 +0000)]
Seatbelts for vm_page_bits() in case a file offset is passed in rather than
the page offset. If a large file offset was passed in, a large negative
array index could be generated which could cause page faults etc at worst
and file corruption at the least. (Pages are allocated within file
space on page alignment boundaries, so a file offset being passed in here
is harmless to DTRT. The case where this was happening has already been
fixed though, this is in case it happens again).
Bruce Evans [Fri, 1 May 1998 18:10:50 +0000 (18:10 +0000)]
Support compiling with `gcc -ansi'. Just use __inline instead of inline.
[__]inline is only used to bloat the code here. It gives a separate copy
of all the strings for each time this header is included...
Bruce Evans [Fri, 1 May 1998 16:29:27 +0000 (16:29 +0000)]
Partially fixed write clustering for cases where cluster_wbuild() is
called from vfs_bio_awrite() without going through cluster_write()
or ufs_bmaparray(), in particular for all writes to block disk devices.
Only ufs_bmaparray() sets vp->v_maxio in a correct way, and it doesn't
seem to be called early enough even for regular files.
Peter Wemm [Fri, 1 May 1998 15:10:59 +0000 (15:10 +0000)]
vm_page_is_valid() wasn't expecting a large offset argument, it's
expecting a sub-page offset. We were passing the file position,
and vm_page_bits() could do some interesting things when base was
larger PAGE_SIZE.
if (size > PAGE_SIZE - base)
size = PAGE_SIZE - base;
is interesting when (PAGE_SIZE - base) is negative. I could imagine that
this could have interesting consequences for memory page -> device block
bit validation.
Bruce Evans [Fri, 1 May 1998 14:44:00 +0000 (14:44 +0000)]
Fixed apparent bitrot (`=' changed to `?=') in the definition of BINDIR
in the previous commit. Just don't define it here at all. This works
now that the default is inherited properly.
Bruce Evans [Fri, 1 May 1998 14:37:36 +0000 (14:37 +0000)]
Removed self-inclusion-prevention ifdef. It is unnecessary now that
bsd.man.mk doesn't include ${.CURDIR}/../Makefile.inc.
Removed GDBDIR-redefinition-prevention ifdef. It hasn't done anothing
for a long time, if ever. The directory is defined to the same value in
each subdir and had the same value because all subdirs are at the same
level. Keep defining it in the subdirs since that is more flexible and
no more verbose.
Prepare to inherit BINDIR by including ../Makefile.inc.