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>