Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Dec 2000 04:50:48 -0500
From:      "Donald J . Maddox" <dmaddox@sc.rr.com>
To:        "David O'Brien" <obrien@freebsd.org>
Cc:        Stephen McKay <mckay@thehub.com.au>, "Donald J . Maddox" <dmaddox@sc.rr.com>, current@freebsd.org
Subject:   Re: Is compatibility for old aout binaries broken?
Message-ID:  <20001220045048.A4495@cae88-102-101.sc.rr.com>
In-Reply-To: <20001220014259.G41741@dragon.nuxi.com>; from obrien@freebsd.org on Wed, Dec 20, 2000 at 01:42:59AM -0800
References:  <20001216161756.A6370@cae88-102-101.sc.rr.com> <200012171658.eBHGwGW24109@dungeon.home> <20001220014259.G41741@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Actually, the aout libs I am using when I get the ___error undefined
are the ones from the XFree86-3.3.6 distribution, compiled for 
FreeBSD 3.x.  Originally I was using the aout X libs I built myself
when building the XFree86-3.3.6 port.  Using those, I still got an
undefined symbol, but it wasn't ___error, and I don't remember
exactly what it was, just that it started with 3 underscores too.

On Wed, Dec 20, 2000 at 01:42:59AM -0800, David O'Brien wrote:
> 
> src/lib/libc/sys/__error.c suggests this was the case for 2.2.7+.
> 
> What is out of sync is the X11 a.out libs.  They are probably built on a
> 2.2.7 or 2.2.8 box, thus they refer to `___error' vs. `errno'.  These
> libs are wrong for the SimCity binary.  They are a.out yes, but not
> proper for compat20 use.  Since SimCity needs `libgcc.so.261', I'll
> assume it was built that long ago.
> 
> The problem isn't as much ld.so, as it should match the libc.so, et.al.
> you are using from the compat2[01] dist (needed to satisfy ``ldd
> lib/SimCity/res/sim'').  And `ld.so' and the shared libs would be
> consistent on the system the a.out program was built on.
> 
> What I would feel most comfortable with, is doing a MFC to RELENG_2_2 of
> the rtld-aout changes since then, building a new `ld.so' and putting that
> in the compat2? dists.  Problem is I don't have access to a 2.2-STABLE
> box.
> 
> 
> > 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.
> 
> Are you sure?  src/lib/compat/compat2[012]/ld.so.gz.uu are all at
> rev 1.1.  So there has been no change to them over the lifetime of their
> existence.  All three are identical -- having the same MD5 checksum.
> Well, looking at the release tags compat22/ld.so was in 3.2.
> compat2[01]/ld.so was added for 3.3.
> 
> > 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.)
> 
> Not quite.  I seem to remember that JKH was makeing a tarball of a.out
> libs from what ever was on his box at the time (thus probably the last
> a.out ld.so just before E-day on 3-CURRENT).  When I committed the
> compat2? bits, I took ld.so from a 2.2.x release as this is the compat2?
> dist, not compat3.aout dist.  Which is what you're suggesting should have
> been done.
> 
> -- 
> -- David  (obrien@FreeBSD.org)
>           GNU is Not Unix / Linux Is Not UniX
> 
> 
> 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?20001220045048.A4495>