julian [Mon, 12 Jan 1998 06:51:07 +0000 (06:51 +0000)]
Allow a -D'date' option to be included with a -r'branch'
on a checkout.
this allows us to do:
cd /usr/src/sys
cvs update -rRELENGE_2_2 -D"Yesterday"
which has been a feature sorely needed for any project with active branches.
warning: this breaks on usr.sbin/pkg_install for some reason.
everything else works as advertised.
(other things allready break on pkg_install, so it's not the fault of
this patch, it just falls faul of another bug somewhere)
If I had more time I'd make -r always accept the same syntax as -j (tag:data)
dyson [Mon, 12 Jan 1998 01:46:33 +0000 (01:46 +0000)]
Fix some vnode management problems, and better mgmt of vnode free list.
Fix the UIO optimization code.
Fix an assumption in vm_map_insert regarding allocation of swap pagers.
Fix an spl problem in the collapse handling in vm_object_deallocate.
When pages are freed from vnode objects, and the criteria for putting
the associated vnode onto the free list is reached, either put the
vnode onto the list, or put it onto an interrupt safe version of the
list, for further transfer onto the actual free list.
Some minor syntax changes changing pre-decs, pre-incs to post versions.
Remove a bogus timeout (that I added for debugging) from vn_lock.
PHK will likely still have problems with the vnode list management, and
so do I, but it is better than it was.
peter [Sun, 11 Jan 1998 11:43:36 +0000 (11:43 +0000)]
Add an option (-M) to install to disable use of mmap(2). This is kinda
handy at the moment with -current's mmap+unlink interactions.. The
problems seem worst when using INSTALL="install -C" in /etc/make.conf.
This could well come in handy in the future too.
jb [Sun, 11 Jan 1998 04:51:02 +0000 (04:51 +0000)]
Test for ${MACHINE} == "alpha" and include the bootstrap makefile instead
of doing the normal build. When the alpha bootstrap is complete (there
is more work to do!), the alpha will build like the i386 does now.
I changed i386 references to ${MACHINE} now that we're multi-architecture.
jb [Sun, 11 Jan 1998 04:46:02 +0000 (04:46 +0000)]
This makefile provides a bootstrap installation of FreeBSD on an installed
NetBSD/Alpha 1.3 system. It currently skips things like libc, ld, gas
but correctly (I think) builds gcc, cpp, g++ and other FreeBSD build
tools that are needed to build the rest of the system.
jb [Sun, 11 Jan 1998 04:39:46 +0000 (04:39 +0000)]
Add the alpha MD files for gcc to product ELF for FreeBSD/Alpha.
See freebsd.h and freebsd-elf.h for the silly comment that cgd@netbsd.org
wanted me to add about his claim that uncommented source files that
have been publicly available for ftp for nearly a year; that are
configuration patches to a GPL'ed program; are owned by his previous
employer who refuses to release them. Well... I did as he said. As if
that makes a difference!
At this point we've got cpp, gcc, g++ ported to FreeBSD/Alpha so all
the code that uses __FreeBSD__ is correctly pre-processed. Yay.
I'll commit the bootstrap makefile next to let others play, then on
to libc.
jb [Sun, 11 Jan 1998 04:13:25 +0000 (04:13 +0000)]
More i386 -> ${MACHINE} changes to make this Makefile machine
independent. It makes it look like you can get aout on alpha, but
that's just your imagination. The makefile above gives you no choice.
jb [Sun, 11 Jan 1998 04:10:26 +0000 (04:10 +0000)]
Replace i386 references with ${MACHINE} to make this makefile almost
machine independent, with the only dependency being the binary format
to build. We only expect to build ELF on alpha although we'll need
ECOFF compatibility with Digital Unix.
jb [Sun, 11 Jan 1998 03:46:26 +0000 (03:46 +0000)]
Move _JBLEN definition to <machine/setjmp.h> like on NetBSD. Remove
definitions for architectures that we don't have libc MD source for.
Change 'int' to 'long' in sigjmp_buf and jmp_buf structures so
that they are suitable for the register size on both i386 and alpha.
Although FreeBSD defines these structures differently to NetBSD,
the element size is now the same.
If Bruce doesn't like this [8-)], we'll need to add a typedef to
each <machine/setjmp.h> and use that in <setjmp.h>.
jkh [Sun, 11 Jan 1998 02:16:38 +0000 (02:16 +0000)]
Add ppp, at long last, back to GENERIC. We have enough room in the
kernel for it and I'm tired of reading the "This system lacks kernel
support for PPP..." line in people's tech support messages.
jb [Sat, 10 Jan 1998 22:09:53 +0000 (22:09 +0000)]
Header files which are linked from /usr/include to /usr/include/machine.
NetBSD's endian.h needs sys/types.h for the typedefs that are used to
get htonl() correct when a long is 64 bits.
jb [Sat, 10 Jan 1998 21:36:34 +0000 (21:36 +0000)]
A partial frontal lobotomy for find if using the NetBSD libc which
doesn't know about getvfsbyname() and the vfsconf structure. This
disables the -fstype option if compiled with a pre-processor that
defines __NetBSD__. With the FreeBSD built pre-processor, find can only
be built with the FreeBSD libc. So when running with a NetBSD kernel,
FreeBSD's libc will have to return ENOSYS for things that NetBSD
doesn't support. That's life in a hybrid world.
alex [Sat, 10 Jan 1998 20:11:06 +0000 (20:11 +0000)]
Pass an actual empty environment to execle() as per POSIX rather than
rely on undocumented behavior.
The following fixes were obtained from OpenBSD:
o -Wall fixes to tlist array initialization and assignment used
as truth value.
o Use a restricted environment.
o Improved error message when shutdown fails to exec reboot or halt.
jb [Sat, 10 Jan 1998 10:13:16 +0000 (10:13 +0000)]
These are a few of the alpha machine dependent header files - the first
referenced by the build of user-space libraries. These files were
obtained from NetBSD (with ansi.h being modified to reflect the FreeBSD
off_t and pid_t implementation).
jb [Sat, 10 Jan 1998 09:09:24 +0000 (09:09 +0000)]
Bruce says that ${.CURDIR}/csu/${MACHINE} will prevent finding a
stale obj directory and we wouldn't want to do that! I trust he knows
what he's talking about. 8-)
Also avoid building libm at all until the NetBSD asm code is imported.
I wrongly commented this out last time. Oops.
bde [Sat, 10 Jan 1998 07:29:10 +0000 (07:29 +0000)]
Fixed change prerequisites for <net/if_arp.h>:
- don't declare `struct arpcom' except in the kernel, so that there is no
dependency on <net/if.h> except in the kernel. This may break something
else.
- spell ETHER_ADDR_LEN as 6 again, so that there is no dependency on
<net/ethernet.h> even in the kernel.
jdp [Sat, 10 Jan 1998 05:36:35 +0000 (05:36 +0000)]
Make the ".set" directive copy the aux field when the expression
reduces to a relocatable symbol plus an offset. This preserves
the symbol type information (function vs. object). It is important
for SVR4-style weak symbols, e.g., "#pragma weak foo=bar". Without
this change, the linker complains that the jmpslot entry is not a
function.
brian [Sat, 10 Jan 1998 01:55:11 +0000 (01:55 +0000)]
Implement Reset{Req,Ack} properly, as per rfc 1962.
(I completely mis-read the rfc last time 'round!)
This means:
o Better CCP/WARN Reset diagnostics.
o After we've sent a REQ and before we've received an ACK, we drop
incoming compressed data and send another REQ.
o Before sending an ACK, re-sequence all pending PRI_NORMAL data in
the modem queue so that pending packets won't get to the peer
*after* the ResetAck.
o Send ACKs with the `identifier' from the REQ frame.
o After we've received a correct ACK, duplicate ACKs are ok (and will
reset our history).
o Incorrect ACKs (not matching the last REQ) are moaned about and dropped.
Also,
o Calculate the correct FCS after compressing a packet. DEFLATE
*may* produce an mbuf with more than a single link in the chain,
but HdlcOutput didn't know how to calculate the FCS :-(
o Make `struct fsm'::reqid a u_char, not an int.
This fix will prevent us from sending id `255' 2,000,000,000 times
before wrapping to `0' for another 2,000,000,000 sends :-/
o Bump the version number a little.
The end result: DEFLATE now works over an unreliable link layer.
I can txfr a 1.5Mb kernel over a (rather bad) null-modem
cable at an average of 21679 bytes per second using rcp.
Repeat after me: Don't test compression using a loopback ppp/tcp setup as
we never lose packets and therefore never have to reset!
yokota [Fri, 9 Jan 1998 09:06:55 +0000 (09:06 +0000)]
- Produce the accent letter if the user hits the accent key twice.
(accent_key + space does still print the accent letter too, as in
the previous commit.)
Requested by a couple of users.
- Clear the accent flag when the next_screen key is pressed.
- Added some comment lines regarding accent key processing.
Add __NetBSD__ in a couple of places to allow this program to
compile under NetBSD, but behave like FreeBSD. For the time being,
look for NetBSD's cpp in /usr/bin.
Make a couple of the stat flags dependent on the sys/stat.h header file
that this source is compiled against. This source is referenced by
install which is needed as a build tool and must be able to compile
against NetBSD headers and libraries if we have a hope of supporting
another architecture.
With this change, that's two working programs down and 3945 (?) to go.
The other one was make, but that didn't need any changes to work under
FreeBSD/Alpha. 8-)
Allow install to build from FreeBSD source using NetBSD tools and
headers during the port of FreeBSD to a NetBSD supported architecture.
FreeBSD needs to be able to install itself from very early on.
Build lib/csu/${MACHINE} only if it exists so that when porting FreeBSD
to another architecture (in this case the Alpha) we can continue to use
the host csu objects (from NetBSD). This should be a non-function change
to FreeBSD/i386.
sef [Fri, 9 Jan 1998 00:39:10 +0000 (00:39 +0000)]
Proper way to do the previous mis-commit. Still not quite right, because
some header files (e.g., <err.h>) include <machine/something.h>, and this
will not pick up the right header files, so it may be removed eventually
anyway. But some people who are not willing to build the right way
apparantly want this, so this is for them.
sef [Fri, 9 Jan 1998 00:22:50 +0000 (00:22 +0000)]
Get rid of the bogus include -- it is incomplete (as it doesn't handle
anything other than <sys/*.h>), and unnecessary in most cases. (The
situations where it is necesary can be dealt with by manually-made symlinks,
which is acceptable since they should only occur during testing. Remember:
the tree does not compile well if you do not have matching header files
installed. Half-baked -I directives don't cover enough of the cases.)
eivind [Thu, 8 Jan 1998 23:42:31 +0000 (23:42 +0000)]
Make INET a proper option.
This will not make any of object files that LINT create change; there
might be differences with INET disabled, but hardly anything compiled
before without INET anyway. Now the 'obvious' things will give a
proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The
only thing that _should_ work (but can't be made to compile reasonably
easily) is sppp :-(
This commit move struct arpcom from <netinet/if_ether.h> to
<net/if_arp.h>.