I'll try to summarise the position so far:
1) Legacy a.out executable support is broken for a subset (size unknown)
of such executables.
2) We can ignore this or repair this.
3) We can build a new binary or just look around on old 3.x CDs until
we find one that works.
4) We can generate a working binary on 4.x or on 2.2.8-stable (after some
fixing).
5) We can generate ld.so anew each release, or generate it (or find it)
once and commit a binary.
I don't think there's any doubt about point 1. All a.out executables that
use libc.so.2.2 and another recompiled library will fail because of a
missing routine (__error) required by the recompiled library and not
supplied by libc or by executable or by the existing ld.so.
All these executables come from the 2.2.x era or earlier. Those built in
the 3.x era use libc 3.1 and don't have this problem. Urk... Actually,
it's slightly more complicated than that since the libc.so.3.1 built on
2.2.6 (for example) didn't contain __error() but the one built on 2.2.7
did. (At least according to the cvs logs). I'm most annoyed that I can't
find my 2.2.6 CDs. 2.2.5 had libc 3.0 (without __error) and 2.2.7 had
libc 3.1 (with __error) but the cvs logs say that 2.2.6 should have had
a different libc 3.1 (without __error). So, the exact "version" of
version 3.1 of libc could be important. Yuck.
We don't normally ignore things we can fix, so point 2 is resolved in
favour of fixing this, right?
We need to build a new binary since we (collectively) have forgotten
where the working 3.0 through 3.2 binaries came from. :-( Can we,
for example, prove that revision 1.57 made in into any release?
It seems feasable to generate a new binary on a recent or an old patched
FreeBSD version. The question is which is better. I think the newer
the better. Otherwise, who is going to build the 2.2.8-stable box
to make this one binary? I've already built a binary on 4.2-release
that works.
We disagree a bit over point 5. I think it is feasable and desirable
to build ld.so at each release. If we don't build it for each release,
how will fixes to rtld-aout and required libraries (eg libc) be incorporated?
I say keep building it fresh until a.out builds are impossible. Or are
you suggesting that each advance in 4.x and beyond be backported to
2.2.8-stable so that we can build one binary?
So, where to from here? Despite all my arguments, I could just commit
the binary I have to the lib/compat2* areas and leave it at that.
Stephen.
PS Thanks for all the "old_RELENG_2_2" etc tags now available in rtld-aout.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message