Linux-Development-Sys Digest #88, Volume #7 Sun, 22 Aug 99 22:14:09 EDT
Contents:
Netgear FA310TX (Robert McGwier)
Re: Linux - Memory model / protection scheme (Ulrich Weigand)
Re: Shared Libraries: what is the linux equivalent of "dllimport" and "dllexport"
(Philip Armstrong)
Creating arbitrary ".o" files (Jason Neudorf)
Re: Linux's faults (Mattias Engdeg�rd)
Re: Adding a non-standard Parallel Port (Robert McGwier)
Re: Shared Libraries: what is the linux equivalent of "dllimport" and "dllexport"
(Philip Armstrong)
Re: Help!! LILO booting stopping on LI (Robert McGwier)
Volunteer: Device Drivers!!! ([EMAIL PROTECTED])
Re: Help!! LILO booting stopping on LI (G)
Re: Netgear FA310TX (John Oliver)
Re: Netgear FA310TX (Jim Edwards)
Re: Netgear FA310TX (Darrin Smart)
Re: Netgear FA310TX ("Aldog")
Re: Shared Libraries: what is the linux equivalent of "dllimport" and "dllexport"
(Mark Hamstra)
Re: Shared Libraries: what is the linux equivalent of "dllimport" and (Brian Poe)
Re: Netgear FA310TX (Robert McGwier)
----------------------------------------------------------------------------
From: Robert McGwier <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.hardware,linux.dev.net
Subject: Netgear FA310TX
Date: Sun, 22 Aug 1999 23:05:55 GMT
Is there a driver for FA310TX (10/100 PCI card) in existence or development?
------------------------------
From: [EMAIL PROTECTED] (Ulrich Weigand)
Subject: Re: Linux - Memory model / protection scheme
Date: 23 Aug 1999 00:14:16 +0200
[EMAIL PROTECTED] (Chris Butler) writes:
>[comp.os.linux.development.system - 22 Aug 1999 03:00:51 +0200] * Ulrich wrote *
>> Note that on Windows NT, you can also corrupt the KERNEL32 data
>> (and on Linux, you can corrupt libc data ...). There, however,
>> this only means that *your process* crashes, because every process
>> uses its private copy of KERNEL32 (or libc, for that matter).
>This is wrong, actually. Every Linux process uses the same copy of libc in
>memory. However, processes cannot write to the libc pages, since they are
>setup with protections of read/execute only, and a write operation will
>cause a processor exception. Linux will receive this and send a SIGSEGV to
>the offending process.
I was indeed omitting the details. ;-) The libc code section is mapped
using shared read-only pages, while the libc data section is mapped
using shared copy-on-write pages. So for all practical purposes,
you can indeed use it as if every process had its own copy, but at
the same time avoiding all unnecessary overhead resulting from
duplicating pages before it is really necessary. (And, unless I'm
completely mistaken, Windows NT does it the same way. Unlike
Windows 9x, however, which doesn't know how to do copy-on-write ...)
--
Ulrich Weigand,
IMMD 1, Universitaet Erlangen-Nuernberg,
Martensstr. 3, D-91058 Erlangen, Phone: +49 9131 85-7688
------------------------------
From: [EMAIL PROTECTED] (Philip Armstrong)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Shared Libraries: what is the linux equivalent of "dllimport" and
"dllexport"
Date: 22 Aug 1999 22:57:00 GMT
In article <7ppmc0$oo1$[EMAIL PROTECTED]>,
Jonas Utterstrom <[EMAIL PROTECTED]> wrote:
>In article <7ppbt4$iqb$[EMAIL PROTECTED]>,
> [EMAIL PROTECTED] (Philip Armstrong) wrote:
>Of course it won't do no harm testing it before it is stable of course.
>I was thinking that people leaving Windows shouldn't have to deal with
>alpha code, it might turn them off. ;)
probably not a good idea, no :)
>> >You don't need to export functions from shared libraries in Linux,
>> >they are all exported (except from static functions). But if you
>> >have equal internal functions in two different shared libraries,
>> >you're out of luck.
>> I'll have to try this, but isn't this is only a problem if you want to
>> call those functions in your code? Presumably internal (private)
>> functions called from code in the same libary don't need the symbol
>> table entry, as they can be called directly.
>>
>> Anyway, this is getting well beyond my secure base of knowledge. I'll
>> write some test code and see what happens...
>>
>
>You got me uncertain so I made two shared libraries. No linking
>problems, but the function from the first linked library was always
>used.
by code in both libraries?
Phil
--
nosig
------------------------------
From: [EMAIL PROTECTED] (Jason Neudorf)
Subject: Creating arbitrary ".o" files
Date: 22 Aug 1999 18:32:13 -0400
This is probably not the right group, but, perhaps someone here can direct
me to the right one.
I would like to include arbitrary information in an executable. On the
PalmPilot, I was able to do this by saving the data in a file with an
appropriate name, then loading it as a resource (ie "tAIB03e8.bin" would
be compiled into the COFF (IIRC) executable). A handle to this data
would become available after a couple of calls.
For example, an arbitrary ".gif" or ".tcl" script could be compiled into
the executable, so that the application would always have a default to fall
back upon, if a more-appropriate, user-specified resource were missing.
I suppose that I could convert the entire file to octal, quote it, and
compile it with gcc, but this seems icky:
foo.jpg = "\377\330\377\340\000\020\112\106\111\106\000\001\001 ... ";
I've looked through binutils, and haven't found anything like this (well,
except winres, which I didn't think was applicable). Is there a tool that
I can use to store data with a given type?
I'd like something I could use like:
create_obj -type "char *" -name "foo" -infile "foo.gif" -outfile "foo.o"
and then be able to refer to "char *foo" in my program.
Thanks.
------------------------------
From: [EMAIL PROTECTED] (Mattias Engdeg�rd)
Subject: Re: Linux's faults
Date: 22 Aug 99 22:15:18 GMT
In <[EMAIL PROTECTED]> XuYifeng <[EMAIL PROTECTED]> writes:
>it can only hold max file handle No. is 1023, even you increase
>max_file_open limit,
>and can open 1024th file and close all file handle except this 1024th
>file handle,
>there is still no way to put this 1024th file No. into this structure
>and call select()
dup(2) has been in Unix for some time now (30 years?)
>function, you are rejected out of the door, someone may think I can use
>poll() functions,
>but remember poll() function is not thread-safe, and Linux Pthread
>Library does not
>support it!
poll is a system call so it is definitely thread-safe as long as you use
kernel threads
------------------------------
From: Robert McGwier <[EMAIL PROTECTED]>
Subject: Re: Adding a non-standard Parallel Port
Date: Sun, 22 Aug 1999 22:46:07 GMT
Time to upgrade.
Norm Dresner wrote:
>
> Alas, I'm using the 2.0.36 kernel. Can I still do this?
>
> Norm
>
> Daniel Robert Franklin <[EMAIL PROTECTED]> wrote in article
> <drf03.935016307@wumpus>...
> > "Norm Dresner" <[EMAIL PROTECTED]> writes:
> >
> > >I need to add to a Linux box a parallel port that has been hacked-up to
> be
> > >at a non-standard address. Where in the kernel source code do I go to
> add
> > >this address to the list of possible parallel ports?
> >
> > You shouldn't need to recompile. Assuming you are using 2.2.x with
> parport
> > compiled into the kernel, then add this to /etc/lilo.conf and re-run
> lilo:
> >
> > append="parport=0xYYY,Z"
> >
> > where YYY is the I/O address in hex and Z is the IRQ. If you use loadlin
> > add the bit between the quotes to your loadlin command line.
> >
> > Cheers,
> >
> > - Daniel
> > --
> >
> ****************************************************************************
> **
> > * Daniel Franklin - Postgraduate student in Electrical Engineering
> > * [EMAIL PROTECTED]
> >
> ****************************************************************************
> **
> >
------------------------------
From: [EMAIL PROTECTED] (Philip Armstrong)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Shared Libraries: what is the linux equivalent of "dllimport" and
"dllexport"
Date: 22 Aug 1999 22:54:27 GMT
In article <[EMAIL PROTECTED]>,
Kaz Kylheku <[EMAIL PROTECTED]> wrote:
>On 22 Aug 1999 11:22:48 GMT, Philip Armstrong <[EMAIL PROTECTED]> wrote:
>These ``private externals'' pollute the namespace of the library user.
>What's worse, the library user can override these symbols!
which can be a good thing. But not very often :) I presume you meant
that the library user can *accidently* override these symbols, which
would definately be a bad thing.
>Suppose that in the library I have a function foo() that is external because
>it's called across translation unit boundaries. If I don't remove its symbol
>from the final release of the library, trouble can result. Not knowing about
>foo, since it is not documented in my library's interface, the user might
>accidentally write his own function foo(). Now my internal calls to foo()
>resolve to the user's function! You could take steps to make sure foo can't
>be overriden, but then the user's program won't link.
In this situation, then its arguable that the latter is better than
the former. At least the programmer gets feedback (Though the linker ought
to complain about redefinition/re-use of symbol names anyway at
compile time. Does it?)
>>programmers are dumb enough to call functions in a library which
>>aren't defined in the headers then they are on their own :)
>
>The problem is that you don't *want* these functions to be visible in
>the public headers that are used by the library *user*. You want to
>export just the interface, not the implementation details.
obviously. And other posts have pointed out that this situation gets
really ugly when you have libraries written in c++ , I was just
pointing out what seemed to be the current 'state of the art' as it
were. ie people aren't hiding internal library symbols at this time.
>>Looking at a few linux libraries seems to confirm this.
>
>The Linux libraries have extra freedoms given to them by the C
>language, POSIX, and Unix Specification standards. They can hide
>their internal symbols by using names that begin with two
>underscores, or an underscore and a capital letter. ANSI C or POSIX
>programs can't use identifiers from these namespaces without causing
>formally undefined behavior. So the problem is solved from the point
>of view of the system implementor. It doesn't help someone who is
>writing an independent library that isn't integrated into the OS.
Well, since we were talking about win32 specific library building
details in the first place, I think its reasonable to assume the
availability of OS specific extensions...but this is a side issue.
Phil
--
nosig
------------------------------
From: Robert McGwier <[EMAIL PROTECTED]>
Subject: Re: Help!! LILO booting stopping on LI
Date: Sun, 22 Aug 1999 23:01:16 GMT
You need to mkinitrd 2.2.5-15 and then lilo -v. These are
required steps that you have not mentioned. READ THE KERNEL
HOWTO.
Bob
Madhu Bandireddi wrote:
>
> I have Redhat 6.0 installed on Pentium with Adaptec 2940 SCSI and SCSI
> disks. The system was working fine...booting
> from hard disk until I messed it up. I tried to upgrade the Kernel to
> 2.2.11 from 2.2.5-15. I compiled the new kernel
> and moved it /boot as vmlinux and then edited /etc/lilo.conf and ran
> lilo. Eversince I did whenever I reboot it hangs on the
> way up at the lilo prompt with just "LI" printed on the screen. I
> reverted back to the original lilo.conf and repointed the links under
> /boot to the old 2.2.5-15 files and ran lilo again. But I am still not
> able to boot from the hard disk.
> Here is the lilo.conf file:
> -----------------------------------
> boot=/dev/sda1
> map=/boot/map
> install=/boot/boot.b
> prompt
> timeout=10
> image=/boot/vmlinuz-2.2.5-15
> label=linux
> root=/dev/sda8
> initrd=/boot/initrd-2.2.5-15.img
> read-only
> ---------------------------------------
> Here are the files under /boot:
> lrwxrwxrwx 1 root root 19 Aug 19 16:47 System.map ->
> System.map-2.2.5-15
> -rw-r--r-- 1 root root 175084 Aug 19 14:54 System.map-2.2.11
>
> -rw-r--r-- 1 root root 186704 Apr 19 23:16
> System.map-2.2.5-15
> -rw-r--r-- 1 root root 204280 Mar 1 13:46 System.map.old
> -rw-r--r-- 1 root root 512 Aug 19 15:38 boot.0801
> -rw-r--r-- 1 root root 4544 Apr 13 00:19 boot.b
> -rw-r--r-- 1 root root 601021 Mar 19 18:44 bzImage
> -rw-r--r-- 1 root root 612 Apr 13 00:19 chain.b
> -rw-r--r-- 1 root root 329871 May 23 08:44
> initrd-2.2.5-15.img
> drwxr-xr-x 2 root root 12288 Feb 18 1999 lost+found/
> -rw------- 1 root root 13312 Aug 19 16:48 map
> lrwxrwxrwx 1 root root 20 May 23 08:28 module-info ->
> module-info-2.2.5-15
> -rw-r--r-- 1 root root 11773 Apr 19 23:16
> module-info-2.2.5-15
> -rw-r--r-- 1 root root 620 Apr 13 00:19 os2_d.b
> -rwxr-xr-x 1 root root 1469282 Apr 19 23:16 vmlinux-2.2.5-15*
>
> lrwxrwxrwx 1 root root 16 Aug 19 16:46 vmlinuz ->
> vmlinux-2.2.5-15*
> -rw-r--r-- 1 root root 672607 Mar 1 13:47 vmlinuz-2.2.1.old
>
> -rw-r--r-- 1 root root 605614 Aug 19 14:54 vmlinuz-2.2.11
> -rw-r--r-- 1 root root 617288 Apr 19 23:16 vmlinuz-2.2.5-15
> -rw-r--r-- 1 root root 672606 Mar 1 13:46 vmlinuz.old
>
> Can someone help me out of ignorance here?
>
> I greatly appreciate your help.
>
> Thanks
> Madhu Bandireddy
------------------------------
From: [EMAIL PROTECTED]
Subject: Volunteer: Device Drivers!!!
Date: Sun, 22 Aug 1999 23:46:09 GMT
Hello,
I am a device driver writer (SVR4, Unixware, LynxOS, NT). I would
like to work on a Linux device driver.
Regards,
Bill Halchin
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
------------------------------
From: G <[EMAIL PROTECTED]>
Subject: Re: Help!! LILO booting stopping on LI
Date: 23 Aug 1999 08:16:35 +0000
I believe LBA stands for "Linear Block Addressing". So, presumably,
when you specify "linear" option in LILO configuration file and LBA in
BIOS, no 1024 cyliner limit should matter.
I had the same symptoms as you do. My problem was that I had 3 kernels
configured, and then I pulled out a disk containing one kernel and
forgot to re-run "lilo". It failed to work even though I did not try
to load that "missing" kernel. Re-running lilo solved the problem.
Regards,
------------------------------
From: [EMAIL PROTECTED] (John Oliver)
Crossposted-To: comp.os.linux.networking,comp.os.linux.hardware,linux.dev.net
Subject: Re: Netgear FA310TX
Date: Mon, 23 Aug 1999 00:10:52 GMT
On Sun, 22 Aug 1999 23:05:55 GMT, Robert McGwier <[EMAIL PROTECTED]>
wrote:
>Is there a driver for FA310TX (10/100 PCI card) in existence or development?
You mean the one with the "NetGear" chip? I believe the newer tulip
drivers will work with these...
--
If you want to reply to me, do it in the newsgroup... It's
been too long since I've received anything other than spam
in my mailbox from posting my address on Usenet.
------------------------------
From: Jim Edwards <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.hardware,linux.dev.net
Subject: Re: Netgear FA310TX
Date: Sun, 22 Aug 1999 19:18:52 -0500
There are supposed to be drivers on the CD-ROM that comes with the
card, although I have yet to try them. I think the readme file should
help. Jim E.
Robert McGwier wrote:
>
> Is there a driver for FA310TX (10/100 PCI card) in existence or development?
------------------------------
From: [EMAIL PROTECTED] (Darrin Smart)
Crossposted-To: comp.os.linux.networking,comp.os.linux.hardware,linux.dev.net
Subject: Re: Netgear FA310TX
Date: 23 Aug 1999 00:44:21 GMT
On Sun, 22 Aug 1999 23:05:55 GMT, Robert McGwier <[EMAIL PROTECTED]> wrote:
>Is there a driver for FA310TX (10/100 PCI card) in existence or development?
Depending on the revision of the card, you may need the the dec tulip
driver or the via-rhine driver.
- Darrin
------------------------------
From: "Aldog" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.hardware,linux.dev.net
Subject: Re: Netgear FA310TX
Date: Mon, 23 Aug 1999 00:52:10 GMT
Robert McGwier wrote in message <[EMAIL PROTECTED]>...
>Is there a driver for FA310TX (10/100 PCI card) in existence or
development?
Robert,
The Netgear FA310TX uses the DEC 21143 chip...which uses the 'Tulip' series
of ethernet drivers. Just about every Linux distribution has the 'Tulip'
driver...but it is constantly being updated...so you may want to find the
latest.
Netgear includes an enhanced Tulip linux driver on the floppy disk that
comes with the card. ( it's a source file that must be compiled..) If you
don't have the Netgear diskette, then take a look at Don Becker's site:
http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html
..he originally wrote and maintains the tulip drivers...just get the latest
version...0.90Q or higher.
Cheers...Al
------------------------------
From: Mark Hamstra <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Shared Libraries: what is the linux equivalent of "dllimport" and
"dllexport"
Date: 22 Aug 1999 20:33:59 -0400
Brian Poe <[EMAIL PROTECTED]> writes:
> To clarify;
>
> Under VC++ in Win32, the lack of __declspec(dllexport) indeed does
> remove the function symbol from the dll.
Meaning what, exactly? Yes, the symbol may no longer be exported,
but the instructions that implement the now-static function must
still exist in the DLL -- at least if the function is referenced
by other functions in the library. Or am I missing something?
--
Mark Hamstra
Bentley Systems, Inc.
------------------------------
From: Brian Poe <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Shared Libraries: what is the linux equivalent of "dllimport" and
Date: Mon, 23 Aug 1999 01:41:57 GMT
You are correct. I only meant to make the first point.
-Brian
Mark Hamstra wrote:
>
> Brian Poe <[EMAIL PROTECTED]> writes:
>
> > To clarify;
> >
> > Under VC++ in Win32, the lack of __declspec(dllexport) indeed does
> > remove the function symbol from the dll.
>
> Meaning what, exactly? Yes, the symbol may no longer be exported,
> but the instructions that implement the now-static function must
> still exist in the DLL -- at least if the function is referenced
> by other functions in the library. Or am I missing something?
>
> --
> Mark Hamstra
> Bentley Systems, Inc.
------------------------------
From: Robert McGwier <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.hardware,linux.dev.net
Subject: Re: Netgear FA310TX
Date: Mon, 23 Aug 1999 01:47:17 GMT
Thanks a lot to all. It worked immediately. I am running 2.2.11. The readme
file on the
floppy had the dec 21143 listed but I did not know it was the tulip series.
I can
add another card to my pile of 3c595TX's that work.
Thanks to all.
Bob
Aldog wrote:
> Robert McGwier wrote in message <[EMAIL PROTECTED]>...
> >Is there a driver for FA310TX (10/100 PCI card) in existence or
> development?
>
> Robert,
> The Netgear FA310TX uses the DEC 21143 chip...which uses the 'Tulip' series
> of ethernet drivers. Just about every Linux distribution has the 'Tulip'
> driver...but it is constantly being updated...so you may want to find the
> latest.
>
> Netgear includes an enhanced Tulip linux driver on the floppy disk that
> comes with the card. ( it's a source file that must be compiled..) If you
> don't have the Netgear diskette, then take a look at Don Becker's site:
> http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html
> ..he originally wrote and maintains the tulip drivers...just get the latest
> version...0.90Q or higher.
>
> Cheers...Al
------------------------------
** 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
******************************