From owner-freebsd-hackers Wed May 29 12:57:18 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA00852 for hackers-outgoing; Wed, 29 May 1996 12:57:18 -0700 (PDT) Received: from expo.x.org (expo.x.org [198.112.45.11]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id MAA00847 for ; Wed, 29 May 1996 12:57:13 -0700 (PDT) Received: from exalt.x.org by expo.x.org id AA17246; Wed, 29 May 96 15:56:34 -0400 Received: from localhost by exalt.x.org id PAA23238; Wed, 29 May 1996 15:56:33 -0400 Message-Id: <199605291956.PAA23238@exalt.x.org> To: Terry Lambert Cc: hackers@freefall.FreeBSD.org Subject: Re: Forgiving select() call. In-Reply-To: Your message of Wed, 29 May 1996 11:39:06 EST. <199605291839.LAA13936@phaeton.artisoft.com> Organization: X Consortium Date: Wed, 29 May 1996 15:56:32 EST From: "Kaleb S. KEITHLEY" Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > > Trace it on a SunOS 4.1.3 *box*. > > > > Obviously it will say select on a 4.1.3 box. So what? The question > > that has led us down this primrose path is whether Solaris has select. > > Look. No Terry, you look. Why don't you try this stuff for yourself instead of making wild assed guesses and amazing assertions like "truss is lying." > > The thing is going to push *select* arguments on the stack, and then > trap 93. > > This won't change when you run it under ABI emulation as opposed to > running it in it's native environment. Is this just guessing on your part? > Whatever is in the frigging kernel is decoding *select* arguments > (not *poll* arguments) off the user stack. You haven't proven that the select arguments are being decoded in the kernel at all. > That makes it *select*, in my book. As opposed to what truss says the kernel is doing. Truss seems to get everything else right. Is this just an astronomically huge coincidence that truss is broken when it comes to select? Even if it is there, who really gives a fuck? It isn't there for mere mortals to use, so for all practical purposes, it isn't there. You can't write a native mode program that references select that won't use poll. You can't write a native mode program that uses the syscall interface and get anything except poll. But the reality is, it ain't there. > > > A statically linked 4.1.3 binary will trap the select(2) stub through > > > trap entry 93. > > > > What evidence do you have that it's even trapping? Everything could be > > handled in the library and truss could be telling the truth -- that it's > > using poll. We do know how truss works. It traps, and inspects the > > processor state to see what triggered the trap. > > I disassembled it and saw "trap". Pretty damn obvious. The library > isn't going to change because it's *statically* (HELLO, *STATICALLY*) > linked. HELLO! HELLO TERRY! IS THERE ANYONE HOME? Have you actually run the a SunOS binary on Solaris or are you just talking out of your ass? Even though it's statically linked, truss shows that more than a few shared libraries are loaded from /usr/4lib and /usr/ucblib. It even loads /usr/lib/libc at runtime. You can't prove that the traps aren't fixed up by the loader or the ABI runtime before the code is executed. Do tell, is truss is lying again? > > > Poll's merits are on the basis of an improper implementation of select. > > > > Well, that's the first time *that* has come up. Pray tell, now what's > > wrong with select. > > It blows it's shorts afer FD_SETSIZE fd's in the most recent release, > but not in -current. This has nothing to do with whether select is better or worse than poll. Darken my email doorstep no more with this crap. -- Kaleb KEITHLEY