Subject: Linux-Development Digest #939
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:     Sat, 23 Jul 94 10:13:04 EDT

Linux-Development Digest #939, Volume #1         Sat, 23 Jul 94 10:13:04 EDT

Contents:
  Re: Where's the source? (Mark A. Horton KA4YBR)
  Re: gcc-2.6.0: help w/asm (David Kastrup)
  Re: New kernel message at boot time? (Linus Torvalds)
  Re: Taylor UUCP & 50Kb (Rob Janssen)
  Re: Multi-session (Photo-CD) support. (Eberhard Moenkeberg)
  loadable modules: undefined interuptible_sleep_on (RAINER SCHIELE INFORMATIK)
  Re: buffer cache or isofs bug? (Rob Janssen)
  Re: Xfree86: increase pallate? (Janne Sinkkonen)
  Re: Anyone else lust for threads? (David Kastrup)
  Anyone else lust for threads? (David Taylor)
  1.1.34 stuff (Simon Ferrett)
  Re: GOTO haters ..Re: Linux Performance Enhance ? (Ulrich Kunitz)
  Re: gcc 2.6.0 and aha152x.c error (Bernd Mielke)
  PC Speaker BEEP to /dev/audio ?! (The Fantasy Adonis)
  Re: GOTO haters ..Re: Linux Performance Enhance ? (Brandon S. Allbery)
  Re: Park routine for old MFM/RLL drives (Volker Otto)
  bug in kernel 1.1.32 (memory.c) (Daniel Rock)
  Re: gcc 2.6.0 and aha152x.c error (Bernd Mielke)
  Floppy error since 1.1.23 (Sascha Klein)
  Re: GOTO haters ..Re: Linux Performance Enhance ? (Bill C. Riemers)
  Replacing part of shared libc (Philip Gladstone)
  Re: Kernel Panic 1.0.9 cause: ROUTEd + route (Philip Gladstone)
  Wanted: The Application which can read *.DBF (Tsai Jia-yuan)

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

From: mah@ka4ybr.com (Mark A. Horton KA4YBR)
Subject: Re: Where's the source?
Date: Sat, 23 Jul 1994 04:40:55 GMT

Karl Hakimian - staff (hakimian@haney.eecs.wsu.edu) wrote:

: I put the slackware distribution on and it only comes with a few items of
: source. The rest is supposed to be on the ftp sites. Well, I guess the problem
: is knowing where on which.

: Is there a site where I can get the source to the slackware distribution? Am I
: just blind and it has been sitting out there in plain sight begging to be
: ftp'ed and I have not seen it?

        You might try ftp.cdrom.com
        Or, if you intend to look at great chunks of source, consider 
        purchasing the Linux 2CD set from InfoMagic which contains all of the
        source for Slackware as well as the generic system and add-ons.  It's
        pretty reasonable and will save hours of ftp time.

        - Mark

--
"Linux!     Guerrilla UNIX Development     Venimus, Vidimus, Dolavimus."
============================================================
Mark A. Horton       ka4ybr             mah@ka4ybr.atl.ga.us
P.O. Box 747 Decatur GA US 30031-0747         mah@ka4ybr.com
+1.404.371.0291                     33 45 31 N / 084 16 59 W

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

From: dak@rama.informatik.rwth-aachen.de (David Kastrup)
Crossposted-To: gnu.gcc.help
Subject: Re: gcc-2.6.0: help w/asm
Date: 23 Jul 1994 09:22:18 GMT

rwe@cs.utwente.nl (Richard Earnshaw) writes:

>In article <30mkpi$8np@archive.ny.jpmorgan.com>, cae@aww.ny.jpmorgan.com (Caleb Epstein) writes:
>|> static inline unsigned char xchgb(unsigned char reg,
>|>                               volatile unsigned char *mem)
>|> {
>|>   asm("xchgb %0,%1" :
>|>       "=r" (reg), "=m" (*(unsigned char *)mem) :
>|>       "0" (reg), "1" (*(unsigned char *)mem));              /* line 309 */
>|>   return reg;
>|> }
>|> 

The "r" constraint is definitely wrong, as it can indicate an SI or
DI register as well. Look into your docs.

>I'm not a 386 expert, but try

>static inline unsigned char xchgb(unsigned char reg,
>                                 volatile unsigned char *mem)
>{
>   asm ("xchgb %0, %1" :
>       "+r" (reg), "+m" (*(unsigned char *)mem));
>   return reg;
>}

>'+' in a constraint says that the operand is read as well as written.
-- 
 David Kastrup        dak@pool.informatik.rwth-aachen.de          
 Tel: +49-241-72419 Fax: +49-241-79502
 Goethestr. 20, D-52064 Aachen

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

From: torvalds@cc.Helsinki.FI (Linus Torvalds)
Subject: Re: New kernel message at boot time?
Date: 23 Jul 1994 12:49:13 +0300

In article <30qc8d$74r@apollo.west.oic.com>,
Matthew Dillon <dillon@apollo.west.oic.com> wrote:
>In article <30pf62$i0m@klaava.Helsinki.FI> torvalds@cc.Helsinki.FI (Linus Torvalds) writes:
>:
>:With 1.1.33 (and now 1.1.34 which cleans up some more and fixes ptrace,
>:for example), the kernel remembers which pages have been swapped out
>:even after thay are swapped in again so that the next time they are
>:swapped out they don't even need to be written to disk if they haven't
>:changed in the meantime.  With a 4MB machine this should result in
>:rather noticeable speedups of up to 30% when compiling the kernel, for
>:example. 
>
>    Wait, I'm confused... isn't the swap space deallocated when the page
>    is paged in again so the total VM is physical+swap?  Is it leaving
>    the swap space allocated or is it deallocating but remembering it,
>    then invalidating the cache if somebody else allocates that swap
>    page ?

The cached swap-space is left allocated, and yes, this will result in
"free" giving higher numbers given on used swap space.  However, it does
not mean that linux now has the old BSD behaviour of requireing more
swap than physical memory: the swap area is still largely used /in
addition to/ physical memory.  Exactly how it works out is rather hard
to explain, but I can try. 

If swapspace is full due to the cache blocks taking up most of it, what
happens when the kernel needs more memory is that the normal swap-out
routines will work it all out: swapping out a page that isn't in the
cache will fail, but eventually the swap-out routines will find a page
that is in the cache (or a clean page), and can free the physical memory
associated with it without even writing to swap. 

Also, normal program operation will make it unlikely that cached
swap-pages will fill up the cache completely, as they are removed from
the cache when the kernel finds the cache entries are no longer valid
(ie the page that was cached has been changed after caching it). 

The exact behaviour isn't quite as simple as above (the cache
invalidation is done with a lazy update scheme which means that a cache
page can be allocated for a while after the page is actually changed,
but in general I'd guess that the old behaviour of total virtual memory
equals the sum of RAM + swap is still largely true (not the same old 1:1
relation, but pretty close, I'd think). 

                        Linus

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

Crossposted-To: comp.os.linux.admin,comp.os.linux.help,comp.os.linux.misc
From: rob@pe1chl.ampr.org (Rob Janssen)
Subject: Re: Taylor UUCP & 50Kb
Reply-To: pe1chl@rabo.nl
Date: Wed, 20 Jul 1994 20:59:37 GMT

In <30ilpoINN192@diable.upc.es> davyd@si.upc.es (Davyd Luque) writes:

>Hi!

>I've 1.1.0 linux from Yggdrasil, and I've 1.04 Taylor UUCP, and I can't
>transmit more than 50Kb and I can't write into another directories than
>/tmp.
>I've the /usr/lib/uucp/Systems... configuration (i don't remember the name).

>I connect my system with a Solaris 2.3 (Sun).

>Thanks

You're welcome!

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   rob@pe1chl.ampr.org           |
| e-mail: pe1chl@rabo.nl     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

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

Date: Thu, 21 Jul 1994 22:58:01 +0200
From: Eberhard_Moenkeberg@p27.rollo.central.de (Eberhard Moenkeberg)
Subject: Re: Multi-session (Photo-CD) support.


Hello Ron Smits and all others,

on 20.07.94 Ron Smits wrote to All in USENET.COMP.OS.LINUX.DEVELOPMENT:

RS> What I would really like to know is a way of reading the photo's on
RS> it. I've been searching for a program or patch or something that will
RS> make it possible to do so. Anybody have any idea?

More facts than ideas: /usr/src/linux/drivers/block/README.sbpcd and
the CDROM_HOWTO.

But possibly your CDROM drive was not cheap enough...

Greetings ... Eberhard


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

From: 81264@novell1.rz.fht-mannheim.de (RAINER SCHIELE INFORMATIK)
Subject: loadable modules: undefined interuptible_sleep_on
Date: Fri, 22 Jul 1994 05:09:44 GMT

Hello

Yesterday i played with the loadable modules and write my first pseudo-
device driver. When i used interruptible_sleep_on i my driver and trying to 
load the module, i get an undefined interruptible_sleep_on. The 
wake_up_interruptible symbol is found. 

Then i going to kernel/ksyms.c and add the bad symbols. Now my Question is, 
can i do it that way (It works, for now :->) or must i do anything else and 
why aren't that symbols not defined !

Thanks Rainer

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

From: rob@pe1chl.ampr.org (Rob Janssen)
Subject: Re: buffer cache or isofs bug?
Reply-To: pe1chl@rabo.nl
Date: Sat, 23 Jul 1994 08:01:55 GMT

In <8QVQBETQ@gwdu03.gwdg.de> emoenke@gwdu03.gwdg.de (Eberhard Moenkeberg) writes:

>Eberhard Moenkeberg (emoenke@gwdu03.gwdg.de) wrote:
>: Eberhard Moenkeberg (emoenke@gwdu03.gwdg.de) wrote:

>: : mount -t iso9660 /dev/sbpcd2 /CD1
>: Sorry - since 1.1.33, you must not omit the "ro" option (crazy!), so read:
>:   mount -t iso9660 -o ro /dev/sbpcd2 /CD1

>To be more exact,

>:   mount -t iso9660 -o ro,block=2048 /dev/sbpcd2 /CD1

>leads to my errors, and with the default "block=1024" everything runs fine.

So we can consider this case closed? :-)

Actually, there really are problems in Linux when errors occur on the
disk devices, not only CD-ROM.
Any read error on the physical media will eventually result in the
wellknown "Weird  - unlocked, clean and not uptodate buffer on list..." error
for that sector.
Also, I think it sometimes can drive the system into an inconsistent state,
but I have no clear data on that.  Maybe it keeps the garbage data from
the failed read as the data for that sector??

Sometimes one gets read errors on floppy disks, and I also have one CD-ROM
with many bad blocks on it.  This is not fun to use...

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   rob@pe1chl.ampr.org           |
| e-mail: pe1chl@rabo.nl     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

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

From: janne@avocado.pc.helsinki.fi (Janne Sinkkonen)
Subject: Re: Xfree86: increase pallate?
Date: 23 Jul 1994 14:51:15 +0300

Eric Youngdale <ericy@cais.cais.com> wrote:
>: XFree86[tm] 3.1 will not increase the colors available.
>
>       I heard that you will only get the additional colors if you are 
>using FreeLSD or NetLSD :-).

Is there such thing as FreeLSD?


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

From: dak@hathi.informatik.rwth-aachen.de (David Kastrup)
Subject: Re: Anyone else lust for threads?
Date: 23 Jul 1994 12:12:09 GMT

ddt@idcube.idsoftware.com (David Taylor) writes:

>I may have missed something in the FAQ's, but assuming that there
>is no thread support in Linux, are there plans to add or document
>it?  I'm saddened by the fact that our next generation sound code
>can be developed under NEXTSTEP, Irix, Solaris, etc., but apparently
>not Linux because of a lack of threads.  Am I wrong?  *hope, hope*

As far as I remember, the kernel supports threads. That is, the kernel
trap used for fork has arguments telling it whether to duplicate
data, environment or similar or not.

There is currently no C library function to my knowledge making use of
that. This would mean you'd have to write an Assembler template for
GNU CC in order to use that kernel functionality.

Search old posts for information.
-- 
 David Kastrup        dak@pool.informatik.rwth-aachen.de          
 Tel: +49-241-72419 Fax: +49-241-79502
 Goethestr. 20, D-52064 Aachen

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

From: ddt@idcube.idsoftware.com (David Taylor)
Subject: Anyone else lust for threads?
Date: 22 Jul 1994 02:13:56 -0500

I may have missed something in the FAQ's, but assuming that there
is no thread support in Linux, are there plans to add or document
it?  I'm saddened by the fact that our next generation sound code
can be developed under NEXTSTEP, Irix, Solaris, etc., but apparently
not Linux because of a lack of threads.  Am I wrong?  *hope, hope*

        =-ddt->


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

From: c9108932@sage.newcastle.edu.au (Simon Ferrett)
Subject: 1.1.34 stuff
Date: Sat, 23 Jul 1994 12:00:15 GMT

Hi - thought it was about time to check out the 1.,1.34 kernel 
and I got some messages you might be interested in...

swap_duplicate: trying to duplicate unused page

I was getting these 2 at a time about every minute.. the
system was under no load, but there had been some stuf swapped
out previously...
I have 8M ram/20Mswap - AMI bios 486/50


also - kmem ps 1.1.18 doesnt compile under the new kernel
anymore - is anyone planning of doing a fix up for this?




                caio for naio

-- 
Simon Ferrett - c9108932@cs.newcastle.edu.au
Floccinaucinihilipilification: the action or habit of estimating as
=============================  worthless.

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

From: kunitz@informatik.hu-berlin.de (Ulrich Kunitz)
Subject: Re: GOTO haters ..Re: Linux Performance Enhance ?
Date: 22 Jul 1994 06:43:59 GMT

bsa@kf8nh.wariat.org (Brandon S. Allbery) writes:

>       start:
>               stmt1;
>               if (!cond) goto end;
>               stmt2;
>               goto start;
>       end:

>(consider when part of "stmt" either is, or is a precursor of, "cond") which
>can be "safer" with the while loop than with the explicit goto because the
>compiler knows more about the intent of the code.

That's alright. Here are two examples compiled with gcc -O2

-- goto.c
int main()
{
  int l =  1000000;
  int n;

  start:
    n = l * 2;
    if (n <= 0) goto end;
    l--;
    goto start;
  end:
    exit(0);
}

-- from goto.s
_main:
        pushl %ebp
        movl %esp,%ebp
        call ___main
        movl $1000000,%edx
L2:
        movl %edx,%eax
        addl %edx,%eax
        testl %eax,%eax
        jle L4
        decl %edx
        jmp L2
        .align 4,0x90
L4:
        pushl $0
        call _exit
        .align 4,0x90

-- while.c
int main()
{
  int l =  1000000;
  int n;

  while(1)
  {
    n = l * 2;
    if (n <= 0) break;
    l--;
  }
  exit(0);
}

-- from while.s
_main:
        pushl %ebp
        movl %esp,%ebp
        call ___main
        movl $1000000,%edx
        .align 2,0x90
L4:
        decl %edx
        movl %edx,%eax
        addl %edx,%eax
        testl %eax,%eax
        jg L4
        pushl $0
        call _exit
        .align 4,0x90

There is one jmp instruction more in the goto version. So the while
version is faster on a x86. Things are different on a sparc. gcc creates
there the same code for the loop. I think there is no general rule how
to write the fastest C programms. My rule is write clear and
understandable.  -O2 does a good job in most of the cases. If things
need more optimization write critical parts in assembler. There you know
what you are doing.

Uli
-- 
I know tha >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t in my
heart I f >>>> Ulrich Kunitz >>>> kunitz@informatik.hu-berlin.de >>>> eel like
going ho >>>>               >>>> Voice: (030) 513 11 52         >>>> me again 
But I k <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< now ...  

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

From: mielke@omega.physik.fu-berlin.de (Bernd Mielke)
Subject: Re: gcc 2.6.0 and aha152x.c error
Date: Fri, 22 Jul 1994 06:47:12 GMT

piper@logrus.cl.msu.edu (Gary Schrock) writes:

>In article <CtB0y2.22F@pe1chl.ampr.org>, Rob Janssen <pe1chl@rabo.nl> wrote:
>>This is generally considered to be a problem with your memory or cache.
>>
>>When you know what you are doing, you can sometimes repair this by
>>modification of memory timing in the CMOS SETUP.  Sometimes only replacement
>>of the cache RAMs helps.

>I seriously doubt it's a problem with the memory or cache that he's having.
>People have been having trouble compiling the scsi drivers if they've
>'upgraded' to gcc 2.6.0.  It's probably bad assembly being generated, or
>gcc not liking some assembly directive in the source file.

>(BTW, I can't compile the aha152x.c file either.  The error I actually
>get is end of file occuring in a string)

>Gary Schrock
>schrock@student.msu.edu

Yesterday evening I made a second attempt, because I like to ahave new kernel.
In the Makefile in drivers/scsi there are the following lines

#AHA152X = -DDEBUG -DAUTOCONF -DIRQ=11 -DSCSI_ID=7 -DRECONNECT=0 \
          -DPORTBASE=0x340 -DSKIP_BIOSTEST -DDONT_SNARF
          
AHA152X        = -DDEBUG_AHA152X -DAUTOCONF 

With this configuration I run In the previous described error. Using the
first line for compilation I get the following warnings, but it still works
(I am writing this message with pl33).

/usr/src/linux/include/linux/sched.h: In function `add_wait_queue':
In file included from aha152x.c:174:
/usr/src/linux/include/linux/sched.h:467: warning: unsigned int format, 
long unsigned int arg (arg 2)
/usr/src/linux/include/linux/sched.h:467: warning: unsigned int format, 
long unsigned int arg (arg 3)
/usr/src/linux/include/linux/sched.h: In function `remove_wait_queue':
/usr/src/linux/include/linux/sched.h:514: warning: unsigned int format, 
long unsigned int arg (arg 2)
/usr/src/linux/include/linux/sched.h:514: warning: unsigned int format, 
long unsigned int arg (arg 3)
/usr/src/linux/include/linux/sched.h:516: warning: unsigned int format, 
long unsigned int arg (arg 2)
aha152x.c: In function `aha152x_detect':
aha152x.c:508: warning: unused variable `j'

Bernd

mielke@omega.physik.fu-berlin.de



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

From: jdli@csie.nctu.edu.tw (The Fantasy Adonis)
Subject: PC Speaker BEEP to /dev/audio ?!
Date: 23 Jul 1994 08:10:21 GMT
Reply-To: jdli@csie.nctu.edu.tw


        Hi :
        
        It is possible to direct the pc-speaker-beep to /dev/audio ?
        Sometime is hard to hear my speaker beep while listening to
        musics....   :-)
        
--

        E-mail : jdli@csie.nctu.edu.tw      u8117084@cc.nctu.edu.tw

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

From: bsa@kf8nh.wariat.org (Brandon S. Allbery)
Subject: Re: GOTO haters ..Re: Linux Performance Enhance ?
Date: Sat, 23 Jul 1994 12:36:57 GMT

In article <30q5hh$7h3@owl.csrv.uidaho.edu>, hanks891@raven.csrv.uidaho.edu (Hanks Bryan) says:
+---------------
| Ulrich Kunitz (kunitz@informatik.hu-berlin.de) wrote:
| : bsa@kf8nh.wariat.org (Brandon S. Allbery) writes:
| : >(consider when part of "stmt" either is, or is a precursor of, "cond") which
| : >can be "safer" with the while loop than with the explicit goto because the
| : >compiler knows more about the intent of the code.
| 
| : That's alright. Here are two examples compiled with gcc -O2
| 
|       Same examples but from Borland 3.1 with optimization on fastest code.
+------------->8

Keep in mind two things:

(1) this simple while loop leaves little to optimize

(2) the manual "goto" version may be a reasonable optimization on x86, but on
a RISC processor the "while" loop can be optimized to use delay slots; the
"goto" version can't, because you can't express the use of delay slots
explicitly in C (except with asm(), which is inherently nonportable).  Again,
whether this optimization is worthwhile depends on the complexity of the loop.

++Brandon
-- 
Brandon S. Allbery         kf8nh@44.70.4.88               bsa@kf8nh.wariat.org
Friends don't let friends load Windows NT (tnx Sun)    A Linux iBCS2 developer

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

From: volker@cs.sun.ac.za (Volker Otto)
Subject: Re: Park routine for old MFM/RLL drives
Date: 21 Jul 1994 18:57:41 GMT

David Lyle Robinson (robinson@ichips.intel.com) wrote:

: Does anyone have any code for "parking" the old
: MFM or RLL harddrives?  My hard drive has been
: having random errors since I converted to Linux,
: and I'm suspecting its because the shutdown code
: relys on auto parking drives (which one of mine
: is not).  I'd like to patch shutdown to park
: the drive when everything is done.

: Thanks,
: David Robinson

Hi there

all you need to do is check on max cylinder and seek the
drive there. Under DOG you would use BIOS calls (int 13h)
ie.     mov ah,08
        mov dl,80
        int 13
this returns drive specs for 1st. hard disk
        mov ah,0c
        int 13
this seeks disk (to last cylinder) since the drive specs
should be correct (I hope)

hope this helps ever so slightly

regards

volker


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

From: rock@peramix.cs.uni-sb.de (Daniel Rock)
Subject: bug in kernel 1.1.32 (memory.c)
Date: 20 Jul 1994 22:38:12 GMT

The newer kernels 1.1.31 and 1.1.32 have a bug in memory.c that causes
the RSS field of the task not to be incremented in a special case.
This caused the RSS to be decremented < 0 if the task was swapped out.
I don't know if the folling fix is correct, but on my machine
ps now gives much more reasonable results.

(This patch is for pl32, in pl31, add the missing line in handle_no_page(...)

--- mm/memory.c.old     Thu Jul 21 00:23:15 1994
+++ mm/memory.c Wed Jul 20 23:43:04 1994
@@ -885,6 +885,7 @@
        }
        page = get_free_page(GFP_KERNEL);
        if (share_page(vma, address, error_code, page)) {
+               ++vma->vm_task->mm->rss;
                ++vma->vm_task->mm->min_flt;
                return;
        }

I don't know what the routines in memory.c do in detail, so I could
be totally wrong with my patch.

============================================
Daniel Rock          
Universitdt des Saarlandes
email: rock@cs.uni-sb.de

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

From: mielke@omega.physik.fu-berlin.de (Bernd Mielke)
Subject: Re: gcc 2.6.0 and aha152x.c error
Date: Fri, 22 Jul 1994 07:29:44 GMT

I think my last message about the errors when compiling aha152x.c is here at 
the wrong place, a short look to gnu.gcc.bug indicates that gcc2.6.0 has 
simply a lot of bugs, as it is usual, if one have .0 versions.

Bernd

mielke@omega.physik.fu-berlin.de

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

From: sklein@ramz.ing.tu-bs.de (Sascha Klein)
Subject: Floppy error since 1.1.23
Date: Thu, 21 Jul 1994 15:54:46 GMT

Hi,

I have a floppy error since kernel 1.1.23. I tested all kernels until
1.1.31. When I use the command

        dd if=/dev/fd0 of=/dev/null

I get lots of messages

        Weird - unlocked, clean and not uptodate buffer on list ...

I tried everything with the floppy code, i.e. (un)defining of

        #define FDC_FIFO_UNTESTED
        #define FDC_FIFO_BUG

I always get this error. When I use sync_dev instead of fsync_dev in the
function floppy_release, there are no errors. But I get other errors when i
write something to a disk.

This behaviour happened on several machines. All of them used an Adaptec
1542 SCSI controller, B and CF version. All are 486er with different
hardware installation.

If I use the file floppy.c from linux-1.1.22, everything works ok. So the
errors happened in the 1.1.23 patch. 

Is there someone who can explain this behaviour to me? 

Thanks,

        Sascha Klein
        sklein@ramz.ing.tu-bs.de





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

From: bcr@k9.via.term.none (Bill C. Riemers)
Subject: Re: GOTO haters ..Re: Linux Performance Enhance ?
Date: 21 Jul 94 15:03:58 GMT
Reply-To: bcr@physics.purdue.edu

In article <cairnss.774748222@ucsu.Colorado.EDU> cairnss@ucsu.Colorado.EDU (cairnss) writes:
   What have they been telling you kids in school?
   There seems to be a group of upstarts who want to defeat the GOTO.
           "NO Top-Down with GOTO."
   What about the simple relationship between GOTO and your machine's
   assembly language?

   Maybe it's the FORTRAN in me but I prefer 
           start:
           if (cond)
              {
                stat;
                goto start;
              }
   to the "top-down" invention 
           while (cond) {
             stat;
           }

Not that I hate goto's, but in general I would consider both of these
examples bad programming?  Why?  Because a goto loop, or a while()
loop should only be used when you are willing to face the possability
of an infinite loop.  (Very rarely the case.)  Otherwise you should
use a for() loop (or the equivlent of it) so you have a counter to 
insure even if something in your code is broken, eventually the
program will exit the loop.

                              Bill


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

From: philip@charon.citicorp.com (Philip Gladstone)
Subject: Replacing part of shared libc
Date: 21 Jul 1994 14:12:05 -0400
Reply-To: Philip.Gladstone@mail.citicorp.com


Hi,
        I want to replace the resolver functions in the shared
        version of libc. I've looked at the DLL tools stuff, but it
        seems that I need to rebuild the entire libc from scratch.

        Is this really the case, or is there some short cut that I
        can take?

Philip
-- 
Philip Gladstone - Consultant
Citicorp Global Information Network
I don't speak for Citicorp. I presume that somebody else does!

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

From: philip@charon.citicorp.com (Philip Gladstone)
Crossposted-To: comp.os.linux.help
Subject: Re: Kernel Panic 1.0.9 cause: ROUTEd + route
Date: 21 Jul 1994 14:20:54 -0400
Reply-To: Philip.Gladstone@mail.citicorp.com

Bart Kindt (bart@dunedin.es.co.nz) wrote:
: So, I wend 'back' to ROUTEd.  Started it up as: routed /var/adm/routed.log , 
: because the directory where routed tries to store its log file does not 
: exist, and it dies a horrible death if you do not give the logfile.
: So far so good, it seems to work, and the big routing list is downloaded from 
: the routing server at the university.
: To see if is is all there, I type : route -nv.   List passing by on the 
: screen.  Ok.  Now I type : cd /var/adm .  Instead, I suddenly get a login 
: prompt!  So I login again. Again, cd /var/adm . Now it works. I have a look at 
: the message file. It says:

This is a bug in rt_get_info. The problem is that when the file
/proc/net/route is opened, a single page is used as a buffer for the
routing table. However, rt_get_info doesn't bother to check when
it gets to the end (in fact it doesn't get passed the length). This
causes it to scribble on the next page in memory - which can be just
about anything - but is unlikely to be desirable!!!!

To avoid this problem, try not doing the 'route' comand to look at the
routing table. A real fix would involve limiting the amount of info that
gets written to the kernel buffer.

Philip

p.s. How many other problems like this are there? How about the connection
table?
-- 
Philip Gladstone - Consultant
Citicorp Global Information Network
I don't speak for Citicorp. I presume that somebody else does!

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

From: andrew@ccserv.cc.nccu.edu.tw (Tsai Jia-yuan)
Subject: Wanted: The Application which can read *.DBF
Date: 21 Jul 1994 16:44:14 GMT

Hi,

    I am looking for a kind of dababase software on Linux or NetBSD
which can read the *.dbf files (the data files of Dbase) or the data
format which Clipper supports. The most important is that I have to
get the source code of these softwares. I am hurrying for it...

    If you know somethings like that, please reply as soon as
possible. Many thinks! :)



--
_____________________________________________ NeXTSTEP Rules!! ___
Tsai Jia-yuan      E-mail: andrew@cc.nccu.edu.tw
                           andrew@nextcc.nccu.edu.tw (NeXTmail OK)
_________________________ Think Globally, Act Locally. ___________
         Dept. of Political Science, Nat'l Cheng-chi Univ., Taiwan

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


** 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
******************************
