Bruce Evans [Sat, 29 Jan 2000 13:55:02 +0000 (13:55 +0000)]
Fixed IEXTEN handling in raw mode again. The effect of IEXTEN when
ICANON is off is implementation-defined. Under BSD, IEXTEN is
independent of ICANON, so it must be turned off to get "raw" mode.
This was first fixed in rev.1.4 (1995/10/21) of libncurses/lib_raw.c,
but the change was lost in the downgrade to the contrib version.
The fix here is the same as in the old rev.1.4, less style bugs. A
better fix would use cfmakeraw(3) to actually handle all of the
complications for switching to raw mode.
David E. O'Brien [Sat, 29 Jan 2000 13:06:33 +0000 (13:06 +0000)]
Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks. rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately. rtl is presumably used so that
the prologue and epilogue can be optimised.
I couldn't find any good examples to copy. gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken. One of the XXX comments points to this.
IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."
Jason Evans [Sat, 29 Jan 2000 12:50:47 +0000 (12:50 +0000)]
Undo the ill-conceived breakage of the previous commit and really fix:
For libc_r renamed syscalls, correct symbol naming from
_thread_sys_foo() <-- _foo() to _thread_sys_foo() <-- _foo() <-- foo(). This
is necessary for system calls which libc_r doesn't define foo().
Some weak symbols such as poll() are defined twice. From what I understand,
depending on one weak symbol or the other to be used is a bad idea. All
such weak symbols defined in the libc_r-specific code should therefore be
made strong (non-weak?).
Simplify PSEUDO() to not define any weak symbols, since they aren't ever
needed.
alpha/SYS.h:
Correct reversed usage of WEAK_ALIAS(), which has reversed arguments from
__weak_reference(). Also, fix reversal of symbols, so that syscall foo()
is a weak alias for _foo().
Add WEAK_ALIAS() call to PRSYSCALL(), which unlike the i386 version of
PRSYSCALL(), is not defined in terms of PSYSCALL().
Peter Wemm [Sat, 29 Jan 2000 12:45:36 +0000 (12:45 +0000)]
Regen after pointing to the real setres[ug]id(). Remove dummy function.
(Note: getres[ug]id is still a dummy as it returns via pointers to a
different sized integer and does need real wrappers.)
David E. O'Brien [Sat, 29 Jan 2000 12:38:21 +0000 (12:38 +0000)]
"Rev.1.45 of cc_tools/Makefile was a wrong fix for a problem introduced
in rev.1.44 (the egcs to gcc switch). The problem is that print-rtl.o
is now needed to build some tools, but it wasn't added to the list of
objects which are specially handled because they are prerequisites for
tools."
David E. O'Brien [Sat, 29 Jan 2000 12:18:03 +0000 (12:18 +0000)]
Revert to rev 1.6 until post 4.0-R. As probably 98% of i386 installs
happen with a keyboard and monitor the console change was not as needed
in the i386 case as the Alpha case. IMO >50% of Alpha installs are using
a serial console, the change matching rev 1.7 should not be backed out.
Yoshinobu Inoue [Sat, 29 Jan 2000 11:49:07 +0000 (11:49 +0000)]
Sorry in this just befor code freeze commit.
This is fix to usr.sbin/trpt and tcp_debug.[ch]
I think of putting this after 4.0 but,,,
-There was bug that when INET6 is defined,
IPv4 socket is not traced by trpt.
-I received request from a person who distribute a program
which use tcp_debug interface and print performance statistics,
that
-leave comptibility with old program as much as possible
-use same interface with other OSes
So, I talked with itojun, and synced API with netbsd IPv6 extension.
makeworld check, kernel build check(includes GENERIC) is done.
But if there happen to any problem, please let me know and
I soon backout this change.
KATO Takenori [Sat, 29 Jan 2000 07:49:02 +0000 (07:49 +0000)]
Simplify messages of Pentium II, Pentium II Xeon, Celeron, Pentium III
and Pentium III Xeon CPUs. If a CPU is one of Pentium II, Pentium II
Xeon and Celeron, the message is always "Pentium II/Pentium II
Xeon/Celeron". If a CPU is one of Pentium III and Pentium III Xeon,
the message is always "Pentium III/Pentium III Xeon".
Andrew Gallatin [Sat, 29 Jan 2000 06:31:27 +0000 (06:31 +0000)]
changes to osf1_wait4()
- only allocate rusage struct when caller wants rusage info
- fix a stupid paren mismatch bug that was causing EPERM to get returned
to callers rather then ECHILD
John Polstra [Sat, 29 Jan 2000 03:16:54 +0000 (03:16 +0000)]
Add a manual page for the ELF dynamic linker. I initially created
rtld.1 by means of a repository copy from "src/libexec/rtld-aout/rtld.1".
Then I edited it to make it (more) accurate for the ELF dynamic
linker.
Bruce Evans [Sat, 29 Jan 2000 03:02:55 +0000 (03:02 +0000)]
"Completed" the previous fix. Return ENOMEM on memory allocation failure
in sioattach(), not ENXIO. Free resources before returning early in
sioprobe() and sioattach().
Bill Paul [Sat, 29 Jan 2000 02:16:47 +0000 (02:16 +0000)]
Minor tweak: the D-Link 10/100 USB ethernet adapter is apparently using
the same design as the LinkSys adapter and needs the same special handling
to enable its PHY.
Chris Costello [Sat, 29 Jan 2000 02:04:31 +0000 (02:04 +0000)]
Grammar fixes:
- "In result" generally sounds better as "As a result".
- "faith interface ..." was changed to "The faith interface" at the
beginning of a sentence.
John Polstra [Sat, 29 Jan 2000 01:27:04 +0000 (01:27 +0000)]
When a threads package registers locking methods with dllockinit(),
figure out which shared object(s) contain the the locking methods
and fully bind those objects as if they had been loaded with
LD_BIND_NOW=1. The goal is to keep the locking methods from
requiring any lazy binding. Otherwise infinite recursion occurs
in _rtld_bind.
This fixes the infinite recursion problem in the linuxthreads port.
David E. O'Brien [Sat, 29 Jan 2000 00:50:21 +0000 (00:50 +0000)]
* Use `console' rather than `ttyv0' so there will always be a getty on
the console reguardless of the type of console.
* Make the Alpha version match the i386 version.
Warner Losh [Fri, 28 Jan 2000 21:15:24 +0000 (21:15 +0000)]
Remove Fortran from build tools. It isn't needed to build the system
and costs us an extra 2% to build it for no reason. It may break
building cross compilation environments for fortran, but that isn't
officially supported at this time anyway (also, the % of our user base
that would use that is < .001% imho). This does't break fortran (it
is built again later anyway).
Reviewed by: obrien
Tested by: make buildworld and make buildworld -DNOCLEAN
Brian Feldman [Fri, 28 Jan 2000 20:40:29 +0000 (20:40 +0000)]
Fix a bug that could crash the system if you press ^T while a slower
system is slowed down and in the right spot (a race condition in fork()).
The "previous time" fields have moved from pstat to proc. Anything which
uses KVM needs to be recompiled with a new libkvm/headers.
A couple wacky u_quad_t's in struct proc are now u_int64_t (the same, but
according to lack of 'quad's in proc.h and usage in kern_resource.c).
This will have no effect on code.
This has been make-world-and-installed-new-kernel-which-works-fine-tested.
Gerard Roudier [Fri, 28 Jan 2000 20:11:32 +0000 (20:11 +0000)]
- Fix an issue that paniced the machine in data overrun
condition.
- 1 line change that allows to balance chips between ncr
and sym using pci compat option (not compiled by default
in 4.0 but maintains the driver source 3.4 compatible).
Joerg Wunsch [Fri, 28 Jan 2000 17:40:42 +0000 (17:40 +0000)]
There were so far only 42 different conversion specifications in
strftime(3), add another one. :) %z yields the local timezone's offset
in hours and minutes, as used in RFC822 headers. There's a precedence
for this in Lunux' libc, and Internet software (like Perl scripts)
start using it.
Robert Watson [Fri, 28 Jan 2000 15:22:51 +0000 (15:22 +0000)]
Fix man page structures/constants to match recent changes in acl.h
Fix a few more namespace messes and whitespace curiosities in acl.h
Fix comments in acl.h
Clean up some function prototypes from acl.h that won't be committed
before the code freeze.
Some of this kindly pointed out by: the ever patient bde
Joerg Wunsch [Fri, 28 Jan 2000 13:05:55 +0000 (13:05 +0000)]
Null commit. This is only to record that the problems mentioned in
the message of rev 1.20 only seem to happen after the recent upgrade
to groff v 1.15. Anyway, using comments instead of \c seems to be a
safe way (IMHO), so it should stay.
Merging to the current and testing with other existing multicast routers
is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances
the base code in KAME distribution.
Make world check and kernel build check was also successful.
Bruce Evans [Fri, 28 Jan 2000 10:22:07 +0000 (10:22 +0000)]
Don't permit generation of non-physical disk addresses.
subr_diskmbr.c:
Don't "helpfully" enlarge our idea of the disk size to cover all the
primary slices. Instead, truncate or discard slices that don't seem
to be on the disk. The enlargement was a hack for disks that don't
report their size (e.g., MFM disks). It is just wrong in general.
wd.c:
In CHS mode, limit the disk size so that cylinder numbers >= 65536
cannot occur. This normally only affects disks larger than 33.8GB.
CHS mode accesses to addresses above the limit are now properly broken
(an error is returned instead of garbage for reads and disk corruption
for writes).
PR: 15611
Reviewed by: readers of freebsd-bugs did not respond to a request
for review
Sheldon Hearn [Fri, 28 Jan 2000 10:21:19 +0000 (10:21 +0000)]
Fix English, mdoc and layout of the previous commit, as requested by
the committer (shin). While I don't have permission for this change
from the inetd maintainer (des), I assume that shin has permission
and I'm just fixing his contribution up for him.
Okay, I couldn't resist, I made some extra changes:
* Replace ".Tn FreeBSD" with .Fx
* Make the illegal TCPMUX and IPSEC sections legal subsections
of the IMPLEMENTATION NOTES section.
Warner Losh [Fri, 28 Jan 2000 06:13:09 +0000 (06:13 +0000)]
Mitigate the stream.c attacks
o Drop all broadcast and multicast source addresses in tcp_input.
o Enable ICMP_BANDLIM in GENERIC.
o Change default to 200/s from 100/s. This will still stop the attack, but
is conservative enough to do this close to code freeze.
This is not the optimal patch for the problem, but is likely the least
intrusive patch that can be made for this.
Obtained from: Don Lewis and Matt Dillon.
Reviewed by: freebsd-security
Yoshinobu Inoue [Fri, 28 Jan 2000 05:27:14 +0000 (05:27 +0000)]
Sorry I didn't commit these files at the commit just a few minutes before.
(IPv6 multicast routing)
I think I mistakenly touched TAB and the last arg sys/netinet6 to
the cvs commit changed to sys/netinet6/in6_proto.c.
Merging to the current and testing with other existing multicast routers
is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances
the base code in KAME distribution.
Make world check and kernel build check was also successful.
David Greenman [Fri, 28 Jan 2000 04:04:58 +0000 (04:04 +0000)]
Fixed sign and overflow bugs that caused the allocation size of the kernel
malloc region (kmem_map) to be wrong and semi-random on systems with more
than 1GB of RAM. This is not a complete fix, but is sufficient for
machines with 4GB or less of memory. A complete fix will require some
changes to the getenv stuff so that 64bit values can be passed around.
NOT FIXED: machines with more than 4GB of RAM (e.g. some large Alphas)
since we're still using ints to hold some of the values.