Subject: Linux-Development Digest #206
From: Digestifier <[email-masked]>
To: [email-masked]
Date: Thu, 22 Sep 94 15:13:26 EDT

Linux-Development Digest #206, Volume #2         Thu, 22 Sep 94 15:13:26 EDT

Contents:
  Re: Pascal for Linux?? (Corey Brenner)
  stopping harddiskmotor in the kernel? ([email-masked])
  Cant mount /dev/mitsumi_cd with kernel 1.1.45 (Bob Ashmore)
  using dma in programs ? (Elmer Joandi)
  aha152x driver lockup on AIC 6360 chips (Bob Crosson)
  Re: Linux on CD (Rob Janssen)
  Trouble using "execl" ([email-masked])
  How to use SCO libraries?
  SPARC Linux? (Wolf Paul)
  Re: How to use a host as a router - READ THIS (Matthias Urlichs)
  Re: Linux on CD (Beeblebrox)
  Re: Shared Libs: working toward a perm soln // (Alec Muffett)
  Re: Trouble using "execl" (Mitchum DSouza)
  1.1.50 SYS_select bug limits maximum transmittion speeds (Bill C. Riemers)
  Re: 1.1.51 seg fault on shutdown in _floppy_release (Mark Evans)
  Re: Don't use Linux?! (David Holland)
  Re: ** autoconf.h? ** (Nick Kralevich)

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

From: [email-masked] (Corey Brenner)
Subject: Re: Pascal for Linux??
Date: Tue, 20 Sep 1994 16:05:39 GMT

williams ([email-masked]) wrote:
:    I was wondering if anyone knows of a Pascal compiler that is available
: for Linux.. Please give me a pointer. Thanks!
:               --Zach

GNU Pascal 2.5.8 can be found on sunsite.unc.edu... it is standard (not Turbo)
pascal, though, but give it a try.

It seems to work for me, though it produces *HUGE* executables (up to about 4
times as large as an unstripped C executable _AFTER_ stripping!).

Corey Brenner

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

From: [email-masked]
Subject: stopping harddiskmotor in the kernel?
Date: 22 Sep 94 11:38:25 +0200

Is it possible to stop the harddiskmotor when it isn't used a long time?
I'd like the possibility of something like that in the kernel.
I'd like to know if somebody is developing such an addition to the kernel.

please if you have an interesting note E-mail me.
===================================
 Arjan Filius
 
 Email [email-masked]
==================================

* Do you know about DOS?
@ No I've forgotten, is it something like Linux?

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

From: [email-masked] (Bob Ashmore)
Subject: Cant mount /dev/mitsumi_cd with kernel 1.1.45
Date: 21 Sep 1994 21:37:36 +0100

I have a Gateway 2000 4DX2 66V with a mitsumi cd
which works OK with Kernel 1.1.0 but when I installed 
kernel 1.1.45 it will not mount. It gives the error on 
boot;
/dev/mitsumi_cd is not a valid block device.
and if I try to mount it manually it gives the error;
/dev/mitsumi_cd no such device or address.
All is OK if I go back to Kernel 1.1.0.
Has anybody any Ideas 
PS I did say yes to mitsumi when running make config!

Bob Ashmore.

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

From: [email-masked] (Elmer Joandi)
Subject: using dma in programs ?
Date: 22 Sep 1994 14:25:50 +0300

Hi

Can I have dma transfer inside my programm without being root or kernel ?
Can You suggest me dma memeory-memory copy procedure even for msdos ?
is there any way for ordinary programm to protect his memory at physical
(segments) level from its own subprogram ?

thanks
elmer
-- 
tervitades
elmer
[email-masked]

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

From: [email-masked] (Bob Crosson)
Subject: aha152x driver lockup on AIC 6360 chips
Date: 22 Sep 94 12:40:20 GMT

I have a problem with my SCSI driver.  My machine runs either
Linux-1.0.9 or 1.1.50 with the aha152x SCSI driver.  I think the
problem occurs with both versions of Linux.  I was backing up files
(see below) when the errors occurred.  I can't be sure of the
version of Linux that was running when this error occurred because
I don't know which version was running at the time.  Here's the
error message:

waiting: SCSISEQ( ); SCSISIG( DATA OUT ); INSTAT( hi ); SSTAT( BUSFREE );
        SSTAT( BUSFREE ); SXFRCTL0( CH1 ); SIGNAL( ); SELID( 81);
        SSTAT2( SEMPTY ); SFCNT( 0 ); FCNT( 0 ); DMACNTRL0( 16 BIT PIO
        READ );
enabled interrupts( ENBUSFREE )
SCSI disk error: host 0 id 1 lun 0 return code = 30000
scsidisk I/O error: dev 0812, sector 184
SCSI host 0 timed out - aborting command
aha152x: abort( ); SCpnt = 0x001c967c, QUEUE STATUS:
issue_SC:
0x001c967c: target = 1; lun 0; cmd( 08 01 e0 c8 08 00 ): residual = 4096;
buffers = 0; phase |not issued|; next = 0x00000000
current_SC:
none
disconnected_SC:

Later, pretty much the same information was displayed, with the only
difference being

scsidisk I/O error: dev 0812, sector 200

I know that 1.1.50 was running when this error occurred:

scsi0: resetting for second half of retries

It was displayed on the console, but no other information appeared
on the console when this error occurred.

Both errors occurred while accessing the same file (a *.wav file).
Each backup session had been running for 20-30 minutes and they still
stopped in the same file on consecutive runs.

The files being backed up were on /dev/sda3, the third and last
partition on the first Micropolis (see below) SCSI drive.  This drive
has three partions on it.  From fdisk:

partition       begins  ends    blocks  type

sda1            1       60      61424   DOS 16-bit >= 32M
sda2            61      90      30720   Linux swap
sda3            91      1280    1218560 Linux native
        part. 3 has 3 different physical/logical endings
        physical = (255, 63, 32) logical = (1279, 63, 32)

My machine is a Zeos Pantera-90 (Pentium, 90 MHz) with an integrated
Adaptec AIC-6360 SCSI controller chip (BIOS version 1.20L), a Diamond
SpeedStar 64 Alpine PCI video adapter board, a SoundBlaster 16 MCD
sound card, and a SMC8013E Ethernet card.  On the SCSI bus are two
Micropolis 1.2GByte disk drives and one NEC CD-510 CD-ROM drive.  The
Micropolis drives have 64 heads, 32 sectors, 1280 cylinders, with
1MByte/cyl.

I was backing up my files by running a pipe of tar and gzip into a
remote shell (rsh) to a Sun on the same Ethernet network.  On the
Sun I run 'dd' to put the bitstream onto a cartridge tape.

This same method of backing up files has worked for a year or more on
a Dell 450/ME with a AHA1742 and a SMC8013E, running various versions
of Linux, the last being 1.0.9 and 1.1.42.  This problem never
occurred on the Dell.  It also had an SMC8013E, but no sound card.

Maybe I should go try the aha1542 I have lying around?

Bob Crosson
[email-masked]

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

From: [email-masked] (Rob Janssen)
Subject: Re: Linux on CD
Reply-To: [email-masked]
Date: Wed, 21 Sep 1994 21:54:00 GMT

In <[email-masked]> [email-masked] writes:

>:In article [email-masked],  [email-masked] (Rob Janssen) writes:
>:=>In <[email-masked]> [email-masked] writes:
>:=>
>:=>>I was having a chat with someone over the net and we came to this..
>:=>>What if Linux came fully implemented (X & all the disk sets) on a CD and
>:=>>all you would have to do is boot off the CD rom and have the
>:=>>settings/option files (ie ~/.seyon inittab & the rc scrips) in your HD.
>:=>
>:=>>I mean, this would save a lot of diskspace ;)
>:=>
>:=>There are several CD-ROMs available that allow you to do this...
>:=>
>:
>:I can confirm this. I tried it with the TransAmeritech CD, release April 1994.
>:[DELETED]
>:I think it's more reasonable to have the often used stuff on your HD, and the
>:less used stuff you can run from CD-ROM.
>:
>:How do other people feel about running from CD-ROM? I do like the idea of
>:saving HD-space, but it becomes too slow for me to be usable.

>What I think (for what it's worth) would be useful would be
>the ability to merge the CD-ROM's directory with the HD's and
>the HD's files would take precedence.  That way if you want to
>make a change or just want the speed of the HD you could copy
>the file(s) to the HD in the same spot (directory and file name).
>Just a vague thought...

You can (more or less) easily achieve this with symbolic links.
These also is an experimental filesystem (IFS) which can do it automatically.

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   [email-masked]           |
| e-mail: [email-masked]     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

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

From: [email-masked]
Subject: Trouble using "execl"
Date: 22 Sep 1994 13:32:04 GMT
Reply-To: [email-masked]

I am trying to get a task to transform into another program
using the "execl" function call. The task appears to die
with the following displayed on the screen:

        libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.5.26

Can anyone tell me what this means, what I'm doing wrong, and/or
how to fix it?

A trace line just before the "execl" prints but I don't get tracing
from after the "execl" or from the beginning of the target program.

I am running Slackware Pro 2.0 / Linux version 1.1.18.

Thank you, Ian

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

From: [email-masked] ()
Subject: How to use SCO libraries?
Date: 22 Sep 1994 12:51:03 GMT
Reply-To: [email-masked]

hi 
Is it possible to use SCO libraries and produce linux executables?
For eg: Can I link Motif libraries in SCO and produce linux motif
applications? (Ofcourse I should be using the Headers of SCO)

Thanks 
ramana
PS: I know some DOS applications stipulate that only ONE working copy
can be used at a time clause (so that its legal to have a copy at home too)
Does Motif have such a license?

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

From: [email-masked] (Wolf Paul)
Subject:  SPARC Linux?
Reply-To: [email-masked]
Date: Thu, 22 Sep 1994 08:19:47 GMT

I seem to remember something about a port of Linux to the SUN Sparc
architecture.

Can anyone provide details on that?
-- 
         V           Wolf N. Paul, UNIX Support/KSF     [email-masked]
+-----------------+  Alcatel Austria AG, Site "F"     +43-1-291-21-122 (w)
|  A L C A T E L  |  Ruthnergasse 1-7                 +43-1-292-1452 (fax)
+-----------------+  A-1210 Vienna-Austria/Europe       +43-1-220-6481 (h)

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

From: [email-masked] (Matthias Urlichs)
Crossposted-To: comp.os.linux.misc,comp.os.linux.admin
Subject: Re: How to use a host as a router - READ THIS
Date: 22 Sep 1994 09:17:30 +0200

In comp.os.linux.development, article <ianm.780078992@miles>,
  [email-masked] (Ian McCloghrie) writes:
> [email-masked] (Jay Ashworth) writes:
> >Now, since we know that IP addresses must be unique, it follows that it is
> >not correct practice to assign the same address to two different
> >interfaces on the same machine.
> 
IP addresses must be unique, true -- but unique per host, or per host
interface? The RFCs don't say. I say ;-) that I can't think of any problems
with using the same IP address for multiple interfaces, and in fact it's a
good idea to do so (it avoids wasting network addresses).

> Keep in mind that BSD is just the most prevalent TCP/IP
> implementation, and not the definition of the protocols.
> 
Fortunately not, or else we'd still be using BSD 4.2ish networking with
all-zero broadcast addresses.

-- 
The value of marriage is not that adults produce children, but that children
produce adults.
                -- Peter De Vries
-- 
Matthias Urlichs        \ XLink-POP Nürnberg  | EMail: [email-masked]
Schleiermacherstraße 12  \  Unix+Linux+Mac    | Phone: ...please use email.
90491 Nürnberg (Germany)  \   Consulting+Networking+Programming+etc'ing     42
          PGP: 1B 89 E2 1C 43 EA 80 44  15 D2 29 CF C6 C7 E0 DE 
      Click <A HREF="http://smurf.noris.de/~urlichs/finger">here</A>.

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

From: [email-masked] (Beeblebrox)
Subject: Re: Linux on CD
Date: Thu, 22 Sep 1994 12:25:12 GMT

[email-masked] (Jeff Kesselman) writes:

>You can do this with a number of commerical releases of Linux, including 
>the Yygdrasil release, but in practice running UNIX off of a 300kb/sec 
>device is painful and running X off of such a device is glacial.

>Its alright as a way to look at UNIX, maybe, for a brief period, but 
>TOTALLY unstatisfactory for doing real work.

Much as I hate to, I feel I have to disagree with you there.  It depends how
much RAM you have - if you have enough to provide a reasonable size cache and
prevent demand paged binaries from becoming non-resident then it is a
different ball game. It is probably best to have some of the distribution on
the faster hard drive, agreed, but you were being a bit slating about the
concept.  It is workable.
---
   [email-masked]              [email-masked]
             "I follow your steps in snow, the traces disappear.
     We know what we've lost when it's gone, I'm wishing you were here."

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

From: [email-masked] (Alec Muffett)
Subject: Re: Shared Libs: working toward a perm soln //
Date: 22 Sep 1994 11:52:34 GMT
Reply-To: [email-masked]

In article [email-masked],  [email-masked] (Michael O'Reilly) writes:
>Richard Krehbiel ([email-masked]) wrote:

>: Why not this way: Take a fairly large chunk of process virtual address
>: space, say 64M or so, and reserve it for shared library code and data.
>: When a shared library is loaded, find an available spot in that range,
>: load it, and then fix up self-relative code and data references with
>: the library's relocation dictionary.  This way you don't pay the
>: performance penalty of PIC, and you still avoid library load address
>: conflicts.  You have to worry about whether all libraries loaded by
>: all processes will fit into 64M, of course, and someone will have to
>: write a relocating loader.
>
>The problem is 'sharing'. When you load the library, you write all
>over it, so you lose badly in terms of shared the library pages
>between processes.

Surely not, if the "text" segment of the library is widely separated
from the "data" segment, and the pages of the data segment are marked
as COW ?

Once a refcount in the kernel drops to zero, the thing is marked to be
flushed, but put on the end of the free list in case it gets re-used.

...heck, it's starting to sound like the Amiga's shared library scheme,
but because you're using VM, you don't need to use the PC-relative
addressing (a win for x86-en) which was a requirement for the Ami's
MMU-less 68000).

Instead, you use absolute(?) VM addresses for intra-library calls,
patched up upon loading.

Hey ! Your new shared library is a Virtual ROM at a "fixed" address !

        - or is this too crazy ?

--
Alec Muffett
Sun Microsystems 
European Network Security Group
(speaking for himself, not his employers)

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

From: [email-masked] (Mitchum DSouza)
Subject: Re: Trouble using "execl"
Date: 22 Sep 1994 13:55:34 GMT

In article <[email-masked]>, [email-masked] writes:
|> 
|> 
|> I am trying to get a task to transform into another program
|> using the "execl" function call. The task appears to die
|> with the following displayed on the screen:
|> 
|>         libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.5.26
|> 
|> Can anyone tell me what this means, what I'm doing wrong, and/or
|> how to fix it?
|> 
|> A trace line just before the "execl" prints but I don't get tracing
|> from after the "execl" or from the beginning of the target program.

Use the correct arguments to execl() and it will work as doccumented/expected.

Mitch

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

From: [email-masked] (Bill C. Riemers)
Subject: 1.1.50 SYS_select bug limits maximum transmittion speeds
Date: 22 Sep 1994 03:44:30 GMT
Reply-To: [email-masked]

I was trying to figure out why I can no-longer get high transmittion speeds
(i.e. over 2000cps) for more than about 5 seconds, and I finially traced it
to a SYS_select bug.  The following program isolates the problem:

---> Begin show_bug.c <---
#include <errno.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <unistd.h>

int
x__select(int nd, fd_set * in, fd_set * out, fd_set * ex, 
        struct timeval * tv)
{
        long __res;
        __asm__ volatile ("int $0x80"
                : "=a" (__res)
                : "0" (SYS_select),"b" ((long) &nd));
        if (__res >= 0)
                return (int) __res;
        errno = -__res;
        return -1;
}

int main(int *argc, char * argv[]) {
  struct timeval timeout;
  long i;

  for(i=0;i<100;i++){
    timeout.tv_sec = 0;
    timeout.tv_usec = (unsigned long int) 10;
    x__select(0, NULL, NULL, NULL, &timeout); 
  }
}
---> End show_bug.c <---

% cc     show_bug.c   -o show_bug
% time ./show_bug
0.000u 0.030s 0:10.88 0.2% 0+0k 0+0io 20pf+0w

The actual time varies each time I run it, but normally the
time is somewhere between 11s to 15s.  So lets use an average
of 13s.  This means each loop takes 130000 microseconds instead
of the specified time of 10 microseconds!!!  This is too slow
for high serial transmittion rates.  I know this bug isn't
in 1.0.9, but I don't know at what point it was introduced.

                          Bill

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

From: [email-masked] (Mark Evans)
Subject: Re: 1.1.51 seg fault on shutdown in _floppy_release
Date: Wed, 21 Sep 1994 13:35:45 GMT

Mark Evans ([email-masked]) wrote:
: Vincent Fatica ([email-masked]) wrote:
: : According to zSystem, the error occurs in _floppy_release.

: : It also occurs on dismounting /b (an ext2 floppy). Thereafter, mount says
: : it's still mounted (which it's not).

: thats becuase umount actually alters /etc/mtab & /etc/mtab~ after it has
: done the umount() system call, the program will terminate in this system
: call.

: I'm just putting some printk's in this function to see where it actually does
: terminate.

What is happening is that floppy_release is being called with filp equal to 0
If you apply the following patch umount will no longer blow up.

--- floppy.c.old        Wed Sep 21 15:32:04 1994
+++ floppy.c    Wed Sep 21 15:31:48 1994
@@ -2713,7 +2713,7 @@
 {
        int drive= DRIVE(inode->i_rdev);
 
-       if(filp->f_mode & 2)
+       if(filp && (filp->f_mode & 2))
                fsync_dev(inode->i_rdev);
        if ( UDRS->fd_ref < 0)
                UDRS->fd_ref=0;

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

Subject: Re: Don't use Linux?!
From: [email-masked] (David Holland)
Date: 17 Sep 94 17:17:52

Michael Schumacher ([email-masked]) wrote:

 > : 2. Linux's libc tends to change its version number almost every week
 > :    (sometimes even more often). Even though changes of the minor
 > :    version number should not affect previous applications, they will
 > :    sometimes break them. This means for a company that they have to
 > :    debug the library in order to find a work-around (see 3.).

libc 4.5 has been current for more than six months. I have not
personally had any problems with any binary compiled for libc 4.4.

 > : 3. The kernel versions change faster than the speed of light. If you
 > :    ask for a "stable" version, you'll be teached that there are two
 > :    versions: 1.0 (production) and 1.1 (hacker's paradise). 

And application software should not be affected by the minor external
changes found in the newer kernels. People are talking about word
processors and spreadsheets, mostly, not low-level network utilities.

And then, [email-masked] wrote:

 > Before commercial "mainstream developers" can port products to Linux
 > two basic things would have to happen.
 > 
 >    [ridiculous Microsoftish development plan deleted]

This would drive the development progress of Linux down to the level
of a typical commercial OS. You might as well stick with DOS.

 > In a "production" environment say 100 machines.  My sysadmin people
 > can only upgrade x machines, x applications per day.  To install 
 > a new OS on all 100 machines I have to allocate 1 day per machine.
 > (8 hours). 

You don't. You have, at most, one machine which runs the latest
kernel, on which tests are run. Only if your program encounters
serious problems do you need to upgrade any of the development
machines. 

Updating the kernel takes maybe half an hour to unpack and configure,
and maybe another half hour (on a decently fast machine) unattended to
compile. 

Furthermore, keeping 100 machines up to date is a lot easier with Unix
than with DOS - there are tools for it.

--
   - David A. Holland          | -- "Do you have a moment?"   -- "Yes.
     [email-masked] | Unfortunately, it's a moment of inertia."

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

From: [email-masked] (Nick Kralevich)
Subject: Re: ** autoconf.h? **
Date: 22 Sep 1994 08:25:06 GMT

In article <[email-masked]>,
Michael_Nelson <[email-masked]> wrote:
>problem.  But config.h has a line in it that #includes "<linux/autoconf.h>",
>and there is no autoconf.h anywhere on my system.

cd /usr/src/linux
make config
make dep
make clean

That will generate a file called autoconf.h automatically.

Take care,
-- Nick Kralevich
   [email-masked]

-- 
Nick Kralevich                        [email-masked]
"A man sits with a pretty girl for an hour and it seems shorter than 
a minute.  But tell that same man to sit on a hot stove for a minute, 
it is longer than any hour.  That's relativity."  -- Einstein

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

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

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

    Internet: [email-masked]

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