1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
Commit Graph

29993 Commits

Author SHA1 Message Date
Bruce Evans
e0c38587af 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}.
1998-07-08 10:41:32 +00:00
Bruce Evans
3da6ef3c3a 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.
1998-07-08 09:11:43 +00:00
KATO Takenori
e809645c27 Sync with sys/i386/isa/syscons.c revision 1.265. 1998-07-08 08:54:38 +00:00
KATO Takenori
5c59deba3c Sync with sys/i386/boot/netboot/Makefile revision 1.19. 1998-07-08 08:53:43 +00:00
David Greenman
0af8d3ec72 When not acting as a router (ipforwarding=0), silently discard source
routed packets that aren't destined for us, as required by RFC-1122.
PR: 7191
1998-07-08 08:49:51 +00:00
Bruce Evans
90163a9b33 Fixed db_printf format errors. 1998-07-08 06:43:57 +00:00
Sean Eric Fagan
c5edb423c6 Add support for run-time configuration of core file names. In a nutshell,
you can specify the corefile name by using:

	sysctl -w kern.corefile="format"

where format is a pathname (relative or absolute -- default is "%N.core"),
with "%N" (process name), "%P" (process ID), and "%U" (user ID) formats.

Reviewed by:	Mike Smith, with strong requests by Julian :)
1998-07-08 06:38:39 +00:00
Bruce Evans
b1bf7bc679 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.
1998-07-08 06:27:22 +00:00
John Polstra
2f278eac1f Add a "-k" option, to specify that the lock file should be kept
rather than removed.

Submitted by:	Nick Barnes <Nick.Barnes@pobox.com>
1998-07-08 05:29:05 +00:00
Peter Wemm
e77902181c Merge changes from vendor branch. 1998-07-08 01:24:37 +00:00
Julian Elischer
6deaf84b1f Catch a few corner cases where FreeBSD differs enough from BSD 4.4 to
confuse Soft updates..
Should solve several "dangling deps" panics.
1998-07-08 01:04:33 +00:00
Peter Wemm
b5fe8fabda New flag for internal stdio use to enable dynamic string allocation for
asprintf() implementation.

Obtained from: Todd Miller <Todd.Miller@courtesan.com> via OpenBSD
1998-07-08 00:52:40 +00:00
Bruce Evans
07b64a25d2 Use a different hack for building libgcc2: `XCC= ${CC}' instead of
`XCC= <relative cc> -B<path to relative cc1> ...'.  This is equivalent
when cc and cc1, etc. have just been bootstrapped by `make world'.
The relative versions normally won't work if the target system is
not binary compatible.  Bootstrapping different versions of gcc
without going through `make world' is slightly more broken than
before.

Uniformized macro names (P1OBJS -> LIB1POBJS, etc.).

Don't give full paths to sources.
1998-07-08 00:45:50 +00:00
Peter Wemm
64a965e707 Replace my original asprintf() and vasprintf() hacks with something
more cleanly integrated with stdio.  This should be faster and cleaner
since it doesn't memcpy() the data into a seperate buffer.  This lets
stdio allocate and manage the buffer and then hand it over to the user.

Obtained from: Todd Miller <Todd.Miller@courtesan.com> via OpenBSD
1998-07-08 00:44:56 +00:00
Bruce Evans
0cc5719c0a Use the installed versions of cc, cc1 and cpp for building underscore.
They have been bootstrapped by `make world' since long before the
hacks here were cloned from ../libgcc/Makefile.  The versions just
built in "../*" normally won't work if the target system is not binary
compatible.

Don't use OBJS to defeat `make depend'; just put generated sources in
SRCS.

Added temporary files to CLEANFILES.
1998-07-08 00:14:15 +00:00
Bruce Evans
36c1af94e2 Use the installed version of perl for `make install'. It is now
bootstrapped by `make world'.  The version just built in ".."
normally won't work if the target system is not binary compatible.
1998-07-07 23:44:43 +00:00
John Polstra
5f9f3cb473 Add definitions for PT_LOPROC and PT_HIPROC.
Submitted by:	Kapil Chowksey <kchowksey@hss.hns.com>
1998-07-07 23:32:57 +00:00
Bruce Evans
f7bebafb62 Use the installed version of perl for `make depend'. It is now
bootstrapped by `make world'.  The version just built in ".."
normally won't work if the target system is not binary compatible.
The bootstrapped version has a better chance of working.

This makes the fixes and bugs in the previous 3 commits irrelevant.
Rev.1.11 was just wrong and rev.1.10 became unnecessary when
perl/perl was added to build-tools.  Don't expect to build perl/usub
without using `make world' or equivalent if you don't have perl
installed.
1998-07-07 23:32:39 +00:00
Bruce Evans
42ff1492ee Use the installed version of mklocale for `make all'. It is now
bootstrapped by `make world'.  The version just built in ".."
normally won't work if the target system is not binary compatible.

Don't build or install anything if _BUILD_TOOLS is defined.  Then
we only want to build and install the mklocale binary, but the layout
of the mklocale tree forces recursing to mklocale/data for at least
the obj target even when _BUILD_TOOLS is defined.
1998-07-07 23:05:59 +00:00
Bruce Evans
563030afa1 Use the installed version of colldef for `make all'. It is now
bootstrapped by `make world'.  The version just built in ".."
normally won't work if the target system is not binary compatible.

Don't build or install anything if _BUILD_TOOLS is defined.  Then
we only want to build and install the colldef binary, but the layout
of the colldef tree forces recursing to colldef/data for at least
the obj target even when _BUILD_TOOLS is defined.
1998-07-07 23:04:25 +00:00
Jordan K. Hubbard
df1da01e0e Previous fix didn't make it past the Bruce filter. Clean up
non-KNF indentation and use err() properly.
1998-07-07 22:20:50 +00:00
Jordan K. Hubbard
0b1778905f msgs -p (and maybe other flags, too) gives misleading error messages,
especially on a new install, where /var/msgs/bounds doesn't exist.  I
        moved my bounds file out of the way to create this before and after
        on a quick 'n' dirty hack, which is probably the 23rd best way to do it,
        but it works:

PR:		6963
Submitted by:	Matthew Fuller <fullermd@mortis.futuresouth.com>
1998-07-07 12:02:59 +00:00
Bruce Evans
1d86f959b6 Oops, don't build tools for building games, etc. when we're not building
games, etc.

Define _BUILD_TOOLS in sub-makes for building tools.  This will be used
to avoid using uninstalled tools in colldef and mklocale.
1998-07-07 09:59:48 +00:00
Bruce Evans
07d8ec4c17 Use the installed versions of caesar and strfile. They are now
bootstrapped by `make world', and the installed versions are just
as likely to work as the installed version of cc if `make' is run
directly.
1998-07-07 06:22:23 +00:00
Bruce Evans
274068262c Build internal tools in build-tools so that they have some chance of
working when the target system is not binary compatible.  Use various
hacks to work around minor problems in the source and binary tree
layouts:
- caesar and strfile are built normally (the source layout is good),
  then installed by copying them to ${WORLDTMP}/usr/bin (they are
  installed in ${WORLDTMP}/usr/games, but I don't want to put that
  in $PATH).
- colldef and mklocale are built and installed normally.  Messy and
  incomplete relative path searches for them and caesar and strfile
  can now go away.
- internal tools that aren't installed are now built and left lying
  around for the `make all' pass to use.  If the target system is
  not binary compatible, it is critical that these tools don't get
  rebuilt.  Cleaning of the obj tree before building the internal
  tools should ensure this.
- most internal tools are built using internal build-tools targets,
  but tn3270 is simpler for a change - it has all the tools in a
  separate tree, so they can be built using `make all'.
1998-07-07 05:37:34 +00:00
Bruce Evans
6aa42d9a4e Changed #if defined(i386)' to #ifdef __i386__'.
`#if defined(ONE_THING)' is a style bug, and i386 instead of __i386__
is a bug, since i386 is never defined when the kernel is compiled
by with the default flags (`gcc -ansi ...').  Here the bug disabled
the call to pmap_setvidram(), so ISA video memory was not mapped
WC on 686's.  The bug may have been masked by bugs in the committer's
version of gcc - `gcc -ansi' incorrectly defines i386 for gcc = the
version of egcs on the 2.2.6 cdrom.
1998-07-07 05:00:09 +00:00
Bruce Evans
c4ebf24f6e Don't depend on gcc's feature of casting lvalues. 1998-07-07 04:36:23 +00:00
Bruce Evans
a9a252909a Don't assume that longs are 32 bits in struct dos_partition. 1998-07-07 04:19:25 +00:00
Bruce Evans
96eb19e1a3 Quick fix for type mismatches which were fatal if longs aren't 32
bits.  We used a private, wrong, version of `struct dirent' to help
break getdirentries(), and we use a silly check that the size of this
struct is a power of 2 to help break mount() if getdirentries() would
not work.  This fix just changes the struct to match `struct dirent'
(except for the name length).
1998-07-07 04:08:44 +00:00
Bruce Evans
96cf6a722f Added a `build-tools' target for internal tools.
Honor LDFLAGS for building internal tools.
1998-07-07 02:43:26 +00:00
Bruce Evans
4ef3e8aa33 Added a `build-tools' target for internal tools.
Honor LDFLAGS for building internal tools.
1998-07-07 02:30:45 +00:00
Bruce Evans
90665a1b48 Finished previous fix - don't forget to add one dummy options header
to CLEANFILES.

Fixed lots of style bugs.
1998-07-07 02:27:09 +00:00
Bruce Evans
8c1a5985d2 Added a `build-tools' target for internal tools. (linux_genassym may
not actually work for cross compiling, but that is another problem.)

Honor LDFLAGS for building internal tools.  (Tools should normally
be built static to avoid problems with picking up target shared
libraries.  bsd.kmod doesn't set -static yet, and has some problems
with `LDFLAGS=-static ...' in the environment.)
1998-07-07 02:04:20 +00:00
Bruce Evans
6d31e616a0 Added a `build-tools' target for internal tools. 1998-07-07 01:51:18 +00:00
Bruce Evans
da1a06c3c3 Added a `build-tools' target for internal tools.
Honor LDFLAGS for building internal tools.
1998-07-07 01:43:54 +00:00
Bruce Evans
5325b598c0 Added a `build-tools' target for internal tools.
Honor LDFLAGS for building internal tools.

Always build intermediate object files explicitly so that binaries don't
change when they are rebuilt.

Fixed some style bugs.
1998-07-07 01:41:58 +00:00
Bruce Evans
d2c317efc5 Added a `build-tools' target for internal tools.
Restored a variant of explicit rule for `setup', with modifications to
always build setup.o so that `setup' doesn't change every time it is
rebuilt because it has a temporary file name in it.
1998-07-07 01:25:37 +00:00
Bruce Evans
3c3472fb32 Added a `build-tools' target for internal tools.
Removed explicit dependencies of foo.o on foo.c.  These were mainly
placeholders for comments about missing dependencies of tools objects
on headers.  This problem needs to be handled more generally.
1998-07-07 01:06:58 +00:00
Bruce Evans
81a4459b5f Fixed type mismatches which were fatal when sizeof(long) > sizeof(int). 1998-07-06 22:08:00 +00:00
Bruce Evans
29415d80c2 Fixed classic sign extension bug `-(long)sizeof(foo)'.
Fixed the type of the string table size variable to match its use
(assuming that int32_t is 4 bytes and other unportable things).
bfd uses `unsigned char string_chars[BYTES_IN_WORD]', where
BYTES_IN_WORD can be 4, 8, or perhaps even 2 or 3, but it is
assumed to be precisely 4 bytes here.

Fixed printf format errors (don't assume that n_value in struct
n_list has type u_long, since it should have size BYTES_IN_WORD
and longs may be longer than words).
1998-07-06 21:45:12 +00:00
Bruce Evans
22694ebad5 Fixed printf format errors. 1998-07-06 21:01:54 +00:00
Bruce Evans
b45d09e830 Fixed type mismatches and style bugs in rev.1.30. 1998-07-06 20:52:08 +00:00
Bruce Evans
a0f9f69e20 Declared version_string() properly (1970's style). 1998-07-06 20:40:57 +00:00
Bruce Evans
78cda23056 Fixed printf format errors. 1998-07-06 20:28:08 +00:00
Bruce Evans
6497a56c81 Removed bogus #ifdef INET - <net/if_slvar.h> no longer depends on it. 1998-07-06 20:09:36 +00:00
Robert Nordier
5a901bd884 Activate newfs_msdos. 1998-07-06 20:05:41 +00:00
Robert Nordier
dc9ef4d1f7 Add newfs_msdos: extensive newfs-style support for creating FAT12,
FAT16, and FAT32 file systems in all their various horriblenesses.

Approved-in-concept by: joerg
1998-07-06 20:01:34 +00:00
Bruce Evans
91ba27a769 ioctl() request args are unsigned longs, so don't attempt to store
them as ints.  Among other bugs, doing so at best caused benign
overflow followed by fatal sign extension on machines with 32-bit
ints and 64-bit longs.
1998-07-06 19:54:39 +00:00
Bill Fenner
dece5b6a43 Introduce (fairly hacky) workaround for odd TCP behavior with application
writes of size (100,208]+N*MCLBYTES.

The bug:
 sosend() hands each mbuf off to the protocol output routine as soon as it
 has copied it, in the hopes of increasing parallelism (see
  http://www.kohala.com/~rstevens/vanj.88jul20.txt ). This works well for
 TCP as long as the first mbuf handed off is at least the MSS.  However,
 when doing small writes (between MHLEN and MINCLSIZE), the transaction is
 split into 2 small MBUF's and each is individually handed off to TCP.
 TCP assumes that the first small mbuf is the whole transaction, so sends
 a small packet.  When the second small mbuf arrives, Nagle prevents TCP
 from sending it so it must wait for a (potentially delayed) ACK.  This
 sends throughput down the toilet.

The workaround:
 Set the "atomic" flag when we're doing small writes.  The "atomic" flag
 has two meanings:
 1. Copy all of the data into a chain of mbufs before handing off to the
    protocol.
 2. Leave room for a datagram header in said mbuf chain.
 TCP wants the first but doesn't want the second.  However, the second
 simply results in some memory wastage (but is why the workaround is a
 hack and not a fix).

The real fix:
 The real fix for this problem is to introduce something like a "requested
 transfer size" variable in the socket->protocol interface.  sosend()
 would then accumulate an mbuf chain until it exceeded the "requested
 transfer size".  TCP could set it to the TCP MSS (note that the
 current interface causes strange TCP behaviors when the MSS > MCLBYTES;
 nobody notices because MCLBYTES > ethernet's MTU).
1998-07-06 19:27:14 +00:00
Bruce Evans
517cdb815b Restored rev.1.11, which I somehow clobbered in rev.1.12. 1998-07-06 19:11:35 +00:00