From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, MIME_HTML_ONLY,MIME_HTML_ONLY_MULTI,MIME_QP_LONG_LINE,MPART_ALT_DIFF, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id EAE6C2483B for ; Tue, 12 Mar 2024 14:31:46 +0100 (CET) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id EE44942895; Tue, 12 Mar 2024 23:31:41 +1000 (AEST) Received: from fhigh6-smtp.messagingengine.com (fhigh6-smtp.messagingengine.com [103.168.172.157]) by minnie.tuhs.org (Postfix) with ESMTPS id 8FCCB4288C for ; Tue, 12 Mar 2024 23:31:30 +1000 (AEST) Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 86DF411400A5; Tue, 12 Mar 2024 09:31:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Tue, 12 Mar 2024 09:31:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=serissa.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1710250289; x=1710336689; bh=jEqBF8lUfuedKpgXutsGGb3rhMYzo7eazudWzdqd4DI=; b= m3MKNZDPace8+wuRiUKK+M/Uf/zADjE4JVjRQYrqEL/ATQOx6ggHXBBQBfAa0JGF /wqhUM6Y6Bipux1eS3t+lyk5L9UsiMhugY3YIR3New4X63afAiYTycD3bFK/O4OD PWINtZFdW8wqYFIyMPjkMZrSfApr9Da7Z3zmZEQ51gIBRh9jUkLhEDBMpOOeprkE ejBI1otYEZXnOeM04mSuIERYMF0ex1FdvvmJFD4B1Eyg45+Xfdnnv0SSCKXT6w6Z iDRPzcgjQzxMqhGyl/KtCarm4u8YCfwRDKIVGS/ydqpOzthSvzjlZ09glxY1CQ7v yvjvy/XxFTLT7fAdIfeP4g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1710250289; x= 1710336689; bh=jEqBF8lUfuedKpgXutsGGb3rhMYzo7eazudWzdqd4DI=; b=k rE/FhuVbyqi593r8pKqO/KiOtDenzVwtyyabVe1qeMrV/2cTbckAXHHP3J4sBg4P VTeETOdrhtXrpYglvKyOuxdiingbUjuN52vFBqL/kZL5UL4dfxfBh6QvCkHKJ3jv 3YV6qpANvcyunCAoYTMCSrqsIBpMujyyGyOnWOVHbsf11Y2anZH/mh0syAPrRx93 5DD188Uj/e92WufN/2/TbObtAIg3YYFos9RH8opMdnjVudCV4/OgfGJvJUwb/rDA TJGvoInvBQRJi3r4WF4KVs+cWUdZUxiFOiQNWWh7vAfIhz7xMO2vZR6BW0TTz6gC JfMeaP1uR78iiaj6onR/g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrjeefgdehfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenqf hnlhihuchonhgvuchprghrthculdehuddmnecujfgurheptgfghfggufffkfhfvegjvffo segrjehmrehhtdejnecuhfhrohhmpefnrghrrhihucfuthgvfigrrhhtuceoshhtvgifrg hrthesshgvrhhishhsrgdrtghomheqnecuggftrfgrthhtvghrnhepffffjefhtddvgefh hfetfedufeekhfeuvdekhfegvdfgvdevueehleefuefgvedunecuffhomhgrihhnpehgih hthhhusgdrtghomhdpuhhnihdqshhtuhhtthhgrghrthdruggvpdhmrhhotghhkhhinhgu rdgtohhmpdhgmhgrihhlrdgtohhmpdhmvghmvggtvghnthhrrghlrdgtohhmpdgrrhgthh hivhgvrdhorhhgpdgtohhmphhuthgvrhifohhrlhgurdgtohhmpdhsvggvfhhighhurhgv uddrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehsthgvfigrrhhtsehsvghrihhsshgrrdgtohhm X-ME-Proxy: Feedback-ID: ibf61458d:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Mar 2024 09:31:29 -0400 (EDT) Content-Type: multipart/alternative; boundary=Apple-Mail-41DAA5F6-DE8A-4C68-80E3-05C6A6F6013F Content-Transfer-Encoding: 7bit From: Larry Stewart Mime-Version: 1.0 (1.0) Date: Tue, 12 Mar 2024 09:31:18 -0400 Message-Id: References: In-Reply-To: To: ron minnich X-Mailer: iPad Mail (21D61) Message-ID-Hash: 4H2GBM3D6R7F2NZRTGSCZSMHM5VWBXP3 X-Message-ID-Hash: 4H2GBM3D6R7F2NZRTGSCZSMHM5VWBXP3 X-MailFrom: stewart@serissa.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Peter Yardley , Marc Rochkind , tuhs@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: History of non-Bell C compilers? List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --Apple-Mail-41DAA5F6-DE8A-4C68-80E3-05C6A6F6013F Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Tha= t is an awesome story!  Things were a little easier on MIPS at SiCortex= because the MIPS 5KF core had a mode in which it could fetch instructions f= rom JTAG,...slowly.  That was good enough to initialize the registers a= nd initialize the cache, at which point you could run regular C code to init= ialize the DRAM controllers, as long as you didn't cause a miss :)

On Mar 11, 2024, at 8:30=E2=80=AF= PM, ron minnich <rminnich@gmail.com> wrote:

=
=EF=BB=BF
One of t= he neatest compilers I worked with was Eric Biederman's romcc.

"romcc is a C compiler which produces binaries which do not rely on RA= M, but
instead only use CPU registers."

We u= sed romcc for 15 years or so. It was critical to getting DRAM and Hypertrans= port topology working on the Opteron. Remember: at power-on/reset, RAM i= s dead, dead, dead, and getting it going on newer systems is (literally) bil= lions of instructions. So, no ram. The only "ram" romcc had were the general= purpose registers. Later, eric added support for the SIMD registers, a= nd "memory" grew a few hundred bytes. No memory, no stack: 100% inlining. ro= mcc knew how to use puddle arithmetic and all the other tricks. It was amazi= ng.

It is a full ANSI C compiler (as of 2006 ANSI C= ) in 25KLOC code, in one file: https://github.com/wt/coreboot/blob/m= aster/util/romcc/romcc.c

The story of its creat= ion, as told to me by the Linux NetworX CTO ca 2004: Eric worked at Lin= ux NetworX at the time, and they were shipping LinuxBIOS-based systems. Ever= yone working with Opteron was suffering with assembly. Eric vanished for 30 d= ays, and on the 31st day returned from the mountain (or his apartment I gues= s) with romcc, and It Was Good. Really good. The code we wrote for Opteron H= ypertransport was far better than AMDs; they even admitted it to us later.&n= bsp; We could even run with empty Socket 0; they could not. 
=
Last I checked, it still builds and 100 or so regression test= s work just fine.



On Mon, Mar 11, 2024 at 3= :28=E2=80=AFPM Peter Yardley <peter.martin.yardley@gmail.com> wrote:
I used the DEC VMS C compiler extensively w= hile I was at NSWIT. I ported a lot of Berkley (I think) C code to VMS. Some= of their VLSI design suite, KIC etc. There weren=E2=80=99t a lot of changes= to make, the compiler and library was pretty K&R from what I remember. T= he usual small header issues applied. VMS IO is a bit different from UNIX IO=   but they had a mode (stream I think) that meant minimal changes to UN= IX code.

http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/vax/lang/c/AI-L370= C-TE_Guide_to_VAX_C_V2.3_Mar1987.pdf

It did help that the code I was working with was pretty damn good. I learn C= porting KIC to VMS.

> On 12 Mar 2024, at 7:44=E2=80=AFAM, Marc Rochkind <mrochkind@gmail.com> wrote: >
> Since it came up in this thread, here's my review of Coherent in BYTE M= agazine (1985):
>
> https://www.mrochkind.com/mr= ochkind/docs/Byte-Pick-Coherent-Theos.pdf
>
> Marc
>
> On Mon, Mar 11, 2024 at 11:13=E2=80=AFAM Paul Ruizendaal <pnr@planet.nl> wrote:
> On Thu, Mar 7, 2024, 4:14=E2=80=AFPM Tom Lyon <pugs78 at gmail.com> wro= te:
>
> > For no good reason, I've been wondering about the early history of= C
> > compilers that were not derived from Ritchie, Johnson, and Snyder a= t Bell.
> > Especially for x86.  Anyone have tales?
> > Were any of those compilers ever used to port UNIX?
>
> An unusual one would be the =E2=80=9Crevenue bomb=E2=80=9D compiler tha= t Charles Simonyi and Richard Brodie did at Microsoft in 1981.
>
> This compiler was intended to provided a uniform environment for the me= nagerie of 8 and 16-bit computers of the era. It compiled to a byte code whi= ch executed through a small interpreter. This by itself was hardly new of co= urse, but it had some unique features. It generated code in overlays, so tha= t it could run a code base larger than 64KB (but it defined only one data se= gment). It also defined a small set of =E2=80=9Csystem=E2=80=9D commands, th= at allowed for uniform I/O. I still have the implementation spec for that in= terpreter somewhere.
>
> This compiler was used for the first versions of Multiplan and Word, an= d my understanding is that the byte code engine was later re-used in Visual B= asic. I think the compiler also had a Xenix port, maybe it even was Xenix na= tive (and at this time, Xenix would still essentially have been V7).
>
> I am not sure to what extent this compiler was independent of the Bell c= ompilers. It could well be that it was based on PCC, Microsoft was a Unix li= censee after all and at the time busy doing ports. On the other hand, Charle= s Simonyi would certainly have been capable of creating his own from scratch= . I do know that this compiler preceded Lattice C, the latter of which was d= istributed by Microsoft as Microsoft C 1.0.
>
> Maybe others know more about this Simonyi/Brodie compiler?
>
> Paul
>
> Notes:
> http://www.memecentral.com/mylife.htm
> https://web.archive.org/web/200809052= 31519/http://www.computerworld.com/softwaretopics/software/appdev/story/0%2C= 10801%2C76413%2C00.html
> http://seefigure1.com/images/xenix/xenix-time= line.jpg
>
>
> --
> My new email address is mrochkind@gmail.com

Peter Yardley
peter.ma= rtin.yardley@gmail.com

= --Apple-Mail-41DAA5F6-DE8A-4C68-80E3-05C6A6F6013F--