Computer Old Farts Forum
 help / color / mirror / Atom feed
From: Adam Thornton <athornton@gmail.com>
To: COFF <coff@tuhs.org>
Subject: [COFF] GCC boostrapper?  Sort of a continuation of "a few comments..."
Date: Mon, 2 Jan 2023 11:41:14 -0700	[thread overview]
Message-ID: <444D1F28-37A8-402A-874D-38507F2DE65D@gmail.com> (raw)

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

             reply	other threads:[~2023-01-02 18:42 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-02 18:41 Adam Thornton [this message]
2023-01-02 18:50 ` [COFF] " Larry McVoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=444D1F28-37A8-402A-874D-38507F2DE65D@gmail.com \
    --to=athornton@gmail.com \
    --cc=coff@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).