[COFF] GCC boostrapper? Sort of a continuation of "a few comments..."

Adam Thornton athornton at gmail.com
Tue Jan 3 04:41:14 AEST 2023


So, all the shell-portability talk on TUHS reminds me of something I believe I saw back in the 90s, and then failed to find a few years ago when I went looking.

But my Google-fu is not great, so maybe I just didn't look in the right place.

I was trying to port Frotz to TOPS-20, because I wanted to run the Infocom games on TOPS-20 on an emulated PDP-10.  (The only further causality to the chain was a warning in the Frotz sources that it assumed 8-bit bytes and if you wanted to try to port it to a 36-bit environment, good luck; this is the difference between "stuff I do fo fun" and "stuff that needs a business justification".)  I had a K&R C compiler available, but the sources were all ANSI C.

I had remembered that deprotoize had been part of an early GCC, and I did manage to find deprotoize sources, buried, I think, in some dusty piece of the Apple toolchain.  But I also have a vague memory that GCC at some point probably in the mid-to-late 1990s came with something that was halfway between autoconf and Perl's bootstrapper.  I *think* it was a bunch of shell scripts that could put together a minimal C subset compiler, which then could be used to build the rest of GCC.  I'm pretty sure it was released as a reaction to the unbundling of C compilers when Unix vendors realized that was a thing they could do.

I could not find that thing at all.

Did I hallucinate it?  It seems like it would have been an immensely useful tool at the time.

I ended up writing my own very half-assed deprotoizer and symbol mangler (only the first six characters of the function name were significant, because that's how the TOPS-20 linker works, and I don't know that I could have gotten past that even with an ANSI compiler without having to do significant toolchain work) which got me over the hump, but I have remained curious whether there really was that nifty GCC bootstrapper or whether I made that up.

Adam


More information about the COFF mailing list