[Haskell-cafe] Re: Re: Hackage on Linux
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