peter [Mon, 8 Nov 1999 06:53:30 +0000 (06:53 +0000)]
A hack basically.. We have a bunch of code that used to call
devsw_module_handler() indirectly and not use the chain arguments. To
eliminate this indirection via that function (which does nothing now)
without duplicating a modevent handler into all the routines that don't
presently have one, supply a NOP (do nothing, return OK) routine which
is functionally equivalent to what's there now. This is a hack and is
still wrong, because there doesn't appear to be anything to reclaim
resources on an unload of a module with one of these in it. I'm not
sure whether to make the NOP handler refuse a MOD_UNLOAD event or what.
sef [Mon, 8 Nov 1999 05:13:54 +0000 (05:13 +0000)]
Explain why Warner is right, and I am wrong, in the removing of the
file object. Also explain some possible directions to re-implement it --
I'm not sure it should be, given the minimal application use. (Other
than having the debugger automatically access the symbols for a process,
the main use I'd found was with some minor accounting ability, but _that_
depends on it being in the filesystem space; an ioctl access method would
be useless in that case.)
This is a code-less change; only a comment has been added.
peter [Mon, 8 Nov 1999 03:31:01 +0000 (03:31 +0000)]
Update socket file type for fo_stat(). soo_stat() becomes a fileops
switch entry point rather than being used externally with knowledge of the
internals of the DTYPE_SOCKET f_data contents.
peter [Mon, 8 Nov 1999 03:25:23 +0000 (03:25 +0000)]
Create a fileops fo_stat() entry point. This will enable collection
of a bunch of duplicated code that breaks (read: panic) when a new
file type is added and some switch/case entries are missed.
obrien [Sun, 7 Nov 1999 10:38:07 +0000 (10:38 +0000)]
Rev 1.2 appears to have come from this commit to gcc-2.6.1:
phk 95/03/10 00:24:10
Modified: gnu/usr.bin/cc/cc_int final.c
Since we are in the gcc bashing mood anyway: Add two changes for
basic-block profiling:
1. use a .stabs(25) symbol to link all the data structures together
with. The regular method isn't safe for the kernel.
2. add a BB before the prologue and add a BB after the epilogue,
this alows us to find the length of any counted BB. This is a
cheap and somewhat reasonable measure of actual cost.
sef [Sun, 7 Nov 1999 07:52:02 +0000 (07:52 +0000)]
Make an incredibly stupid change because Warner threatened to do it and
continue doing it despite objections by me (the principal author).
Note that this doesn't fix the real problem -- the real problem is generally
bad setup by ignorant users, and education is the right way to fix it.
So while this doesn't actually solve the prolem mentioned in the complaint
(since it's still possible to do it via other methods, although they mostly
involve a bit more complicity), and there are better methods to do this,
nobody was willing or able to provide me with a real world example that
couldn't be worked around using the existing permissions and group
mechanism. And therefore, security by removing features is the method of
the day.
I only had three applications that used it, in any event. One of them would
have made debugging easier, but I still haven't finished it, and won't
now, so it doesn't really matter.
green [Sun, 7 Nov 1999 05:58:38 +0000 (05:58 +0000)]
Fix the advisory file locking by restoring previous ordering in closef()/
fdrop(). This only showed up when a file descriptor was duplicated
and then closed once, where the lock would be released on the first close().
eivind [Sat, 6 Nov 1999 23:41:10 +0000 (23:41 +0000)]
Options cleanup.
* GC unused options
* Move options that exist on all architectures to conf/options
* Add missing options to LINT
* Sort undocumented options list in LINT
Use the simplified genscripts.sh and set the cross-compiled library
directory to /usr/cross/${MACHINE_ARCH}-freebsdelf/usr/lib so that
the cross tools behave the same way that the host versions do. When
building cross tools, Cygnus doesn't set the default library directory.
This doesn't suit FreeBSD IMHO.
Add WinNT emulation support too. You only get this if you've set
BINUTILSDISTDIR because the contrib/binutils repository doesn't
contain the required sources.
Use the simplified genscripts.sh and set the cross-compiled library
directory to /usr/cross/${MACHINE_ARCH}-freebsdelf/usr/lib so that
the cross tools behave the same way that the host versions do. When
building cross tools, Cygnus doesn't set the default library directory.
This doesn't suit FreeBSD IMHO.
gas for i386 targeted to NT for those (like me) who have to do work
targeted to NT, but can't stand actually looking at it all day long.
I cross build apps on FreeBSD and just run them on NT later. Life is
better that way.
Change CROSS_TOOLS to CROSS_ARCH because that makes more sense.
Allow for the case where the host architecture might also be listed
in CROSS_ARCH, so don't do things twice. This situation can arise if you
want NT support in binutils (CROSS_ARCH=i386 CROSS_FORMAT=winnt).
Teach binutils how to understand NT format objects and libs. This is useful
for those who want to objdump --disassemble things that they're not
supposed to. 8-)
Add a BINUTILSDISTDIR hook to provide a path to a full binutils release
outside the contrib files that FreeBSD distributes. This for use by
those who want to work on porting FreeBSD to additional architectures.
cracauer [Fri, 5 Nov 1999 12:06:30 +0000 (12:06 +0000)]
When a backquote command inside a here-document had a pipe with more
than two processes (got that? :-), the stdin fd of the middle
processes that has just been set up was accidetially closed. Don't do
this.