Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 May 1996 13:43:35 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        kaleb@x.org (Kaleb S. KEITHLEY)
Cc:        terry@lambert.org, hackers@freefall.FreeBSD.org
Subject:   Re: Forgiving select() call.
Message-ID:  <199605292043.NAA14327@phaeton.artisoft.com>
In-Reply-To: <199605291956.PAA23238@exalt.x.org> from "Kaleb S. KEITHLEY" at May 29, 96 03:56:32 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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?

No.  This is knowing that non-writable text segments don't mutate.
Code does not mutate.

> You haven't proven that the select arguments are being decoded in the
> kernel at all.

And I don't have to.  *uninstall* the 4.x binary compatability package,
which is an optional install package on your Solaris box, or try to
run a statically linke 4.x binary using select on a Solaris 2.[012]
box that has not been updated.  See the ENOSYS for yourself.

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

No, this is just a prudent decision on the part of SunSoft, given the
intent of phasing select out in favor of poll.

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

cs 45% uname -a
SunOS cs 4.1.3_U1 1 sun4c

icarus 52% uname -a
SunOS icarus 5.4 generic sun4m sparc

> 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 an ldd on your binaries.  If you are loading shared libraries, you
must not be statically linked.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605292043.NAA14327>