Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Nov 1995 15:56:14 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        grog@lemis.de
Cc:        terry@lambert.org, hackers@FreeBSD.ORG
Subject:   Re: elm problem - "solved"
Message-ID:  <199511192256.PAA01747@phaeton.artisoft.com>
In-Reply-To: <199511191405.PAA00236@allegro.lemis.de> from "Greg Lehey" at Nov 19, 95 03:05:48 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> It's not voodoo, it's grotesque.  Every time you change crt0.o, you
> need to change your object file recognition routines?  What do you do
> if you're playing with crt0.o?

Well, if you are smart, you aren't in this position in the first place
because you picked a different magic number when you changed the ABI
that the binaries use.

If you're not smart, then you become grotesque as a damage control
mechanism.

In point of fact, what you'd probably do is use the magic number to
select a binary loader and have it call a subloader based on the
"rules" for binary compatability.  Then everything else falls into the
default loader.

This means that you only vary the recognition routines once: for backward
compatability, which by definition won't have anything to do with evolving
the interface.

Then if you change the ABI in the future, use a different magic number
or risk being labelled and idiot and having to repeat the process for
the now static pre-ABI-rev formats.


Do you want to be able to run the binaries, as "grotesque" as you have to
be to do so, or do you want to be "pure" and be unable to run anything?

ABI is a question of expediency in the first place, since it means you
are either too lazy or simply unable to evangelize people into porting
to your platform and/or cinvinve customers with older platforms to buy
all new software when switching.

I think the answer as to "what should be done once you have already
decided to be expedient anyway?" is pretty obvious.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511192256.PAA01747>