Date: Tue, 11 Dec 2007 18:33:01 -0500 From: David Schultz <das@FreeBSD.ORG> To: Daniel Eischen <deischen@FreeBSD.ORG> Cc: Kostik Belousov <kostikbel@gmail.com>, Alexander Leidinger <Alexander@Leidinger.net>, freebsd-arch@FreeBSD.ORG Subject: Re: RFC: libkse*.a in 7.0 Message-ID: <20071211233301.GA22692@VARK.MIT.EDU> In-Reply-To: <Pine.GSO.4.64.0712110845370.1059@sea.ntplx.net> References: <20071128211022.GA74762@lor.one-eyed-alien.net> <20071128213947.Q7555@fledge.watson.org> <20071210192533.GA15728@VARK.MIT.EDU> <20071210220854.07e02f1f@deskjail> <20071210223838.GB16598@VARK.MIT.EDU> <20071211080216.pb3b95teoggko00o@webmail.leidinger.net> <20071211112150.GA1214@deviant.kiev.zoral.com.ua> <Pine.GSO.4.64.0712110845370.1059@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 11, 2007, Daniel Eischen wrote: > On Tue, 11 Dec 2007, Kostik Belousov wrote: > > >On Tue, Dec 11, 2007 at 08:02:16AM +0100, Alexander Leidinger wrote: > >>I work in the office of SUN in Luxembourg, and one of our ideas for a > >>client was to run a Solaris 8/9 in a zone of a Solaris 10 as a > >>replacement for machines with Solaris 8/9. As we have a service > >>contract with our client, we have to take some business constraints > >>into account. And one of those business constraints is that Solaris > >>8/9 in a zone of Solaris 10 is not supported, as the kernel interface > >>(syscalls) changed in an incompatible way. > > > >Look at the project Etude. > > The syscalls are only exposed in an ABI compliant way through the > libraries, which is what we should do also. But I think if you > were to plop the Solaris 10 libraries (at least the symbol-versioned > ones) over the Solaris 8/9 image, it might have a chance of working > for you. Hmm, unless the Sun private symbols in Solaris 8/9 were > not versioned and kept as compatible versions in Solaris 10. > It might be interesting to try it and see what happens ;-) I'm not so sure about that. The truth is that they *do* make plenty of incompatible changes (referred to internally as "flag days"), but they ensure that apps linked against the new kernel and the new libc don't notice. They guarantee the stability of the ABI between the app and libc, not the stability of the ABI between libc and the kernel. There's an orthogonal issue of "branded zones," which are a new feature in Solaris 10; they're essentially jails with a different syscall vector, similar to what is done in the linuxulator. The original goal was to support Linux binaries and libraries running in Solaris, but it's also possible to have a Solaris 8 branded zone running in Solaris 10. In the latter case, you actually *are* using all the old Solaris 8 libraries in the jail, and there are a few more caveats in terms of what is supported, as I understand. This may be what Alex was referring to.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071211233301.GA22692>