Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-lcc!lll-winken!uunet!munnari!vuwcomp!jonathan From: jonathan@comp.vuw.ac.nz (Jonathan) Newsgroups: comp.sys.pyramid Subject: Re: gcc for Pyramid Message-ID: <14644@comp.vuw.ac.nz> Date: 14 Apr 89 05:06:26 GMT References: <1032@nixctc.DE> <1033@nixctc.DE> Reply-To: jonathan@comp.vuw.ac.nz (Jonathan) Organization: Comp Sci, Victoria University, Wellington, New Zealand. Lines: 52 In article bob@allosaur.cis.ohio-state.edu (Bob Sutterfield) writes: >In article <1032@nixctc.DE> pete@relay.NixCtc.de (Pete Delaney) writes: > Has anyone looked at a gcc implementation for the Pyramid? > >I understand that it was done inside Pyramid, mostly as an exercise in >curiosity, and it worked fine. Last I heard, Pyramid was uninterested >in releasing it because it would reveal too much proprietary >information about their system. > >Sounds like someone else outside Pyramid will have to go ahead and do >the work again. It's been done already. I had gcc-1.31 bootstrapped (ie, stage2==stage3) on a Pyramid 90x in mid-January. The machine description itself seems to work, although it's unpolished; it doesn't seem to compile GNU Emacs correctly. And since Pyramid's dbx debugging info is unlike anyone else's, debugging it has been quite hard. (I haven't finished porting gdb yet.) I'd like to follow the terms of my GNU CC license and make the Pyramid machine description I have freely redistributable. I also understand that Pyramid regards their machine architecture as proprietary, and I'm unwilling to cause myself hassles. Is there any reason not to distribute what I have? Perhaps someone from Pyramid would like to comment?? Should the gods be willing, I'm sure we can arrange some means for distribution to the world at large. (I'd like some people to help fix the bugs, too; I've been hoping to give this to the guys at osu-cis for months.) Just as as an aside, I don't understand what Pyramid regards as proprietary about their architecture. Given: - a C compiler that can generate Pyramid assembler code - a list of valid opcodes (hint: strings -2 /bin/as :-)) - a means of determining what combinations of opcode and operand are valid (/bin/as) - a method to determine how the insns and operands are encoded (eg, a debugger that will display data as either hex numbers, run on "opcode Rx,rx" and variants), - Useful documents like the OSx Porting Guide it's easy enough to decrypt enough information about the architecture to build a compiler -- and even a table-driven disassembler. Which doesn't leave much of the "architecture" to discover. As my professor said, "If you can do it, then Pyramid's competitors can..." -- ----------------------------------------------------------------------------- sane mailers: jonathan@comp.vuw.ac.nz | Industrial democracy: UUCP path: ...!uunet!vuwcomp!jonathan | One factory, one vote!