Path: utzoo!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!nsc!rfg From: rfg@nsc.nsc.com (Ron Guilmette) Newsgroups: comp.sys.nsc.32k Subject: Re: 32k PC (was "do-it-yourself") Message-ID: <7855@nsc.nsc.com> Date: 17 Nov 88 00:18:58 GMT References: <2613@sultra.UUCP> <477@unocss.UUCP> <39@gnome6.pa.dec.com> <1264@cfa.cfa.harvard.EDU> <930@taux01.UUCP> <16761@agate.BERKELEY.EDU> <1069@stratus.UUCP> Reply-To: rfg@nsc.nsc.com.UUCP (Ron Guilmette) Organization: National Semiconductor, Sunnyvale Lines: 38 In article <1069@stratus.UUCP> gbs@stratus.UUCP (George B. Smith) writes: >We could use the compiler though. Ron Guilmette of National has GCC 1.30 >producing 32k code so we may be able to use that as a boot strap. Dear George, There no way I can seriously take credit for this. The initial port for the 32000 series instruction set was done by Michael Tiemann, formerly of MCC, now of Stanford U. (the same wonderful fellow who brought you G++) and was brought up on the Sequent-Balance and on the Encore-Multimax before I ever even saw the code (let alone tweeked it). Also, the initial port to Genix was done by a fellow named Jay Stein, who is a member of some computer club back east. All I really did was to keep re-porting the various versions to Genix (starting at about version 1.22) and I reported the bugs & fixes I found along the way back to FSF and to Dr. Stallman. I did fix some rather irritating bugs which were, for the most part, only the results of various bugs in the environment and tools (i.e. Genix & GNX) which I used to do the bootstraping. Most notable was the BUG in Genix (yes George, it is a bug!) where the original kernel implementors failed to save/restore *all* of the registers on context switches. Specifically, I had to redo the GCC code generation to avoid the use of the SB register. Also, I had to get GCC to output ".globl" assembler declarations for each external name which actually gets *referenced* in the source program being compiled. This was needed because of an assembler bug (when using -g). These fixes (and the C_EFCN workaround for the loader bug) are neither needed nor useful if you are NOT working on Genix and/or using GNX tools. Therefore, as I have said, the real credit goes mostly to M. Tiemann. -- Ron Guilmette National SemiConductor, 1135 Kern Ave. M/S 7C-266; Sunnyvale, CA 94086 Internet: rfg@nsc.nsc.com or amdahl!nsc!rfg@ames.arc.nasa.gov Uucp: ...{pyramid,sun,amdahl,apple}!nsc!rfg