Linux-Development-Sys Digest #82, Volume #7      Sat, 21 Aug 99 17:13:57 EDT

Contents:
  Help! cpp : Exec format error (Edin Bektesevic)
  Re: 3com ISA cards and linux ("Kalkas")
  Linux - Memory model / protection scheme ("Pizzi")
  Re: glibc current? (Paul Kimoto)
  Re: 3com ISA cards and linux ("Kalkas")
  Re: The optimization debate (was: why not C++?) (Randall Parker)
  Re: Can GLIBC-2.1.1 Be Compiled Using GCC-2.95? (Paul Kimoto)
  Incorrect work of "signal" (BSD - style)? (EugeneK)
  Re: Linux - Memory model / protection scheme (EugeneK)
  497.2 days ought to be enough for everybody (Florian Kirstein)
  Re: Shared Libraries: what is the linux equivalent of "dllimport" and "dllexport" 
(Kaz Kylheku)
  Re: Help!! LILO booting stopping on LI (Ronald Cole)
  Re: Incorrect work of "signal" (BSD - style)? (Paul Kimoto)
  Re: Linux - Memory model / protection scheme (Ulrich Weigand)

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

From: Edin Bektesevic <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,alt.os.linux
Subject: Help! cpp : Exec format error
Date: Sat, 21 Aug 1999 18:56:31 +0200

Hello all,

I recently installed RH6, and when I tried to compile a driver, I got
the following error message (all together):

[root@localhost linux-wlan-0.2.6]# make all
set -e; for d in driver wlanctl man; do make -C $d ; done
make[1]: Entering directory `/usr/src/linux-wlan-0.2.6/driver'
cc -O2 -Wall -Wstrict-prototypes -Winline -fomit-frame-pointer -pipe
-DWLAN_DEBUG -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -I../include
-I/usr/src/linux-2.2.5/include
-I/usr/src/linux-2.2.5/pcmcia-cs-3.0.9/include
-I/usr/src/linux-2.2.5/pcmcia-cs-3.0.9/modules  "-DDBMASK=0"  -c
am930cs.c -o am930cs.o
cc: installation problem, cannot exec
`/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/cpp': Exec format
error
make[1]: *** [am930cs.o] Error 1
make[1]: Leaving directory `/usr/src/linux-wlan-0.2.6/driver'
make: *** [all] Error 2
[root@localhost linux-wlan-0.2.6]# 

Anyone out there who has a hint? I'd REALLY, REALLY appreciate it!

Thanks in advance,
Regards,

/Edin       <�))))><

"A man flattened by an opponent can get up again.
 A man flattened by conformity stays down for good." 
 (T. Watson Jr.)


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

From: "Kalkas" <[EMAIL PROTECTED]>
Crossposted-To: 
at.linux,aus.computers.linux,be.comp.os.linux,comp.os.linux,comp.os.linux.advocacy,comp.os.linux.hardware,comp.os.linux.misc,comp.os.linux.networking
Subject: Re: 3com ISA cards and linux
Date: Sat, 21 Aug 1999 18:18:24 +0200


Ronald Benedik <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> Kalkas wrote:
> >
> > I have been seriously thinking to use Linux and stop using Windows 98. I
am
> > fascinated by Linux's stability and security.
> >
> > Therefore, I have seriously planing to install Linux and USE IT.
> >
> > However, it seems that it is not possible for me to use Linux, since I
use
> > cable modem with a 3com ISA card. More precisely, I use 3com EtherLink
III
> > ISA (3C509/3C509b) network interface card, and there are no drivers
which
> > will support my card in Linux.
> >
> > Did someone else have similar problems?
>
> > Regards,
> > Kalkas
>
> I'm using a 3c509b COMBO (PnP/ISA). It definately does work. There may
> be a problem with
> the 3c509 (not the b version) in dropping ip packets becaus of its tiny
> (4kb)
> buffer. This problem was solved in version b (8kb buffer). My Problem
> was one of dual
> boot configuration. Win95 puts the card in PnP mode and Linux doesn't
> like that.
> So my shutdown script for windoof puts the card back in non PnP mode and
> the card uses
> the same irq in linux and windoof, now everything works fine.
>
> for linux drivers check:
>
> http://cesdis.gsfc.nasa.gov/linux/drivers/3c509.html

Ronald,

Thank you for your answer.

I am studying the material (some manuals and HOWTO). I have not yet
installed Linux, since I do not dare to install it alone. I have a friend
who will help me with the installation.

Sincerely Yours,
Kalkas




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

From: "Pizzi" <[EMAIL PROTECTED]>
Subject: Linux - Memory model / protection scheme
Date: Sat, 21 Aug 1999 13:02:26 -0400

How does Linux implement memory protection? All I know is that it is in a
flat memory model, it uses page-level protection, but somehow uses much more
complete protection than Win32 does.
Any information is appreciated.
  - Ed Pizzi



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

From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: glibc current?
Date: 21 Aug 1999 11:37:53 -0500
Reply-To: [EMAIL PROTECTED]

In article <[EMAIL PROTECTED]>, Habibi4me wrote:
> Can anyone please tell me the latest version and current status of
> glibc?  I checked to the GNU ftp site (ftp://ftp.gnu.org/gnu/glibc) and
> found glibc-2.1.1.tar.gz is the latest the GNU ftp site carries. 
> However, if I checked the Debian repository site, I could find
> glibc_2.1.2.orig.tar.gz.

glibc-2.1.2 is still in a pre-release state.  You can get it in its
most up-to-date state through http://sourceware.cygnus.com/glibc/ .

-- 
Paul Kimoto             <[EMAIL PROTECTED]>

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

From: "Kalkas" <[EMAIL PROTECTED]>
Crossposted-To: 
at.linux,aus.computers.linux,be.comp.os.linux,comp.os.linux,comp.os.linux.advocacy,comp.os.linux.hardware,comp.os.linux.misc,comp.os.linux.networking
Subject: Re: 3com ISA cards and linux
Date: Sat, 21 Aug 1999 18:12:26 +0200


Stephen R. Savitzky <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> "Kalkas" <[EMAIL PROTECTED]> writes:
>
> > However, it seems that it is not possible for me to use Linux, since I
use
> > cable modem with a 3com ISA card. More precisely, I use 3com EtherLink
III
> > ISA (3C509/3C509b) network interface card, and there are no drivers
which
> > will support my card in Linux.
>
> Excuse me?  I've been using 3C509's of all sorts with Linux for years.
> The driver most definitely exists, it's in the module
>
>   /lib/modules/preferred/net/3c509.o
>
> source in
>
>   /usr/src/linux/drivers/net/3c509.c
>

Thanks Steve!

That was good news indeed!

I also assume now that Linux should support my monitor and my audio card. My
audio card is Creative Sound Blaster PCI 128, and my monitor is MAG
InnoVision DX15F. Am I correct in my assumption?

Thank you for your help.

Sincerely Yours,
Aleksandar




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

From: [EMAIL PROTECTED] (Randall Parker)
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: Re: The optimization debate (was: why not C++?)
Date: Sat, 21 Aug 1999 10:17:30 -0700

In article <[EMAIL PROTECTED]>, 
[EMAIL PROTECTED] says...
> The problem is that you can spend your time hand-optimizing an area of
> code that isn't important at all.  

I think we are mixing up different issues here. 

1) Optimization of existing code. Well, sure, run a profiler and see 
where the time is being taken. Then go optimize the parts where the time 
is being taken.
   However, even when you find out where you are spending your time that 
doesn't mean that that is the routine that should be fixed. It could be 
that a larger design is what is flawed.

2) Writing code to be fast in the first place.
   There are various aspects to this
   A) Coding styles down at the level of loops and groups of statements 
that will result in faster code. The classic example is to decrement your 
loops rather than increment them. But there are lots of others.
   B) Coding styles that reduce heap thrash, improve locality of 
execution, and so on. 
   I would argue that good coding styles, once one has internalized them, 
are not much if any additional effort to practice. So why not do them 
everywhere? 
   C) Algorithm design and larger program design issues. 

   Note that in some cases if you do not do your initial coding to be 
efficient in the first then you may end up with an amount of code that is 
so large by the time that you find performance problems that you either 
are not going to be able to fix these problems or you are going to have 
to slip your schedule in order to go back and do rework.

   The real attitude that I'm arguing against here is the idea that 
optimization can be left to some final phase of the development process 
and that profiling at that stage will be adequate to make the code fast 
enough. I do not believe it. I think that performance has to be designed 
in from day one. It is not something you can tack on afterward with a 
profiler. You think Microsoft can profile its way thru Win32's code base 
to make its slower parts as fast as Linux's faster parts? I don't think 
so. Not without massive rewrites.
   This philosophy is analogous to the philosophy that the US carmakers 
and other manufacturers had for many years that (once upon a time when I 
worked for one of those big car makers) we called "Throw it over the wall 
design". Basically, in that case the design engineers didn't worry about 
the problems they were creating in their design for the production 
engineers. Well, in the same way one can't go designing software just to 
be functionally correct and then go in and only work on performance at 
the end using a profiler as a guide.

   Too many times I've seen code with performance problems that was badly 
flawed in design that required a lot of rework in order to make it 
faster. It wasn't a matter of identifying the 1% part of the code that 
took 90% of the time. 
   In one case the 90% of the time was spent in copy constructors. Well, 
what is one to do in such a case? Write an optimized version of memcpy? 
Its not possible. The real problem was that idiots had written their code 
to copy the same data many times into many objects as it was being passed 
around between different translation and protocol and call layers. 


>This is where profiling comes in:  you
> identify the 3 percent of the code where you spend all your time, THEN
> hand-optimize (or assemblerize) within that three percent. 

This sort of classic case is nice if you can find it.

> An
> example:  a math regression program written in FORTRAN was walking
> through a huge array.  The programmer ran through the array by rows, then
> by column.  This particular FORTRAN (for a Burroughs machine) stored
> everything in column-major order.  Changing the dimensions of the
> walkthrough reduced run time from six hours to about ten minutes real
> time, and cut the backing store swapping numbers from too high to count
> to reasonably small numbers. 

Again, sure, a classical example. I only wish even half the optimization 
problems I've encountered fit this profile (pun intended <g>).

   However, to take a real example, I know of a windowing library for a 
type of touch screen embedded device (I worked on a different part of the 
larger project that it was a part of) whose performance problems are 
extremely diffuse. There is no hotspot place to optimize. This is 
considered to be a serious problem to a couple of companies that are 
involved with this project.
   One can find oneself with hundreds of thousands of lines of code with 
no single 1% place that is taking all the CPU thru-put. Or if it is 
taking that thru-put there may be no way to optimize it (eg my memory 
copying example).

> This points up a small problem with current profiling tools:  they don't
> account for real time, only CPU cycles.  At least the profiling tools
> I've seen have this lack -- I would appreciate pointers to tools that do
> have the means of dealing with wall time as well. 

If you don't mind doing your profiling running on Intel hardware (I've 
personally found that most performance problems are not related to 
processor type though as I've pointed out there are counter examples with 
some of the RISC architectures in particular) then check out Intel's 
VTune tools. 
   http://developer.intel.com/vtune/vtcd/index.htm

I have a friend who deploys on a couple of CPU architectures who thinks 
VTune is the best he's found to date. I don't know if it will address 
your specific question or not but apparently it has some pretty nice 
features.


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

From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: Can GLIBC-2.1.1 Be Compiled Using GCC-2.95?
Date: 21 Aug 1999 12:33:27 -0500
Reply-To: [EMAIL PROTECTED]

In article <[EMAIL PROTECTED]>, Habibi4me wrote:
> I have just compiled and installed a full version of gcc-2.95 on my
> SuSE-6.1 Linux distro.  When I tried to compile the glibc-2.1.1 using
> gcc-2.95, it failed with a bad message on gcc-2.95 while configuring the
> glibc-2.1.1:

> checking version of gcc... 2.95, bad         <====== ************

> The INSTALL file from the glibc did not mention that gcc-2.95 cannot be
> used to compile the glibc-2.1.1.  Any suggestion or input?

There was no gcc-2.95 when glibc-2.1.1 was released.  You can either
use egcs-1.1.2 and glibc-2.1.1, or gcc-2.95 and glibc-2.1.2-pre2.

-- 
Paul Kimoto             <[EMAIL PROTECTED]>

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

From: [EMAIL PROTECTED] (EugeneK)
Subject: Incorrect work of "signal" (BSD - style)?
Date: Sat, 21 Aug 1999 17:54:25 GMT

Every book on Linux I read and manual page for signal state
the default signal handler is automatically restored after first
signal is cought. 
Why does not it work? I include <signal.h>, not <bsd/signal.h>,
still the default handler does not restored.

Eugene.

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

From: [EMAIL PROTECTED] (EugeneK)
Subject: Re: Linux - Memory model / protection scheme
Date: Sat, 21 Aug 1999 19:07:47 GMT

On Sat, 21 Aug 1999 13:02:26 -0400, "Pizzi" <[EMAIL PROTECTED]>
wrote:

>How does Linux implement memory protection? All I know is that it is in a
>flat memory model, it uses page-level protection, but somehow uses much more
>complete protection than Win32 does.
>Any information is appreciated.
>  - Ed Pizzi
>
>

http://metalab.unc.edu/mdw/LDP/tlk/tlk.html has a very good chapter on
Linux memory management - a must read for MS programmers.

Eugene.

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

From: [EMAIL PROTECTED] (Florian Kirstein)
Subject: 497.2 days ought to be enough for everybody
Date: 21 Aug 1999 18:40:50 GMT

Hi,

OK, here I am again. My third box is getting near the magical limit of the
Jiffies and will roll over the 497.2 day uptime limit in a few days. My
problem: my first box survived this, my second one (I can't be 100% sure
but I heard others had this, too) crashed. So: are there any kernel hackers
with a deeper insight, who know where a rollover of the jiffies counter
could result in a crash and under which conditions this can happen? It's a
kernel 2.0.33 - the one that crashed was 2.0.32, the one that survived 2.0.18.
I really don't want to reboot my machine, because then I couln't laugh about
Win95 crashing after 49.7 days any more :)

Thanx & (:ul8er, r@y

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

From: [EMAIL PROTECTED] (Kaz Kylheku)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Shared Libraries: what is the linux equivalent of "dllimport" and 
"dllexport"
Date: Sat, 21 Aug 1999 19:14:29 GMT

On 21 Aug 1999 11:11:14 GMT, Petter Reinholdtsen <[EMAIL PROTECTED]> wrote:
>[Noam K]
>> Any ideas how this is done in Linux? are there different solutions
>> for a.out and ELF libraries?
>
>You make all the functions not to be exported 'static'.  All global
>symbols are exported.  I don't know any way to change this.

Then why bother posting? You could be reading the GNU info on
``ld'' to find out how this is done.

The following might be useful:

`--retain-symbols-file FILENAME'
     Retain *only* the symbols listed in the file FILENAME, discarding
     all others.  FILENAME is simply a flat file, with one symbol name
     per line.  This option is especially useful in environments (such
     as VxWorks) where a large global symbol table is accumulated
     gradually, to conserve run-time memory.

     `--retain-symbols-file' does *not* discard undefined symbols, or
     symbols needed for relocations.

     You may only specify `--retain-symbols-file' once in the command
     line.  It overrides `-s' and `-S'.

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

From: Ronald Cole <[EMAIL PROTECTED]>
Subject: Re: Help!! LILO booting stopping on LI
Date: 20 Aug 1999 11:18:32 -0700

[EMAIL PROTECTED] (Horst von Brand) writes:
> LI means the geometry lilo is seeing doesn't agree with what the kernel
> knows. Try using the "linear" option, or redefining your disk (LBA, LARGE,
> etc) via BIOS settings.

Doesn't setting LBA in the BIOS just juggle the heads/cylinders to
maneuver around the 1024 cylinder limit?

-- 
Forte International, P.O. Box 1412, Ridgecrest, CA  93556-1412
Ronald Cole <[EMAIL PROTECTED]>      Phone: (760) 499-9142
President, CEO                             Fax: (760) 499-9152
My PGP fingerprint: 15 6E C7 91 5F AF 17 C4  24 93 CB 6B EB 38 B5 E5

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

From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: Incorrect work of "signal" (BSD - style)?
Date: 21 Aug 1999 14:32:09 -0500
Reply-To: [EMAIL PROTECTED]

In article <[EMAIL PROTECTED]>, EugeneK wrote:
> Every book on Linux I read and manual page for signal state
> the default signal handler is automatically restored after first
> signal is caught. 
> Why does not it work? I include <signal.h>, not <bsd/signal.h>,
> still the default handler does not restored.

(Are you sure that this is a .system matter?)

Are you using glibc-2.x?  It uses the BSD semantics.
This is discussed in the Glibc FAQ: see
http://sourceware.cygnus.com/glibc/glibc-faq.html#s-3.7 .

-- 
Paul Kimoto             <[EMAIL PROTECTED]>

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

From: [EMAIL PROTECTED] (Ulrich Weigand)
Subject: Re: Linux - Memory model / protection scheme
Date: 21 Aug 1999 22:09:25 +0200

"Pizzi" <[EMAIL PROTECTED]> writes:

>How does Linux implement memory protection? All I know is that it is in a
>flat memory model, it uses page-level protection, but somehow uses much more
>complete protection than Win32 does.

'Win32' isn't an operating system ;-)  If you are talking about 
Windows 95/98, then obviously Linux does use a much more complete
protection than Win95/98;  this is no big deal, however, as memory
protecting in Win95/98 is basically nonexistent:  every process can
write to the complete shared address space, which includes the image
of DOS (in the first MB), the 16-bit global heap, all loaded 16-bit
modules, and all shared 32-bit modules (including KERNEL32, USER32,
GDI32, ...)  The only thing that a process cannot do is to corrupt
memory belonging to *another* (32-bit) process ;-)

If you were talking about Windows NT, however, then there isn't really
all that much difference in principle; both give a separate address
space to each process, and both protect all OS memory from being 
directly accesses by any user process ...


-- 
  Ulrich Weigand,
  IMMD 1, Universitaet Erlangen-Nuernberg,
  Martensstr. 3, D-91058 Erlangen, Phone: +49 9131 85-7688

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


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

Reply via email to