Linux-Development-Sys Digest #842, Volume #7 Wed, 10 May 00 17:13:11 EDT
Contents:
Re: Determining amount of physical RAM from a driver? (Timur Tabi)
in <linux/fs.h> ,the read and write ?? ("����")
Re: test_and_set_bit () (Chetan Ahuja)
access keyboard from mouse driver?? ([EMAIL PROTECTED])
Re: Question on global constructors (Serge Zloto)
udp socket in a kernel module? (Travis Hein)
Re: LILO Win+Linux on an old system ("Eric Keller")
Re: Two really easy (I'm sure) questions (Erik Max Francis)
Re: Two really easy (I'm sure) questions (Erik Max Francis)
binary compression -- good or bad? (Yuzheng Ding)
Re: Linux behaving like Windows ("Ad Koster")
Re: Determining amount of physical RAM from a driver? ("Norm Dresner")
Re: kernel 2.3.99-pre6 (John Hayward-Warburton)
Re: Timers? (Kaz Kylheku)
Re: Two really easy (I'm sure) questions (Mike McDonald)
Re: Two really easy (I'm sure) questions (Nate Eldredge)
Re: What cockheads you are (Thomas Zajic)
Possible Kernel Bug? (Joe Ceklosky)
libpath to shared objectws (Jim Tivy)
Re: Two really easy (I'm sure) questions (Kaz Kylheku)
----------------------------------------------------------------------------
From: Timur Tabi <[EMAIL PROTECTED]>
Subject: Re: Determining amount of physical RAM from a driver?
Date: Wed, 10 May 2000 15:13:58 GMT
In article <[EMAIL PROTECTED]>,
nilesh patel <[EMAIL PROTECTED]> wrote:
> Timur Tabi wrote:
>
> high_mem - 0xC0000000
> Try this.
I know what high_mem is, but where did the number 0xC0000000 come
from? Is that a number that could change in future kernels? Is it the
same number on other platforms?
--
Timur Tabi
Interactive Silicon - http://www.interactivesi.com
Remove "nospam_" from my email address when replying
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: "����" <[EMAIL PROTECTED]>
Subject: in <linux/fs.h> ,the read and write ??
Date: Wed, 10 May 2000 23:56:13 +0800
The Linux version in my computer is 2.2.13
and in <linux/fs.h> the "struct file_operations",
sizze_t (*read)(struct file* ,char* ,size_t ,loff_t* );
sizze_t (*write)(struct file* ,char* ,size_t ,loff_t* );
What does the argument "loff_* " means ?
thanks.
------------------------------
From: Chetan Ahuja <[EMAIL PROTECTED]>
Subject: Re: test_and_set_bit ()
Date: 10 May 2000 16:00:12 GMT
Kaz Kylheku <[EMAIL PROTECTED]> spoke thusly:
> On Thu, 04 May 2000 12:19:59 +0530, nilesh patel <[EMAIL PROTECTED]> wrote:
>>
>>Is test_and_set_bit () guarenteed to be atomic on SMP architecture ?
> It's atomic but it's not guaranteed. GNU software doesn't come with warranty
> protection, unless you specifically arrange it with a vendor.
I don't think there's any need to chew the guy's head off. He
obviously didn't want to know whether he'll get his money back (!)
if the test_and_set didn't work atomically on SMP. The word
"guaranteed" is commonly used in describing some behaviour of
computer software in a technical sense quite independently of the
word's commercial meaning.
Chetan
------------------------------
From: [EMAIL PROTECTED]
Subject: access keyboard from mouse driver??
Date: Wed, 10 May 2000 16:40:17 GMT
hello friends,
i am writing a new driver for intellimouse. can anyone
please send me the 4 byte protocol info.i also need 3 button logitech
protocol.
i wanted to put characters into the input queue(or buffer)
of the keyboard(similar to stuffing chars in keyboard buffer in DOS)
from my mouse driver. someone told me that i can do that using ioctl
call (provided i amthe root). can anyone please explain how can i do
that.which file controls keyboard input(driver) and how can i know
which mouse driver is presently working?
i use redhat 5.1 kernel version 2.0.38
thank u in advance
yours truly
gowtham
mailto:: [EMAIL PROTECTED]
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: Serge Zloto <[EMAIL PROTECTED]>
Subject: Re: Question on global constructors
Date: Wed, 10 May 2000 10:13:16 -0700
Mustafa,
What is your link command?
You don't have to execute collect2 yourself, the gcc (or g++) frontend
will call it for you.
I suspect you are linking using ld directly...which will *not* call
collect2
--
Serge
Mustafa Isik wrote:
> Hi ,
>
> We are trying to port some code from windows to linux and
> we are having an issue about executing global constructors. We tried
> using the
> Collect2 or GNU linker. We'd like this global
> constructor run
> before anything in our main( ) executes. According to the help document
> under :
>
> /usr/cygnus/codefusion-990706/html/2_comp/Using_GNU_CC/gcccollect2.html
>
> Collect2 is supposed to arrange a cosntructor table and run the global
> constructors
> before main ( ) ever gets executed. However, when the execution starts,
> global
> constructor is ignored. I was wondering what we are missing here, any
> options or
> path varaibles that we need to set. Please see the attached files for
> the source,
> make and link files. The same code was working fine on Windows.
>
> Your help is appreciated.
------------------------------
From: Travis Hein <[EMAIL PROTECTED]>
Subject: udp socket in a kernel module?
Date: Wed, 10 May 2000 13:40:50 -0400
is it possible to create a kernel module that creates a kernel thread that
listens on a UDP port for incomming UDP packets, and responds accordingly to
them
I have built the application as a user process, now i want to make it a built in
part of the kernel.
I was also considering making a user-mode kernel module, as that should also let
me do this, but i have not found any references on how to do this yet.
Could anyone help me to find references to make a user-mode kernel module,
and/or making UDP listening sockets in a kernel module
Trav
------------------------------
From: "Eric Keller" <[EMAIL PROTECTED]>
Subject: Re: LILO Win+Linux on an old system
Date: Wed, 10 May 2000 14:00:17 -0400
Paul D. Smith wrote
>
> I put W98SE on the 1G drive as the master on IDE1 (I need both at least
> initially, since I need Windows so the cablemodem guys are happy).
W98 wants to put a fat32 file system on anything bigger than 512 mbytes.
You will be so much better off if you use fat16. Then you can put lilo on
the mbr. I have found win98 doesn't mess with the mbr unless you tell it,
which can be a pain.
My experience with redhat 6.1 on a winnt machine is that the install will
insinuate that you can put lilo on any disk, but then you kill everything if
it isn't the right kinda file system.
Hope i'm not totally off base. Are you using a generic install, or is it
possible your kernal doesn't like your computer?
eric
------------------------------
From: Erik Max Francis <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Subject: Re: Two really easy (I'm sure) questions
Date: Wed, 10 May 2000 11:51:23 -0700
Mark Graybill wrote:
> You obvious didn't pay attention to the entire context of the post. I
> declared that there was no proviso in the ANSI C standard.
You should keep your languages straight -- here you're talking about C,
but your code example was C++.
> Is that 'perfectly legitimate' function in ANSI?
"Undefined behavior" can be _any_ behavior; the Standards place _no_
constraints on something that invokes undefined behavior. That can be
extreme as producing an executable that doesn't run, or crashing the
machine, or even doing what you expect.
> Read "The ANSI C Programming Language 2nd Edition" by Kernighan and
> Ritchie
> (founders of C), or "The C/C++ Programmer's Bible" by Jamsa and
> Klander
> (just to name a couple of books I still have on C), and post what the
> material states about return types for main().
> You will not find anything supporting your argument, and actually, the
> latter book starts out using void main(), until it begins explaining
> returning exit codes.
What do what a few books have to say about the subject have to do with
what the Standards say? If a book uses a main that returns void, then
it's wrong. (There was recent discussion on comp.lang.c.moderated, a I
recall, about Kernighan/Ritchie admitting that the use of main returning
void was incorrect.) See the comp.lang.c FAQ.
> Finally, it's sad so many feel they must insult, which is indicative
> of
> their maturity.
Probably because so many people choose to talk authoritatively on
subjects about which they are flat-out wrong.
--
Erik Max Francis / [EMAIL PROTECTED] / http://www.alcyone.com/max/
__ San Jose, CA, US / 37 20 N 121 53 W / ICQ16063900 / &tSftDotIotE
/ \ It is fatal to enter any war without the will to win it.
\__/ Douglas MacArthur
Polly Wanna Cracka? / http://www.pollywannacracka.com/
The Internet resource for interracial relationships.
------------------------------
From: Erik Max Francis <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Subject: Re: Two really easy (I'm sure) questions
Date: Wed, 10 May 2000 11:54:31 -0700
Mario Klebsch wrote:
> Do you say, that calling exit() will result in undefined behavior? I
> know, it works on the systems, I use, and I can accept, that it works
> only by accident, but pleaye explain, why the behavoir is undefined?
"Undefined behavior" means that the compiler may generate code that does
_anything_ at all. Unfortunately for the programmer attempting to write
Standard-conforming code, undefined behavior _can_ actually include what
he/she expects.
The programming language standards are contracts between user-level
programmers and compiler implementors. When some sort of behavior is
marked as undefined, the "contract," if you will, stipulates that, "This
particular issue is a domain which programmer should not use and
implementors should not need worry about as a special case."
If you invoke undefined behavior, it may well work, but you won't be
able to rely on it working when you upgrade your compiler, or use
another compiler, or switch platforms, or when it rains. You are making
trouble for yourself.
--
Erik Max Francis / [EMAIL PROTECTED] / http://www.alcyone.com/max/
__ San Jose, CA, US / 37 20 N 121 53 W / ICQ16063900 / &tSftDotIotE
/ \ Get married, but never to a man who is home all day.
\__/ George Bernard Shaw
blackgirl international / http://www.blackgirl.org/
The Internet resource for black women.
------------------------------
From: Yuzheng Ding <[EMAIL PROTECTED]>
Subject: binary compression -- good or bad?
Date: Wed, 10 May 2000 15:05:44 -0400
I heard the greatness of binary compressors like upx that takes away the fat
from an executable while having "no memory penalty". On the other hand I heard
that at elast for Windows9x, such compression nullifies code sharing, thus
suffering heavy memory penalty if you look at the entire picture.
What's the case with Linux? Would code/data sharing be impacted in any ways
of means? Do unix programs only share the code other than those in
dynamically linked shared libraries? It seems to me that the sharing of
dynamically linked shared libraries should not be impacted as they are loaded
after the program begins (thus after decompression). Did I miss anything?
ED
------------------------------
From: "Ad Koster" <[EMAIL PROTECTED]>
Subject: Re: Linux behaving like Windows
Date: Wed, 10 May 2000 21:22:34 +0100
Crossposted-To: comp.os.linux.misc,comp.os.linux.setup
In article <8fag3k$[EMAIL PROTECTED]>, [EMAIL PROTECTED] wrote:
> In article <8fa58e$1mn$[EMAIL PROTECTED]>,
> [EMAIL PROTECTED] says...
>>
>
>>>So, I am up to the point where I need to compile my modules, after
>>>entering
>>>"make modules", it starts compiling for about 3 or 4 minutes and then
>>>the
>>>machine hangs, no mouse no keyboard, frozen!, I wait for about 30min
>>>and nothing happens.
>>
>
>>This sounds like a hardware problem. What kind of motherboard and
>>processor do you have, have you checked your RAM, etc?
>>
>>I suspect bad RAM myself.
>>
>
> I also had a case, where my linux PC will suddenly freeze after running
> for some time (even when I am not using it). It turned out to be a bad
> RAM. After replacing the RAM, the hangs went away.
>
> nasser
>
In case you are looking for a great linux program for testing your memory you should
certainly try memtest86.
You can find it at freshmeat I guess.
Greetings
Ad Koster
[EMAIL PROTECTED]
------------------------------
Reply-To: "Norm Dresner" <[EMAIL PROTECTED]>
From: "Norm Dresner" <[EMAIL PROTECTED]>
Subject: Re: Determining amount of physical RAM from a driver?
Date: Wed, 10 May 2000 19:30:59 GMT
If you can install the driver with a script file, you can get exactly that
information (and lots more, too) by "reading" /proc/meminfo and having your
script pass the value(s) you need as a parameter.
Norm
Timur Tabi <[EMAIL PROTECTED]> wrote in message
news:8f9vcb$2g9$[EMAIL PROTECTED]...
> I would think that this is a FAQ, but I can't find the answer anywhere.
>
> I need to be able to determine, from within my driver's init_module
> function, the amount of physical RAM in the system. I don't want to
> know anything about virtual memory, I'm simply interested in one
> number: the amount of physical RAM installed on a system, in megabytes.
>
> Can anyone help me?
>
> --
> Timur Tabi
> Interactive Silicon - http://www.interactivesi.com
> Remove "nospam_" from my email address when replying
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
------------------------------
From: John Hayward-Warburton <[EMAIL PROTECTED]>
Crossposted-To: uk.comp.os.linux
Subject: Re: kernel 2.3.99-pre6
Date: Wed, 10 May 2000 13:52:54 +0000
Charles Blackburn wrote:
> Hi all.
>
> seeing as kernels 2.3.99-pre6 doesn't support ipchains, how do I go about
> setting up a firewall? any help would be appreciated.
>
Get the CVS netfilter source, which includes the `userland' utility "ipchains"
from here:
export CVSROOT=":pserver:[EMAIL PROTECTED]:/cvsroot"
cvs login
(password might be `cvs')
cvs -z3 co netfilter
In the netfilter directory, you'll find a kernel patch or two. Apply whichever is
appropriate, compile the kernel, compile netfilter (ipchains) and enjoy. I've
compiled my lot into the kernel, rather than use modules, and it seems to be fine
so far on 2.3.99-pre6-pre8 with Andrea Archangeli's latest "classzone" patch for
memory management.
Rules now look like this (an ISDN PPP connection through which a whole LAN is
masqueraded):
# In the NAT table (-t nat), Append a rule (-A) after routing
# (POSTROUTING) for all packets going out ppp0 (-o ppp0) which says to
# MASQUERADE the connection (-j MASQUERADE).
/usr/local/bin/iptables -t nat -A POSTROUTING -o ippp0 -j MASQUERADE
# Forward stuff to the webserver
/usr/local/bin/iptables -A PREROUTING -t nat -p tcp -d 194.222.216.167 --dport 8
0 -j DNAT --to 192.168.7.201:80
/usr/local/bin/iptables -A PREROUTING -t nat -p tcp -d 194.222.216.167 --dport 4
43 -j DNAT --to 192.168.7.201:443
John HW
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Kaz Kylheku)
Subject: Re: Timers?
Reply-To: [EMAIL PROTECTED]
Date: Wed, 10 May 2000 19:41:54 GMT
On Wed, 10 May 2000 15:24:10 +0100, Colin Ford
<[EMAIL PROTECTED]> wrote:
>Hello There,
>
>I was wondering wether Linux implemented
>the Posix timers as in timer_create etc?
These functions don't exist in glibc 2.1, but will likely appear in glibc 2.2.
>Can't find them on my RedHat6.1 linux-2.2.12
>
>Do I need a later kernel?
There is a kernel patch floating around which implements a part of the
specification, but it misses SIGEV_THREAD.
I have a prototype user-space implementation at
users.footprints.net/~kaz/posixtimer.html which implements everything
except for the delivery of the fancy new-style sigqueue() signals
and except for the calculation of timer overruns.
SIGEV_THREAD notifications work, even the selection of the desired
thread attributes.
Also included are the clock_* functions.
--
#exclude <windows.h>
------------------------------
Reply-To: [EMAIL PROTECTED]
From: [EMAIL PROTECTED] (Mike McDonald)
Subject: Re: Two really easy (I'm sure) questions
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Date: Wed, 10 May 2000 20:12:14 GMT
In article <[EMAIL PROTECTED]>,
Erik Max Francis <[EMAIL PROTECTED]> writes:
> Mario Klebsch wrote:
>
>> Do you say, that calling exit() will result in undefined behavior? I
>> know, it works on the systems, I use, and I can accept, that it works
>> only by accident, but pleaye explain, why the behavoir is undefined?
>
> "Undefined behavior" means ...
We understand what "undefined behavior" means. We don't understand why
"exit(0)" is undefined behavior. Is it because ANSI C doesn't defined exit()?
That it's left to POSIX instead to define?
Mike McDonald
[EMAIL PROTECTED]
------------------------------
From: Nate Eldredge <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Subject: Re: Two really easy (I'm sure) questions
Date: 10 May 2000 13:32:12 -0700
[EMAIL PROTECTED] (Mario Klebsch) writes:
> Nate Eldredge <[EMAIL PROTECTED]> writes:
>
> >[EMAIL PROTECTED] (Kaz Kylheku) writes:
>
> >> >Well... if you do
> >> >
> >> >void main() {
> >> >...
> >> >exit(N);
> >> >}
> >> >
> >> >then it's a slightly fuzzy case, because you will still have an exit
> >> >code.
> >>
> >> It's not a fuzzy case at all. The program's behavior is undefined,
> >> hence its termination status is imponderable.
>
> >You're right. I meant to say that on most common systems this will
> >actually work.
>
> Do you say, that calling exit() will result in undefined behavior? I
> know, it works on the systems, I use, and I can accept, that it works
> only by accident, but pleaye explain, why the behavoir is undefined?
It's not the calling exit() that's the problem, it's the void main.
Having void main immediately results in undefined behavior; thus
sayeth the ANSI C standard. Calling exit just tends to make the
behavior what you want, but of course is not guaranteed to do so.
In an otherwise correct program, calling exit() is well-defined.
--
Nate Eldredge
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Thomas Zajic)
Subject: Re: What cockheads you are
Reply-To: [EMAIL PROTECTED] (Thomas Zajic)
Date: Wed, 10 May 2000 20:39:48 GMT
On Wed, 10 May 2000 02:05:49 +1000, www.homepagewizard.com wrote:
> [ flamebait ]
[zlatko@sphere]:~$ grep troll /var/log/messages
May 10 22:30:17 sphere trolld: troll-o-meter peak detected
May 10 22:30:17 sphere trolld: troll factor: 99.9 %
May 10 22:30:17 sphere trolld: whine factor: 1.3 %
May 10 22:30:17 sphere trolld: clue factor : 0.0 %
May 10 22:30:17 sphere trolld: suspected troll post details follow:
May 10 22:30:17 sphere trolld: From: "www.homepagewizard.com" \
May 10 22:30:17 sphere trolld: <[EMAIL PROTECTED]>
May 10 22:30:17 sphere trolld: Subject: What cockheads you are
May 10 22:30:18 sphere trolld: Date: Wed, 10 May 2000 02:05:49 +1000
May 10 22:30:18 sphere trolld: Message-ID: \
May 10 22:30:18 sphere trolld: <39183749$0$[EMAIL PROTECTED]>
May 10 22:30:18 sphere trolld: invoking /usr/local/bin/troll-be-gone
May 10 22:30:18 sphere troll-be-gone: redirected 1 message to /dev/null
May 10 22:30:18 sphere troll-be-gone: updating /home/zlatko/News/Score
May 10 22:30:18 sphere troll-be-gone: [*]
May 10 22:30:18 sphere troll-be-gone: Score: -9999
May 10 22:30:18 sphere troll-be-gone: From: "www.homepagewizard.com" \
May 10 22:30:18 sphere troll-be-gone: <[EMAIL PROTECTED]>
[zlatko@sphere]:~$
Thomas
--
=-------------------------------------------------------------------------=
- Thomas "ZlatkO" Zajic <[EMAIL PROTECTED]> Linux-2.0.38/slrn-0.9.6.2 -
- "It is not easy to cut through a human head with a hacksaw." (M. C.) -
=-------------------------------------------------------------------------=
------------------------------
From: Joe Ceklosky <[EMAIL PROTECTED]>
Subject: Possible Kernel Bug?
Date: Wed, 10 May 2000 20:53:59 GMT
Hardware:
MSI 6153 Socket 370 MB
Intel Celeron 466
128 Meg PC 100 DIMM
Buslogic 958W
Quantum 9.1 and 4.5G SCSI Wide HD's
Kernel:
2.2.14 or 2.2.15
First I have verified that the memory is good in the machine.
Under kernel compilation I have NEVER seen a SEGV.
To set up the test:
-contiunously build the kernel over and over
-run top with a refresh of 1
-continuously dd if=/dev/sdaX of=/dev/null bs=1024 count=600000
After this runs for a while (even quick sometimes) the machine will
hang, but it's a funny hang, it's not locked up 100%
Everything that was running continues to run, but anything
looking for disk I/O will be stuck in a D status using ps.
All I/O will be hung, but top continues to run fine. This
will of course drive the load on the machine to like 50.
Another thing, I was once cat'ing /proc/interupts when this happened
and everything is fine, but the IRQ count on the SCSI card was stuck.
The light on the scsi card was on of course, but it refuses to handle
any interrupts. I did not see any timeouts on the scsi bus
either.
I also changed the SCSI card to an Adaptec 2940UW and saw the same
problems.
Does anyone have any ideas as to what is going on?
Is it the motherboard or is this rare kernel bug?
Thanks,
Joe
------------------------------
From: Jim Tivy <[EMAIL PROTECTED]>
Subject: libpath to shared objectws
Date: Wed, 10 May 2000 14:06:28 -0700
Hi
I am a newbie to Linux. I need to know how to set a libpath to a bunch
of shared objects so I can run
my program that links to them. I cannot get at the etc/ld_so.conf file
since I don't have permissions. Is there another way.
cheers
Jim
--
==========================================================
Jim Tivy - Bluestream Database Software Corp.
1168 Hamilton Street, Suite 200, Vancouver BC V6B 2S2
Tel: (604) 669-4469 ext 116 Fax: (604) 669-4469
E-Mail: mailto:[EMAIL PROTECTED] http://www.bluestream.com
==========================================================
------------------------------
From: [EMAIL PROTECTED] (Kaz Kylheku)
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Subject: Re: Two really easy (I'm sure) questions
Reply-To: [EMAIL PROTECTED]
Date: Wed, 10 May 2000 21:05:17 GMT
On Wed, 10 May 2000 20:12:14 GMT, Mike McDonald <[EMAIL PROTECTED]> wrote:
>In article <[EMAIL PROTECTED]>,
> Erik Max Francis <[EMAIL PROTECTED]> writes:
>> Mario Klebsch wrote:
>>
>>> Do you say, that calling exit() will result in undefined behavior? I
>>> know, it works on the systems, I use, and I can accept, that it works
>>> only by accident, but pleaye explain, why the behavoir is undefined?
>>
>> "Undefined behavior" means ...
>
> We understand what "undefined behavior" means. We don't understand why
>"exit(0)" is undefined behavior. Is it because ANSI C doesn't defined exit()?
>That it's left to POSIX instead to define?
Calling exit(0) is well defined, provided that you have a prototype of the
function in scope, (or at least you have an old-style declaration which returns
int, and your actual argument is an expression that has type int or promotes to
int).
If you call it in the absence of a prior declaration, the compiler will
pretend, for the purpose of generating the call, that a declaration of the from
``int exit()'' is in scope. This is not compatible with the definition of the
function which is ``void exit(int);'' so the behavior of the call is undefined.
C programming newbies sometimes run into the same error with some of the other
<math.h> or <stdlib.h> functions, like cos() or strtod(). These functions
return double, thus
double x = strtod("3.0");
in the absence of a prototype, is undefined. What's worse, this error can go
undiagnosed because the int to double conversion is implicit. The typical
result on many compilers is that x gets complete garbage rather than 3.0.
The GCC option -Wall includes a warning that guards against this by complaining
whenever a function is implicitly declared. (It doesn't seem to do this for call
the exit function, though.)
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************