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>