John Birrell [Fri, 8 May 1998 21:29:35 +0000 (21:29 +0000)]
Fix the problem people are having building -current on a -stable system.
The headers that are installed in WORLDTMP are part of the interface
that includes libraries like libc, so they must be installed together.
This means that lib-tools and build-tools should be merged. The FreeBSD
build only works in hosted form where it is assumed that the installed
version contains adequate tools to build the latest release.
In the SEE ALSO section, {get,set}rlimit are said to be in the section
3 which are actually in the section 2.
Pointed out by: Brian Reichert <reichert@numachi.com>
PR: 6480
Try experimenting with the split size a little in an effort to
move our installation structure a little further into the 20th century
(just before it's over).
Instigated by: Dag-Erling Coidan <dag-erli@ifi.uio.no>
Bruce Evans [Fri, 8 May 1998 07:56:48 +0000 (07:56 +0000)]
Translated to C (parameters in a function definition have the same scope
as variables declared in the main block in the function, so shadowing
of parameters by variables declared in the main block is not just an
obfuscation).
John Birrell [Fri, 8 May 1998 05:41:57 +0000 (05:41 +0000)]
This is a hack to workaround source that is coded to use long variables
but also assumes that they are 32-bits. This is one place where I don't
think it is appropriate to change 'long' to 'int'. I don't see why the
code couldn't be fixed so that using natural long variables does the
right thing. It's spaggetti code so it'll take some effort. Obviously
NetBSD thought so too because they change 'long' to 'int32_t' etc
and left it at that. As a temporary measure FreeBSD/Alpha can use the
NetBSD code and put this on the list of things to fix.
John Birrell [Fri, 8 May 1998 05:10:32 +0000 (05:10 +0000)]
Don't assign the va_list variable 'ap' directly to the argtable because
va_list is not a pointer on alpha. Instead, use the va_arg() macro
to return the address that is stored in the argtable.
Guido van Rooij [Thu, 7 May 1998 18:32:00 +0000 (18:32 +0000)]
Redo tcpmux stuff. tcpmux handling is now performed after inetd
forks. Furthermore, invalid input for tcpmux does not lead to
an exiting inetd.
This patch is recommended for people running tcpmux (which is NOT
enabled by default)
Julian Elischer [Thu, 7 May 1998 12:13:47 +0000 (12:13 +0000)]
An effort to make SLICE/DEVFS play with SCSI.
Apparently I didn't make my plans to make dev_t and devsw[] go away
under DEVFS quite clear enough to Peter Dufault as he stitched the SCSI
system together using them when he redid the configuration side of things.
This made is rather an effort to remove all vestiges of dev_t and
devsw[] entries from sd.c in DEVFS/SLICE mode.
Mike Smith [Thu, 7 May 1998 04:58:58 +0000 (04:58 +0000)]
In the words of the submitter:
---------
Make callers of namei() responsible for releasing references or locks
instead of having the underlying filesystems do it. This eliminates
redundancy in all terminal filesystems and makes it possible for stacked
transport layers such as umapfs or nullfs to operate correctly.
Quality testing was done with testvn, and lat_fs from the lmbench suite.
Some NFS client testing courtesy of Patrik Kudo.
vop_mknod and vop_symlink still release the returned vpp. vop_rename
still releases 4 vnode arguments before it returns. These remaining cases
will be corrected in the next set of patches.
---------
Submitted by: Michael Hancock <michaelh@cet.co.jp>
Bruce Evans [Wed, 6 May 1998 18:44:04 +0000 (18:44 +0000)]
Only include bsd.dep.mk in `mk'files that handle C sources. Abuse
bsd.obj.mk instead of bsd.dep.mk for defining the _SUBDIR target
and a default tags target. Abuse bsd.obj.mk for defining default
cleandepend and depend targets.
Andreas Klemm [Wed, 6 May 1998 17:36:16 +0000 (17:36 +0000)]
Overlooked, that newer naming convention is xxx_program instead of xxx_prog.
So changed it to ntpdate_program and xntpd_program.
Backout last change, now we have again named_program, sorry.
Andreas Klemm [Wed, 6 May 1998 17:26:48 +0000 (17:26 +0000)]
document ntpdate_prog and xntpd_prog
fix: named_program -> named_prog to reflect "real life"
(I suggest keeping this shorter name convention as it is
actually used in the config file)
Bruce Evans [Wed, 6 May 1998 15:01:18 +0000 (15:01 +0000)]
Regress to generating foo.c from foo.y via y.tab.c for crufty applications
that want a y.tab.h file. This want must be specified by putting y.tab.h
in SRCS (and defaulting to or putting -d in YFLAGS). This only works if
there is only one yacc parser, of course. One improvement: copy y.tab.c
to foo.c instead of renaming it, so that `#line...y.tab.c' statements in
it refer to an existing file.
Regress to not generating explicit rules for .l and .y sources containing
slashes. This case is unusual and hard to handle properly.
Don't generate an unused dependency when -d is not in YFLAGS.
Bruce Evans [Wed, 6 May 1998 13:23:39 +0000 (13:23 +0000)]
Use `foo/bar.a' instead of `-Lfoo -lbar' for linking to static internal
libraries, so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.
Use `DIR!= cd ...libbind; make -V .OBJDIR' to find libbind's object dir
if it doesn't seem to be in its usual place relative to ${.OBJDIR}.
This fixes `cd /usr/src/usr.sbin/nslookup; mkdir obj; make'.
The CHIOGSTATUS ioctl of the SCSI media changer driver (sys/scsi/ch.c)
is broken. It omits the SCSI_DATA_IN flag in the SCSI READ ELEMENT
STATUS command, which makes the 'chio status' command fail.
PR: 6528
Reviewed by: phk
Submitted by: Hans Huebner <hans@artcom.de>
Mike Smith [Wed, 6 May 1998 05:29:41 +0000 (05:29 +0000)]
As described by the submitter:
Reverse the VFS_VRELE patch. Reference counting of vnodes does not need
to be done per-fs. I noticed this while fixing vfs layering violations.
Doing reference counting in generic code is also the preference cited by
John Heidemann in recent discussions with him.
The implementation of alternative vnode management per-fs is still a valid
requirement for some filesystems but will be revisited sometime later,
most likely using a different framework.
Submitted by: Michael Hancock <michaelh@cet.co.jp>
John Birrell [Tue, 5 May 1998 21:59:19 +0000 (21:59 +0000)]
I have a long list of issues to address here, mostly related to
namespace and revision levels of ANSI and POSIX. This change only
removes the leading underscrore from the FILE locking functions
that POSIX defines.
John Birrell [Tue, 5 May 1998 21:54:26 +0000 (21:54 +0000)]
The __set_ospeed() function is coded against the speed_t type declared
in termios.h, but it's prototype in termcap.h and the main file use
the underlying definition (which is now an int, not a long for
compatibility with NetBSD). Really termcap.h should use speed_t too,
but I guess that this might break sources that don't include termios.h
first.
John Birrell [Tue, 5 May 1998 21:46:30 +0000 (21:46 +0000)]
In a threaded library, expect the lock field to be declared volatile,
so provide function prototypes that respect that, avoiding a gcc
warning that `volatile' is being thrown away.
Søren Schmidt [Tue, 5 May 1998 14:27:26 +0000 (14:27 +0000)]
Fix the 4-8G LBA geometry it was wrong.
Support >8G drives in CHS mode. This is done by guesstimating the
cylinder count from the LBA size reported. It works on my shiny
new Maxtor 11.5G drive, YMMV.
Reports from users of other big drives (read Quantum bigfoot's)
are welcome...
Bruce Evans [Tue, 5 May 1998 13:16:35 +0000 (13:16 +0000)]
Added y.tab.h to SRCS. This should have been used to get dependencies
on y.tab.h generated. It will soon be used to tell bsd.dep.mk that
y.tab.h itself needs to be generated.
Bruce Evans [Tue, 5 May 1998 13:00:26 +0000 (13:00 +0000)]
Put y.tab.h back in SRCS. This used to be the best way to get
dependencies on y.tab.h generated. It will soon be used to tell
bsd.dep.mk that y.tab.h itself needs to be generated.
Bruce Evans [Tue, 5 May 1998 07:36:55 +0000 (07:36 +0000)]
Backed out previous commit. It was tested, but not for the case where
a separate object tree doesn't exist. Crufty makefiles will have to
put y.tab.h in SRCS so that we know not to create foo.h from foo.y.
John Birrell [Tue, 5 May 1998 07:01:40 +0000 (07:01 +0000)]
Add a message about editing /etc/group to the beginning of the build.
FreeBSD needs a few groups that NetBSD doesn't provide by default. This
is annoying because it is the only thing that you need to do to a
NetBSD/Alpha system to bootstrap build FreeBSD/Alpha. Oh well, it
wouldn't be Unix without gratuitous differences, would it?
Bruce Evans [Tue, 5 May 1998 06:52:09 +0000 (06:52 +0000)]
Backed out previous change. Generating vgaio.h from vgaio.y clobbered
the source file vgaio.h, and y.tab.h is used so we can't simply avoid
generating the yacc header.
Bruce Evans [Tue, 5 May 1998 05:25:21 +0000 (05:25 +0000)]
Don't generate a2p.h or y.tab.h from a2p.y. Neither is actually used,
and building a2p.h clobbered the unrelated source file a2p.h if
${.OBJDIR} == ${.CURDIR}.
Robert Nordier [Mon, 4 May 1998 22:26:56 +0000 (22:26 +0000)]
Make compatible with standard what command:
Implement -s option
Keep going if a file is not found
Append ':' to printed filenames
Include backslash in terminal characters
Make exit status dependent on a match having been found
Revise manpage accordingly
John Birrell [Mon, 4 May 1998 22:01:27 +0000 (22:01 +0000)]
Add support for cross-architecture gases. Since the GNU code doesn't
support more than one architecture at a time, build as from the
default for the host and if CROSS_TOOLS defines other architectures,
build them as as_${arch}
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.