Linux-Development-Sys Digest #43, Volume #8      Mon, 24 Jul 00 19:13:18 EDT

Contents:
  Re: [BSD Sockets Programming]: How to determine if a (TCP) socket has  (Thomas Gagne)
  Re: 2.4.0-test5pre4 module problems? (Guido Trentalancia)
  Re: How can we make Libc less big ? ([EMAIL PROTECTED])
  Re: How can we make Libc less big ? (Alexander Viro)
  Re: How can we make Libc less big ? (Pete Zaitcev)
  Re: A good IDE ([EMAIL PROTECTED])
  pci_read_config_dword?? ("Peter Huang")
  reentrant - explanation (John Reynolds)
  Re: 2.4.0-test5pre4 module problems? (Robert Lynch)
  Re: reentrant - explanation ("Norman Black")
  USB ohci with Nec Controller - backport patch ([EMAIL PROTECTED])
  Re: [ANN] Beta testing of CW for Linux on Intel and PowerPC (Bruce Hoult)
  Re: Still no NFS in 2.2.16 (Stefaan A Eeckels)
  Re: boot loader -> bios (John in SD)
  Developer position ("Richard Rice")
  Re: Mount of Zip doesn't work since linux-2.4.0-test2 (bill davidsen)
  Re: How to handle paths (Veksler Michael)
  Re: How to wait for TCP data to be ack'ed? (bill davidsen)

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

From: Thomas Gagne <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.unix.programmer
Subject: Re: [BSD Sockets Programming]: How to determine if a (TCP) socket has 
Date: Mon, 24 Jul 2000 13:21:17 -0400
Reply-To: [EMAIL PROTECTED]

If you're using select(), an fd that gets closed on the write-end becomes
readable on the read-end.  When you read from the socket (a read-ready socket)
and get 0 bytes returned the socket has been closed by the remote end.  It
will not show-up in errorfds (or exception fds).


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

From: Guido Trentalancia <[EMAIL PROTECTED]>
Subject: Re: 2.4.0-test5pre4 module problems?
Date: Mon, 24 Jul 2000 19:56:51 +0200

Steve Udell wrote:
> 
> Hiya, I compiled 2.4.0-test5 yesterday only to have to go
> back to 2.4.0-test2 because of a bunch of modules failing.
> With example:
> 
> depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/block/loop.o
> depmod:         fget
> depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/misc/bttv.o
> depmod:         remove_wait_queue
> depmod:         add_wait_queue
> depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/misc/tdfx.o
> depmod:         remove_wait_queue
> depmod:         add_wait_queue
> depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/usb/audio.o
> depmod:         remove_wait_queue
> depmod:         add_wait_queue
> 
> a bunch of em, but not all my modules has that problem,
> I didn't do anything different that I know of building
> my kernel than I usually do, anyone seen this? or know
> how to correct?
> 
> --
> GNU/Linux Debian
> Steve Udell <[EMAIL PROTECTED]>
> 

all test5 prereleases are giving the same problem to me...
i'm using modutils-2.3.12...

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

From: [EMAIL PROTECTED]
Subject: Re: How can we make Libc less big ?
Date: Mon, 24 Jul 2000 18:36:11 GMT

On Mon, 24 Jul 2000 13:38:12 -0400 Fro-Man <[EMAIL PROTECTED]> wrote:

| So, really, I would have to say you are not really going to show a whole
| lot of improvement by using system calls.  You easily can do it better
| with using shared libraries.  And you can trim a decent ammount of fat if
| you just strip them after compile.

You're still linking in libc.  It still links in the stub function for
the syscall, and all the associated error handling and such.  The thing
to do is to not have any libc at all.  That means you can't even call
the write() function.  You have to do what the write() function does to
get the kernel to perform the syscall.

Try the -nostdlib option in gcc.  Look through kernel header files for
some syscall info.

-- 
| Phil Howard - KA9WGN | My current websites: linuxhomepage.com, ham.org
| phil  (at)  ipal.net +----------------------------------------------------
| Dallas - Texas - USA | [EMAIL PROTECTED]

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

From: [EMAIL PROTECTED] (Alexander Viro)
Subject: Re: How can we make Libc less big ?
Date: 24 Jul 2000 14:47:52 -0400

In article <[EMAIL PROTECTED]>,
Fro-Man  <[EMAIL PROTECTED]> wrote:
>On Mon, 24 Jul 2000 [EMAIL PROTECTED] wrote:
>
>> On 24 Jul 2000 12:00:57 GMT Marco van de Voort <[EMAIL PROTECTED]> wrote:
>
>> |>A fun challenge might be to make a hello world program w/o libc at all.
>> |
>> | Using syscalls is not as difficult as often though it is.
>> 
>> Don't give it away.  You're spoling the fun discovery :-)
>
>Maybe I have it all wrong, but....  Look below.
>
>Hmmm...  It really doesn't seem to help a whole lot for size though.  Even
>if you strip them afterwards...  A glibc, and pure system call hello world
>are about the same size.

[snip]
>-rwx------    1 daya     users      219828 Jul 24 13:32 libc.static*
>-rwx------    1 daya     users      219796 Jul 24 13:32 syscalls.static*
>
>So, really, I would have to say you are not really going to show a whole
>lot of improvement by using system calls.  You easily can do it better

        Yes? I can do it in less than 150 _bytes_. Yes, static ELF binary,
executable, prints the canonical text and exits with error code being 0.
Completely straightforward, no trickery with compression, etc. You've
just demonstrated what kind of shit glibc is - startup code (taken from
crt1.o, that comes from libc) brings in the metric buttload of functions.
You are _still_ linking against libc.a in your syscalls.static.

-- 
"You're one of those condescending Unix computer users!"
"Here's a nickel, kid.  Get yourself a better computer" - Dilbert.

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

From: [EMAIL PROTECTED] (Pete Zaitcev)
Subject: Re: How can we make Libc less big ?
Date: Mon, 24 Jul 2000 18:51:52 GMT

> Hmmm...  It really doesn't seem to help a whole lot for size though.  Even
> if you strip them afterwards...  A glibc, and pure system call hello world
> are about the same size.

The following program is short enough:

======= true.c ======================
int main()
{
        _exit(0);
        /*
         * return is not reached, it allows to link without
         * graceful return support (in theory...).
         */
        return 0;
}

#if 1   /* Linux */
/* gcc -o true -static -nostdlib true.c -lc -v */
void _start() {
        _exit(main());
}
#endif
=====================================

[zaitcev@js006 src]$ size true
   text    data     bss     dec     hex filename
    128       0       4     132      84 true

--Pete

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

From: [EMAIL PROTECTED]
Subject: Re: A good IDE
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.hardware
Date: Mon, 24 Jul 2000 19:28:47 +0100

In comp.os.linux.development.apps cLIeNUX user <[EMAIL PROTECTED]> wrote:
> Didn't the term IDE in this context come from somewhere other than unix?

> The "IDE" feature I use the most is "+", which is supported by Pico and
> the "most" pager. When gcc says 

If by '+' you mean compile, parse errors and edit, then joe can do that
quite easily.

-- 
______________________________________________________________________________
|   [EMAIL PROTECTED]   |                                                 |
|Andrew Halliwell BSc(hons)| "The day Microsoft makes something that doesn't |
|            in            |  suck is probably the day they start making     |
|     Computer science     |  vacuum cleaners" - Ernst Jan Plugge            |
==============================================================================

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

From: "Peter Huang" <[EMAIL PROTECTED]>
Subject: pci_read_config_dword??
Date: Mon, 24 Jul 2000 12:21:19 -0700



I want to read configuration offset address 0x100h but the limitation on
pci_read_config_dword is only 256 bytes. Since the second parameter of the
function call, which is the offset, is a char typed parameter. Can any one
point out how do I read beyond the first 256 bytes of the configuration
address space.

Peter



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

From: John Reynolds <[EMAIL PROTECTED]>
Subject: reentrant - explanation
Date: Mon, 24 Jul 2000 20:53:04 GMT

Hello,

Can someone explain reentrancy to me in particular how it would apply
to threads. Say I launch a thread for foo(). Does it mean that
somewhere in foo() it calls itself, perhaps indirectly (e.g. foo()
calls bar() which can call foo() )?

Thanks!


Sent via Deja.com http://www.deja.com/
Before you buy.

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

From: Robert Lynch <[EMAIL PROTECTED]>
Subject: Re: 2.4.0-test5pre4 module problems?
Date: Mon, 24 Jul 2000 14:11:18 -0700
Reply-To: [EMAIL PROTECTED]

Guido Trentalancia wrote:
> 
> Steve Udell wrote:
> >
> > Hiya, I compiled 2.4.0-test5 yesterday only to have to go
> > back to 2.4.0-test2 because of a bunch of modules failing.
> > With example:
> >
> > depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/block/loop.o
> > depmod:         fget
> > depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/misc/bttv.o
> > depmod:         remove_wait_queue
> > depmod:         add_wait_queue
> > depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/misc/tdfx.o
> > depmod:         remove_wait_queue
> > depmod:         add_wait_queue
> > depmod: *** Unresolved symbols in /lib/modules/2.4.0-test5/usb/audio.o
> > depmod:         remove_wait_queue
> > depmod:         add_wait_queue
> >
> > a bunch of em, but not all my modules has that problem,
> > I didn't do anything different that I know of building
> > my kernel than I usually do, anyone seen this? or know
> > how to correct?
> >
> > --
> > GNU/Linux Debian
> > Steve Udell <[EMAIL PROTECTED]>
> >
> 
> all test5 prereleases are giving the same problem to me...
> i'm using modutils-2.3.12...

I tried test5-pre4 and found this module problem, but test5-pre1 is
running OK  for me (with plenty of modules in use.)

HTH. Bob L.
-- 
Robert Lynch-Berkeley CA [EMAIL PROTECTED]

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

From: "Norman Black" <[EMAIL PROTECTED]>
Subject: Re: reentrant - explanation
Date: Mon, 24 Jul 2000 14:19:26 -0700
Reply-To: "Norman Black" <[EMAIL PROTECTED]>

Re-entrancy usually refers to the following.

You have some procedure that read and/or writes some global data(static or
allocated) and the data is not protected via some mechanism. This procedure
is not considered re-entrant because two threads cannot execute the code at
the same time because of the global data. If each thread tries to update the
same global data at the same time you have a problem. Each thread has it own
stack local variables so there is no conflict here. All other data is
shared, unless by algorithm only one thread will possibly access it. This
problem can be resolved by using an exclusion object to protect the thread
shared data from multiple access.

In sum, a re-entrant procedure, means that two or more threads can safely
execute the procedure at the same time.

--
Norman Black
Stony Brook Software
the reply, fubar => ix.netcom

"John Reynolds" <[EMAIL PROTECTED]> wrote in message
news:8liabe$91u$[EMAIL PROTECTED]...
> Hello,
>
> Can someone explain reentrancy to me in particular how it would apply
> to threads. Say I launch a thread for foo(). Does it mean that
> somewhere in foo() it calls itself, perhaps indirectly (e.g. foo()
> calls bar() which can call foo() )?
>
> Thanks!
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.



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

From: [EMAIL PROTECTED]
Subject: USB ohci with Nec Controller - backport patch
Date: Mon, 24 Jul 2000 21:24:19 GMT


Hi!

I have a Toshiba Laptop 2520CDT, with a Nec USB Controller,
I used with this laptop a USB camera that uses cpia_usb.o module.
With 2.4.0-test2, the camera seems to work, but I need to run
2.2.16 kernel for use ltmodem.o, and them I applied USB backport patch
that make 2.2.16 USB how the 2.4.0-test2 kernel.

Result: with 2.4.0-test2 kernel USB work for my NEC controller
with 2.2.16 and backport patch, the USB don't work.

Hint: with 2.2.16 backport patch the kernel don't recognise a Nec Controller
,like 2.4.0-test2 do, but a ohci generic controller.


Anyone have experience with this problem?

thanks,
lore

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

From: Bruce Hoult <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.powerpc
Subject: Re: [ANN] Beta testing of CW for Linux on Intel and PowerPC
Date: Tue, 25 Jul 2000 09:39:47 +1200

In article <[EMAIL PROTECTED]>, 
[EMAIL PROTECTED] (MWRon) wrote:

> In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED]
> (Marco van de Voort) wrote:
> 
> >Or mklinux (another Mac Linux distribution). I use Slackware on PC, and
> >want to use mklinux on the PowerMac (since LinuxPPC doesn't support 
> >nubus).
> >Neither of them are supported.
> 
> send me a request and you might want to send a note to the Linux
> distributor as well we are trying to cooperate with everyone possible.

That would be ... Apple.  Or Prime Time Freeware (the distributors).  
it's exactly two years since the last release mentioned on the ptf.com 
website, so I don't know if there's anything happening there...

-- Bruce

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

From: [EMAIL PROTECTED] (Stefaan A Eeckels)
Subject: Re: Still no NFS in 2.2.16
Date: Mon, 24 Jul 2000 19:54:37 +0200

In article <8l4jm0$8tq$[EMAIL PROTECTED]>,
        [EMAIL PROTECTED] writes:
> Never got a reply to my previous post; why doesn't knfsd work in 2.2.16 (at
> least on Linux)?  I always get an error with "nfssvc".  
> 
> It seems to work fine with kernel 2.2.12, which I'm currently using.  I built
> both kernels from source, using the same nfs options.
> 
> I'd very much appreciate any pointers to info on this problem.

I have no problems with knfsd on 2.2.16, sorry. 
Could you give some more details about the error?

-- 
Stefaan
-- 
Ninety-Ninety Rule of Project Schedules:
        The first ninety percent of the task takes ninety percent of
the time, and the last ten percent takes the other ninety percent.

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

From: John in SD <[EMAIL PROTECTED]>
Subject: Re: boot loader -> bios
Reply-To: [EMAIL PROTECTED]
Date: Mon, 24 Jul 2000 22:29:12 GMT

LILO 21.x.x uses the following ints:

0x10 - for video output
0x13 - to read/write to the disk
0x14 - serial communication (if serial= is used in lilo.conf)
0x16 - to get keyboard input

--John


On Tue, 25 Jul 2000 00:04:04 +0800, Kang Tin LAI <[EMAIL PROTECTED]> wrote:

>Beside of int 13 and int 10, any other ints (may be hidden)
>that linux boot loader (LILO) relys on?
>
>I want to have my boot ROM (not bios), it just load the boot
>sector to 0x7c00, and a hdd access routines and other peripheral
>init codes are put in the second boot, then load the kernel image.


LILO version 21.5 (18-Jul-2000) source at
ftp: brun.dyndns.org   dir: /pub/linux/lilo

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

From: "Richard Rice" <[EMAIL PROTECTED]>
Subject: Developer position
Date: Mon, 24 Jul 2000 15:45:06 -0700

Hello to all!!
I am a recruiter up in the Seattle area who is currently networking to
locate a Sr. Developer for a client in Bellevue.
I am seeking an individual who has the ability to port PCI device drivers
from NT over to Linux and also write interrupt handlers.
My client is on the absolute cutting edge of Java streaming media
technology.
It has been my experience that individuals with specific skills generally
know of others with those same skills.
Any kind of assistance as far as pointing me in the right direction would be
immensely appreciated.

Cheers!
Richard Rice
Technical Staffing Consultant
[EMAIL PROTECTED]
(425) 485-4047 ext. 110
(425) 316-3534 fax
Portland (503) 345-0062
Bellingham (877) 271-9889
www.nortecinc.com
PO Box 12220, Mill Creek, WA 98082





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

From: [EMAIL PROTECTED] (bill davidsen)
Subject: Re: Mount of Zip doesn't work since linux-2.4.0-test2
Date: 24 Jul 2000 22:55:20 GMT

In article <[EMAIL PROTECTED]>,
kris  <[EMAIL PROTECTED]> wrote:
| bill davidsen wrote:

| >   Let's make a meaningless change without thinking, which buys us
| > nothing but a little namespace clarity and breaks every SCSI system
| > using modules. Hacker mentality at its finest. The folks in Redmond must
| > be smiling on yet another tarnish on Linux.

| You are aware to be using software that has problem spots ...
| And as always with Linux development kernels things change from time to
| time .. they tend to get resolved before they get in the "stable tree".
| 
| So stop whinin..

  Pointing out the hole where we shoot ourselves in the foot is hardly
whining.

| In redmond they sell release software of this Quality ...
| And call it proffesional.

  That's what I'm suggesting we avoid.

| At least U could have stayed in the stable kernel tree... no problem there

  It was sd_mod in 2.0.xx. It was sd_mod in 2.2.xx. Think after five
years there might be a few people with scripts using that.

  My complaint is that there is absolutely no benefit from changing a
name, and it breaks people's scripts (and habits) for no good reason.
Changes like ipchains to iptables are good ones, made to improve
functionality. To make a change which prevents the new kernel from being
a drop-in on existing distributions like Redhat and Slackware and which
gains zero is just one more chance to look like hackers.

  This has all the technical benefit of calling something violet for
five years and then calling the same color purple because you like the
sound of it.

-- 
  bill davidsen <[EMAIL PROTECTED]>  CTO, TMR Associates, Inc
There are those who make things happen, those who watch things happen,
and those who wonder what happened.
        -- idea from _Pickles_

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

From: Veksler Michael <[EMAIL PROTECTED]>
Subject: Re: How to handle paths
Date: 24 Jul 2000 08:44:36 GMT

Jim Thomas <[EMAIL PROTECTED]> wrote:
>  I've just received some code originally written for Windoze.  My mission
>  is to compile it for Linux.  One of the first problems I've encountered
>  is how to handle the directory path delimiter so that it compiles for
>  both:

>  #include "dir\file.h"
>               ^ this is bad for *nix.


I had the impression that MS-Windows treats both '/' and '\' as
directory separators. However the shell  (or command prompt) can't
handle that.
This means that you can write the following both on any UNIX and on
windows:
  #include "dir/file.h"

Disclaimer:
I stopped programming on MS platforms years ago. My knowledge on
Windows is mainly from Wine mailing lists. 


  Michael



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

From: [EMAIL PROTECTED] (bill davidsen)
Subject: Re: How to wait for TCP data to be ack'ed?
Date: 24 Jul 2000 23:09:28 GMT

In article <q%5e5.1995$[EMAIL PROTECTED]>,
Grant Edwards <[EMAIL PROTECTED]> wrote:
| I'm working on a device driver that writes chunks of data via a
| TCP connection.  I need to be able to wait at certain points
| until all of the data written so far has been ACK'ed.
| 
| How do I find out if all data in a TCP stream has been ACK'ed
| before proceeding?

1 - have the application send an ACK

2 - close the socket

These MIGHT help;

3 - look in /proc/net/tcp, I can't remember if the queue is cleared when
    the data are sent or acked.

4 - look at what fflush, fsync, or some of the ioctl's do on a socket.

-- 
  bill davidsen <[EMAIL PROTECTED]>  CTO, TMR Associates, Inc
There are those who make things happen, those who watch things happen,
and those who wonder what happened.
        -- idea from _Pickles_

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


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