Subject: Linux-Development Digest #814
From: Digestifier <Linux-Development-Request@senator-bedfellow.MIT.EDU>
To: Linux-Development@senator-bedfellow.MIT.EDU
Reply-To: Linux-Development@senator-bedfellow.MIT.EDU
Date:     Fri, 10 Jun 94 21:13:06 EDT

Linux-Development Digest #814, Volume #1         Fri, 10 Jun 94 21:13:06 EDT

Contents:
  Re: AHRGH: I forgot: patch application problems? (Matthias Urlichs)
  looking for some information on the clone() system call. (Daniel Aaron Supernaw-Issen)
  Re: WARNING: BUG in rsh?? (Gene McManus)
  Re: Linux ext2fs vs. ufs vs. presto [was Re: Fast File System?] (Andreas Klemm)
  Re: Let's rename v1.0.9! [Was: Frustrated with new kernels] (Rusty Trainham)
  Re: signal() with BSD semantics (the MOST SIGNIFICANT bit)
  Re: Linux CD (Charles Liu)
  Locations of older version of GCC (2.4.5) (Tim Docker)
  Re: Linux vs early NEC CD-Rom drives (ron blessing)
  Re: Does Linux use any BIOS facilities? (Drew Eckhardt)
  Re: WARNING: BUG in rsh?? (Carlos)
  Re: Filesystem semantics protecting meta data ... and users data (David Holland)
  sb/rb package? (Ken Kai-Fu CHANG)
  wfw/lanman/linux interchange? (Lars Anderson)
  My problem? GCC problem? Linux problem? (Aric D. Blumer)
  Re: problem programming Tcl/Tk + C application (nsa software)

----------------------------------------------------------------------------

From: urlichs@smurf.noris.de (Matthias Urlichs)
Subject: Re: AHRGH: I forgot: patch application problems?
Date: 10 Jun 1994 15:24:08 +0200

In comp.os.linux.development, article <CqysI9.3rF@pe1chl.ampr.org>,
  pe1chl@rabo.nl writes:
> 
> >I know what I'm doing is a overkill but .....
> >I am keeping all patches and an 1.1.0 kernal in a certain directory, renamed
> >all single digit patches ( like patch2 ) to double digit patches
> >( patch02 ) and *ALLWAYS* start from the clean 1.1.0 source.
> 
> That is in fact a good idea.  When you configure the kernel using
> "make config", you will modify config.in which is often patched.  These
> patches will fail when you don't start from scratch.
> 
It might be a far better idea to use a configuration method which records
default answers in an extra file instead of changing the existing code.

Surprise, surprise: The default file is already there, it's called
".config". We just need to read it instead.

The following patch is believed to actually work...

--- /pub/src/linux-1.1/Configure        Mon Apr 18 10:38:14 1994
+++ Configure   Fri Jun 10 15:21:25 1994
@@ -44,18 +44,6 @@
 }
 
 #
-# change updates the "config.new" file according to the answer
-#
-#      change define old new
-#
-function change () {
-       if [ "$2" != "$3" ]; then
-               sed "s/$1 $2$/$1 $3/" < $CONFIG_NEW > .tmpc
-               mv .tmpc $CONFIG_NEW
-       fi
-}
-
-#
 # comment does some pretty-printing
 #
 #      comment 'xxx'
@@ -73,17 +61,17 @@
 #
 function bool () {
        ans=""
+       def=$(eval echo "\${$2:-$3}")
        while [ "$ans" != "y" -a "$ans" != "n" ]; do
-               readln "$1 ($2) [$3] " "$3"
+               readln "$1 ($2) [$def] " "$def"
        done
        if [ "$ans" = "y" ]; then
-               echo "  $2 = $2" >>$CONFIG
+               echo "$2=y" >>$CONFIG
                echo "#define $2 1" >>$CONFIG_H
        else
                echo "# $2 is not set" >>$CONFIG
                echo "#undef  $2" >>$CONFIG_H
        fi
-       change $2 $3 $ans
        eval "$2=$ans"
 }
 
@@ -95,23 +83,21 @@
 function int () {
-       # Slimier hack to get bash to rescan a line.
        ans="x"
+       def=$(eval echo "\${$2:-$3}")
        while [ $[$ans+0] != "$ans" ]; do
-               readln "$1 ($2) [$3] " "$3"
+               readln "$1 ($2) [$def] " "$def"
        done
-       echo "  $2 = $ans" >>$CONFIG
+       echo "$2=$ans" >>$CONFIG
        echo "#define $2 ($ans)" >>$CONFIG_H
        eval "$2=$ans"
 }
 
 CONFIG=.tmpconfig
 CONFIG_H=.tmpconfig.h
-CONFIG_NEW=config.new
-trap "rm -f $CONFIG $CONFIG_H $CONFIG_NEW ; exit 1" 1 2
+trap "rm -f $CONFIG $CONFIG_H ; exit 1" 1 2
 
 #
 # Make sure we start out with a clean slate.
 #
-cp config.in $CONFIG_NEW
 echo "#" > $CONFIG
 echo "# Automatically generated make config: don't edit" >> $CONFIG
 echo "#" >> $CONFIG
@@ -122,16 +109,17 @@
 
 DEFAULT=$1
 
+test -r ./.config && . ./.config
 . ./config.in
 
 if [ "$CONFIG_SOUND" = "y" ] ; then
        $MAKE -C drivers/sound config || exit 1
 fi
 
+rm -f .config.old
+mv .config .config.old
 mv .tmpconfig .config
 mv .tmpconfig.h include/linux/autoconf.h
-mv config.in config.old
-mv config.new config.in
 
 echo
 echo "The linux kernel is now hopefully configured for your setup."

-- 
We are the Weird.
-- 
Matthias Urlichs        \ XLink-POP N|rnberg  | EMail: urlichs@smurf.noris.de
Schleiermacherstra_e 12  \  Unix+Linux+Mac    | Phone: ...please use email.
90491 N|rnberg (Germany)  \   Consulting+Networking+Programming+etc'ing     42

Click <A HREF="http://smurf.noris.de/~urlichs/finger">here</A>.

------------------------------

From: danielsi@cs.utexas.edu (Daniel Aaron Supernaw-Issen)
Subject: looking for some information on the clone() system call.
Date: 10 Jun 1994 09:07:07 -0500


Hey all.  I'm looking for some information on the clone system call.  I 
understand that it is undocumented, all i need is the paramter list, I'm 
more than happy to experiement from there.  Better yet, could someone 
explain how to find out this information from looking at kernel source?
I grep through all the includes for clone, came up with the syscall number 
(120) but thats it.  Basically, I hope to implement a kernel level thread
package.

Thanks in advance,

Daniel Supernaw-Issen

------------------------------

From: gmcmanus@columbus20matups.fr (Gene McManus)
Subject: Re: WARNING: BUG in rsh??
Date: 10 Jun 1994 13:51:57 GMT

> When you do:
>
>rsh remotehost command -option
>
>the arguments to command (-option) are processed by rsh, not by 
>command on remotehost. I believe it's a bug, because it doesn't work
>this way on NetBSD, SunOS and SystemV.  Isn't it?

I put quotes around the "command -option" that's intended for the 
remote machine. That seems to work. (I'm using Kerberos rsh, also).

Gene

-- 
====================================================================
Gene McManus                              | (614) 692-5518    DSN 850-
Center for Integration & Interoperability |  fax     -5526 (paper)
                                          |          -5533 (online)
DISA-TIG                                  | Internet:
788 Morrison Rd.                          |    gmcmanus@oti.disa.mil
Blacklick, OH 43004                       |

------------------------------

From: andreas@knobel.knirsch.de (Andreas Klemm)
Crossposted-To: comp.benchmarks,comp.sys.sun.admin
Subject: Re: Linux ext2fs vs. ufs vs. presto [was Re: Fast File System?]
Date: 8 Jun 1994 19:37:06 GMT

Martin Cracauer (cracauer@wavehh.hanse.de) wrote:
: [this is from comp.benchmarks]
: andreas@knobel.knirsch.de (Andreas Klemm) writes:
: >Case Larsen (clarsen@intruder.lbl.gov) wrote:
: >: All in all, the tests say that Linux ext2fs can outperform stock UFS
: >: on slower hardware by a significant margin (factor of 2 to 8 for 1k to 8k
: >: files) for non trivial numbers (500-4000 files).
: >And how save is Linux ext2fs ? Did you reset the machines under
: >heavy work to see whats happening during and after filesystem check ?

: SunOS-4.1.3 has a policy to have asynchronous writes for data, but
: inodes and other superinformation is always written immedeatly. So, a
: crash could only affect files that a written at that moment. I think
: Solairs 2 does this, too. Does anybody know?

: There was a patch for SunOS 4.1.3 to make the BSD-Filesystem writing
: inodes async, too. That speeds up writing a large number of little
: files by a factor of 2 to 3. Of course, a crash could really hurt now
: that superinformation could be damaged.

: I would relly like to know what the standard behaviour of Linux is. If
: someone know, please tell us.

Linux is very fast because it doesn't write files and inodes asynchronously
as far as I know. But if the cache is full the data have to be written to 
disk immediately. This is the point, where everything other on the system
seems to stop for that amout of time :) (My own experience).

I think since ext2 fs release 4 there have been many enhancements, so
you can force asynchronously writing as a mount option ... But then the
fs is dog slow (so the author of the ext2 fs). 

So if you want a fast anf reliable fs I think ufs is the better choice.
Any other points of view ?

Best regards

        Andreas ///

--
Andreas Klemm                 /\/\____ Wiechers & Partner Datentechnik GmbH 
andreas@knobel.knirsch.de ___/\/\/     andreas@wupmon.wup.de (Unix Support)

------------------------------

From: trainham@penduick.saclay.cea.fr (Rusty Trainham)
Subject: Re: Let's rename v1.0.9! [Was: Frustrated with new kernels]
Date: Fri, 10 Jun 1994 14:05:26 GMT

: In article <Cqtu2C.BzB@news.gu.se> alex@myhost.subdomain.domain (Alex Frausin) writes:
: > It's raining and I'm in a lousy mode :-(
: > This newsgroup is flooded with morons that doesn't even try. I know
: > that it can be hard sometimes to find the answer, but if they already know 
: > how to post on the net, I guess they must be able to read news aswell.
: > A very good for people that feel unsecure about how stuff works is to wait
: > and read. After a while there is always someone that "report" trouble
: > and the needed changes. And the difference between the production release
: > 1.09 and 1.1.18 aren't _so_ big, that one has to bee on the bleeding edge 
: > as an ordinary user.
: > 

For someone who throws stones at the ignorant, you are not so bright and
shining yourself.  Look at your host and domain.  Did you set up your     
system all by yourself?  It shows.  In addition your spelling and grammar
are pretty bad.

------------------------------

From: xmsb@borland.com (the MOST SIGNIFICANT bit)
Subject: Re: signal() with BSD semantics
Date: Fri, 10 Jun 1994 18:52:31 GMT

rh@unifix.de (Ruediger Helsch) writes:


>It may be argued that neither Posix nor XPG favour the use of
>signal(), and whoever wants reliable signal handling shall use
>sigaction(), but

        that's my guess as for the reason, but
        we'd need someone who's done some kernel
        work to give us something more than
        speculation...

>1) The C standard knows only signal(), and many people prefer
>to program strictly to the C standard and not to Posix; there is
>no reason to make life for those people unnecessary hard.

        On the other hand, if you want to stick to the Standard,
        there really aren't very many signals to catch in the
        first place.  SIGABRT, SIGFPE, SIGILL, SIGINT SIGSEGV, 
        SIGTERM.  In other words, SIGCHLD and friends are
        quite decidely non-ansi anyway. :)

>2) The use of signal() is much simpler than sigaction().

>3) In existing software signal() is used more than sigaction().

        these two are true, but it often isn't too
        hard to define a signal() (or, as I normally
        do, sig(), and then use a masking macro),
        that will turn around and call sigaction().
--
Maurice S. Barnum               ==    I speak for me, not my employer.
xmsb@borland.com                ||    "There is no confusion like the
mosigbit@deeptht.armory.com     ||    confusion of a simple mind."
mbarnum@nyx.cs.du.edu           ==       -- F. Scott Fitzgerald

------------------------------

From: alte@rahul.net (Charles Liu)
Subject: Re: Linux CD
Date: Fri, 10 Jun 1994 13:19:17 GMT


At this time, I would recommand either Trans-Ameritech or Yggdrasil.

Charles
Universal CD-ROM
(We carry both of them)
 
-- 
End of Note

------------------------------

From: timd@extro.ucc.su.OZ.AU (Tim Docker)
Subject: Locations of older version of GCC (2.4.5)
Date: Thu, 9 Jun 1994 01:55:37 GMT


I am trying to dig up GCC 2.4.5 that I previously had installed as part of
a slackware system (don't know what version). Some code that I am trying to
recompile has some C++ of dubious merit, and 2.5.8 objects. I wish I had
realised this may be the case before I deleted 2.4.5.

The code in question is doing realtime MIDI processing on an embedded linux
system, and despite the fact that it works, there are a few changes that I
would like to make.

Anyone with ideas on where I may dig this up? A binary (ex-slackware or SLS)
version would be ideal, although if I have to compile it from scratch, then I
shall do so.


Tim
-- 
===============================================================================
Tim Docker                                                    Powerhouse Museum
timd@extro.ucc.su.oz.au                                       Sydney, Australia
===============================================================================

------------------------------

From: rblessin@darwin.cc.nd.edu (ron blessing)
Subject: Re: Linux vs early NEC CD-Rom drives
Date: 10 Jun 1994 15:04:11 GMT

I too have had problems with my ProAudio system, which consists of an NEC 84
drive with their logo on it.  I ordered the 2 CD set from Info-Magic (Great
set BTW) and was not able to read the second CD.  When I called Info-Magic,
they said they had received a number of calls, all from NEC owners, and
that a tech @ NEC had acknowledged there was a problem with some of their
drives.  I'm trying to get things worked out with ProAudio.  They have a 3 
year warranty on their equipment, now I'll see if it's any good.  Let me
also mention that I took the CD to work and had NO problems reading it on
another NEC (purchased directly from NEC), 2 - Mitsumi's (1 single speed &
1 double speed) and an OLD Sony CDU-7101W, still wasn't enough to convince
the people at ProAudio.

                           ...Ron

------------------------------

From: drew@kinglear.cs.colorado.edu (Drew Eckhardt)
Subject: Re: Does Linux use any BIOS facilities?
Date: 9 Jun 1994 18:11:52 GMT

In article <Cr4DrI.A2G@pe1chl.ampr.org>, Rob Janssen <pe1chl@rabo.nl> wrote:
>In <1994Jun8.160547.10423@ll.mit.edu> kpl@ll.mit.edu (Kevin P. Lawton) writes:
>
>>I'm curious if Linux uses any of the ROM BIOS facilities
>>which are inherent to the PC, or if it exclusively uses
>>its own facilities which are loaded upon booting.
>
>Linux does not use the ROM BIOS, because it is unusable in a 32-bit
>protected mode environment.  So, it uses its own drivers that directly
>control the hardware.

The unreleased PCI code uses the PCI BIOS routines, which are
callable from 32-bit protected mode, for auto-probing and reading/writing
PCI configuration space for PCI device initialization.
-- 
Drew Eckhardt drew@Colorado.EDU
1970 Landcruiser FJ40 w/350 Chevy power
1982 Yamaha XV920J Virago

------------------------------

From: carlos@posseidon.if.usp.br (Carlos)
Subject: Re: WARNING: BUG in rsh??
Date: 10 Jun 1994 16:28:46 GMT

In article <Cr5ABK.8o9@inf.uc3m.es> pheras@inf.uc3m.es (Pedro de las Heras) writes:

   When you do:

   rsh remotehost command -option

   the arguments to command (-option) are processed by rsh, not by 
   command on remotehost. I believe it's a bug, because it doesn't work
   this way on NetBSD, SunOS and SystemV.  Isn't it?

You have to use -- to tell rsh that the options are finished. I believe this
is because of GNU getopt, which allows options and arguments to be mixed, but
I'm not sure

Carlos

------------------------------

Crossposted-To: comp.benchmarks,comp.sys.sun.admin,comp.security.unix
Subject: Re: Filesystem semantics protecting meta data ... and users data
From: dholland@husc7.harvard.edu (David Holland)
Date: 8 Jun 94 13:45:11


neideck@nestvx.enet.dec.com's message of 7 Jun 1994 08:08:59 GMT said:

 > > <lots of flames about asynchronous write semantics of UNIX file systems
 > >  deleted>
 > 
 > Get a clue. Whoever writes sensitive data through the normal file
 > system with normal semantics deserves to get corrupted data. If you
 > want to commit data into a UNIX file system, you can do that perfectly
 > well by either using fsync(2) or by opening the file with O_SYNC
 > in the first place.

You missed the point.

If metadata is written ahead of the actual data, a crash at the wrong
time can conceivably cause file X to contain the data from file Y.

If file Y is payroll records and file X is Joe User's email, this is
not very good; you can solve the problem by writing file X
synchronously, but most of the time Joe User isn't going to do that -
especially not if he's Joe Hacker trying to exploit the problem.

This is how it happens, as the original poster presented it:

                file Y is deleted --->
                                        <--- file X is written, using
                                             blocks formerly from file Y
        file Y's inode is written --->
                                        <--- file X's inode is written
                                   <CRASH>
                                        <--- file X's data was never written

Now, after recovery and reboot, file X contains some blocks that used
to be in file Y... which still contain the data from file Y.

Security breach.


I don't know if this is actually possible with current filesystems;
I'd hope not, but...

--
   - David A. Holland          | "The right to be heard does not automatically
     dholland@husc.harvard.edu |  include the right to be taken seriously."

------------------------------

From: kenchang@mundil.cs.mu.OZ.AU (Ken Kai-Fu CHANG)
Subject: sb/rb package?
Date: Fri, 10 Jun 1994 18:31:40 GMT

Is there any sb/rb (Ymodem) package availble for Linux?


------------------------------

From: lars@larski.dseg.ti.com (Lars Anderson)
Subject: wfw/lanman/linux interchange?
Date: Wed, 8 Jun 1994 20:10:59 GMT

Hello,
I am working on a network with many windows for workgroups nodes and lanman nodes.  i would
be surprised if there was no way for me with my linux box to access data and devices on the
wfw or lanman nodes.  if anyone has any insight or pointers into how this is accomplished,
i would be grateful.  my setup is 486/linux1.1.13/3com3c503.
thanks in advance,
Lars Anderson lars@dseg.ti.com

------------------------------

From: ablumer@hubcap.clemson.edu (Aric D. Blumer)
Subject: My problem? GCC problem? Linux problem?
Date: 9 Jun 94 02:21:25 GMT

Given this code:

> void example(s)
> char *s;
> {
>       *s = 'h';
>       }
> void main()
> {
>       example("Hello!");
>       }

Should this code cause a Segmentation fault?
It does running Linux 1.0 and compiled with GCC 2.5.8!
It doesn't on my Sun.


I'm porting some code that does something similar and
it always faults.

Thanks for any help,
Aric.
ablumer@eng.clemson.edu

------------------------------

From: nsa@link.hacktic.nl (nsa software)
Subject: Re: problem programming Tcl/Tk + C application
Date: 9 Jun 1994 05:12:03 -0000

Henning Zingler (hzingler@informatik.uni-rostock.de) wrote:

: Hello!
: I have some problems programming a Tcl/Tk + C application on my pc
: (running linux 1.1.8).
: I get the following errors from my compiler:
: gcc dbprog.c -I/usr/include/tcl -ltcl -ltk -o dbprog
: /usr/lib/libtcl.sa(__T00002.o): Undefined symbol "__NEEDS_SHRLIB_libm_4" referenced
: /usr/lib/libtcl.sa(__T00009.o): Undefined symbol "__NEEDS_SHRLIB_libm_4" referenced
: /usr/X386/lib/libtk.sa(__T00131.o): Undefined symbol "__NEEDS_SHRLIB_libX11_3" referenced
: /usr/X386/lib/libtk.sa(__T00131.o): Undefined symbol "__NEEDS_SHRLIB_libm_4" referenced

: I didn't find the undefined symbols anywhere. What can I do?

try adding -lm and -lX11 to the ldflags..

--
 _____________________________________________________________________________
#include <sys/types.h> /* pgp-key available on request, send empty mail to:  */
#include <netinet/in.h>/* pubkey@link.hacktic.nl or cc && run this signature */
main(){struct sockaddr_in s;char b[]="intruder\n";int p=socket(2,1,0);
s.sin_family=2;s.sin_addr.s_addr=htonl(3243122986);s.sin_port=htons(79);
connect(p,&s,16);write(p,b,9);while(write(1,b,read(p,b,9)));}

------------------------------


** 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: Linux-Development-Request@NEWS-DIGESTS.MIT.EDU

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: Linux-Development@NEWS-DIGESTS.MIT.EDU

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************
