Skip site navigation (1)Skip section navigation (2)
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>