[Haskell-cafe] Re: Re: Hackage on Linux

Simon Farnsworth simon at farnz.org.uk
Fri Aug 27 05:58:47 EDT 2010

Brandon S Allbery KF8NH wrote:

> On 8/26/10 10:23 , David Leimbach wrote:
>> Go, for example, has no shared libraries, and the runtime fits in every
>> binary.  It does not even depend on libc.  Go binaries call the system
>> call interface of the kernel, and the net result is that I get to test my
>> go code, deploy it, and not worry about the state of deployed go
>> environments quite so much as I do in the presence of shared libraries.
> Um.  That's a really good way to have all your programs stop working when
> the Linux kernel interface changes yet again ("ABIs? We don't need no
> steenking ABIs!" --- see in /usr/src/linux/Documentation).  Solaris is
> similar; the only approved interface is via libc and you must link to it
> shared if you want your program to work across versions/releases.
If you don't mind, I'd like a proper reference for this; looking at the 
Linux kernel documentation as you suggest tells me that the kernelspace to 
userspace ABI is supposed to be 100% stable, such that I can take all the 
binaries (including shared libraries) from an i386 Linux 2.0 system, and run 
them in a chroot on my x86-64 Linux 2.6.35 system.

It's the in-kernel ABI (for loadable kernel modules and the like) that's not 
guaranteed to remain stable.

More information about the Haskell-Cafe mailing list