Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Dec 2000 13:54:31 -0500
From:      "Donald J . Maddox" <dmaddox@sc.rr.com>
To:        Stephen McKay <mckay@thehub.com.au>
Cc:        "Donald J . Maddox" <dmaddox@sc.rr.com>, current@FreeBSD.ORG
Subject:   Re: Is compatibility for old aout binaries broken?
Message-ID:  <20001217135431.C9721@cae88-102-101.sc.rr.com>
In-Reply-To: <200012171658.eBHGwGW24109@dungeon.home>; from mckay@thehub.com.au on Mon, Dec 18, 2000 at 02:58:16AM %2B1000
References:  <20001216161756.A6370@cae88-102-101.sc.rr.com> <200012171658.eBHGwGW24109@dungeon.home>

next in thread | previous in thread | raw e-mail | index | archive | help
Ok, thanks for a very enlightening explanation :)

Under the circumstances, it seems silly to have aout conpat
bits installed at all, seeing as how they cannot work.

Like you, I normally upgrade from source --  This box has
been -current ever since 2.0.5 or so was -current, but I
had to reinstall from scratch a while back by installing
4.2-RELEASE and then cvsupping back to -current, so I
guess I lost my working aout ld.so in the process.  Bummer :(

On Mon, Dec 18, 2000 at 02:58:16AM +1000, Stephen McKay wrote:
> On Saturday, 16th December 2000, "Donald J . Maddox" wrote:
> 
> >The other day, on a whim, I decided to try running an old binary
> >of SimCity (the same one found in the 'commerce' directory on
> >many FBSD cds), and it failed in a odd way...
> 
> You and I may be the only people in the world that run old binaries.
> This has been broken for new users for some time. :-(  Those of us
> upgrading from source have been immune to this problem, because we
> retain the old a.out ld.so binary.
> 
> >/usr/libexec/ld.so: Undefined symbol "___error" called from sim:/usr/X11R6/lib
> >/aout/libX11.so.6.1 at 0x20160644
> 
> When errno became a function that returns a pointer (previously it was
> a simple integer variable), recompiled libraries became incompatable with
> old binaries.  So, I hacked the a.out loader (ld.so).  The fix was in 3.0.
> Well, Nate called it a horrible hack, so maybe I should say "the hack was
> in 3.0".
> 
> >Am I overlooking something obvious here, or is something actually
> >broken with respect to running old aout binaries?
> 
> I found that rtld-aout won't compile.  That's kinda broken.
> (It's probably something simple.  Looks like the a.out version of
> a pic library just isn't around any more).  I'll try harder later.
> What's certain is that it isn't compiled by default.
> 
> I poked about with my old FreeBSD CD collection and found that
> version 3.0 through 3.2 have a fully functioning (fully hack enabled)
> ld.so, but an older binary has been substituted in 3.3 and onward,
> including 4.0 and 4.1, and most likely 4.2 also.
> 
> I can only guess that some anonymous release engineer (nobody we know :-)
> picked the wrong CD at some point to get the master copy of ld.so once
> it stopped compiling.  (Or at least stopped being easily compiled.)
> 
> Ideally, rtld-aout would be compiled fresh for every release.  Until then,
> you can repair your system by retrieving ld.so from a 3.3 CD (in the
> compat22 section), or from a 3.2 live filesystem CD.
> 
> Stephen.
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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