RFC: libkse*.a in 7.0

Alexander Leidinger Alexander at Leidinger.net
Wed Dec 12 01:12:43 PST 2007


Quoting David Schultz <das at FreeBSD.ORG> (from Tue, 11 Dec 2007  
18:33:01 -0500):

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

Yes and no. Yes regarding using old libraries on a new system. No  
regarding having this feature only in a jail. Currently we have this  
feature in the entire system, without the need to tag something as  
"old" (note: we don't brandelf linux libs, we just load them in the  
linuxulator, and playing with the syscall vector instead of keeping  
the current level of backward compatibility in the kernel opens up a  
can of worms; everyone thinking this is exaggerated is free to head  
over to the linuxulator and fix the corresponding problems we have  
with libs there).

Bye,
Alexander.

-- 
Look before you leap.
		-- Samuel Butler

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-arch mailing list