Strategy (was Re: Improving copyright)
Jeroen Dekkers
jeroen at dekkers.cx
Sat May 15 19:33:52 UTC 2004
At Sat, 15 May 2004 17:38:16 +0100,
Niall Douglas wrote:
>
> On 15 May 2004 at 10:52, Jeroen Dekkers wrote:
>
> > > Well you're not exactly comparing apples with apples here. Many
> > > command line programs are simple enough that a FreeBSD built binary
> > > runs on Linux fine because it uses nothing more than the basic POSIX
> > > API (despite different clib's) which is of course identical on both
> > > as both are compiled with GCC.
> >
> > Totally wrong. You're talking about APIs, but compiled programs use
> > ABIs, which is a different thing. And no, the ABIs between the FreeBSD
> > C library and the GNU one are very different.
>
> Both the GNU and BSD C libraries offer the same API's eg; size_t
> fread(void *buffer, size_t size, size_t count, FILE *stream). Both
> use the same compiler (GCC) and so therefore that API will convert
> into the same ABI eg; _fread using the same parameter to stack
> conversion mechanism (the procedural call convention).
>
> Therefore if your program used very few extremely universal calls you
> could even change the entire operating system and the binary need not
> know any better. If Windows also used ELF binaries you could even
> have a good chance of running a simple Win32 binary on FreeBSD if you
> mapped the Win32 C library to the FreeBSD one using /etc/ld.conf (is
> that the right file? I always have to look it up).
Neal already explained this is totally wrong.
> > > If you can find me an X11 binary from 1996 than runs unmodified on a
> > > modern installation without using some legacy binary compatibility
> > > package then I'll gladly retract my assertion.
> >
> > Your assertion "A Linux binary from 1996 stands *zero* *chance* of
> > running unmodified on the latest Linux" is proven wrong.
>
> I would argue it's not a Linux binary - I know that's slicing words.
> Ok clarified version: "A Linux binary from 1996 of a similar
> complexity to typical binaries running on Windows at the same period
> stands *zero* *chance* of running unmodified on the latest Linux
> without some form of library emulation package". Quite a mouthful,
> which is why I didn't write it first time.
I think cvs is a lot more complex than notepad.
> > And IMHO binary compatibility isn't really important. Source
> > compatibility is a lot more important, because you can just recompile
> > the program you have.
>
> Do even 90% of the world's computer users know what a compiler is?
No. What has this to do with it?
> That kind of foolish statement is unfortunately typical of
> programmers from a Unix background. Thank god we're finally getting
> over it.
What is foolish about it? Do I say the users have to recompile it?
No, I don't. The recompiling can just be done by the distribution the
user is using, or somewhere else the user gets his binary.
Jeroen Dekkers
More information about the Discussion
mailing list