Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!uunet!mcsun!Germany.EU.net!pcsbst!lotus!lotus!jkh From: jkh@esel.lotus.com (Jordan K Hubbard) Subject: Re: GNUCC 2.3.1 Available [AND WHAT YOU NEED TO DO TO MAKE IT WORK] Organization: Lotus Ireland Date: Thu, 5 Nov 1992 09:04:46 GMT Message-ID: <JKH.92Nov5100446@esel.lotus.com> Lines: 50 In-Reply-To: hand@spc9.jpl.nasa.gov's message of Tue, 3 Nov 1992 10: 01:08 GMT References: <1992Nov3.100108.27631@burns.jpl.nasa.gov> Sender: news@lotus.com Anyone try it yet? I think I'll give it a try... Yes. You'll need to do the following things, though: 1. Deal with enough ansi'isms to gag a buzzard. This means changing the various includes of <ansi.h> to <machine/ansi.h> (or link ansi.h in you /usr/include, whatever your preferences). You'll also need to #undef _ANSI_H in <stdio.h> or you won't pick up the size_t and wchar_t types, for some reason. This one is strange and I'm looking into it - someone is defining _ANSI_H. It also means hacking things to make sure that ptrdiff_t gets defined and va_list gets declared as the GCC internal type properly - I'm being deliberately vague on all this because I don't much like the way I've gotten this to happen at the moment (hack hack) and I'm looking at some way of neatening it up to where it follows some ANSI standard or other, just as soon as I figure out what that is. There are enough existing examples o go on that any reasonably competent person should be able to figure out what to do. 2. More seriously, you need to make sure that the assembler comment character is '#', not '/', and that APP_ON and NO_APP [sic] are set to "#APP" and "#NO_APP", respectively. These are NOT defined correctly in i386unx.h so you'll need to redefine them in i386bsd.h. Symptoms of your not having done this will be "Garbage character .. blah" messages from the assembler while you're compiling stuff from libgcc2.c. You'll also need to turn YES_UNDERSCORES on since the gas assembler prepends underscores. Symptoms of not doing that will be gazillions of undefined symbols when you try to link your first stage1 cpp. 3. For some reason, the new enquire.c doesn't compile with the gcc 2.x anymore and you'll need to compile it with the old compiler (1.39) if you want to be able to get further. There's some floating point expression in there that's 'out of range' and I have yet to find out why - the tagged expression looks reasonable enough (and I've tried different values for DBL_MIN and DBL_MAX but they're not the culprits this time). I don't know a whole lot about floating point, I'm afraid, so I'm not really the one to fix this properly. I think floating point handling under 386BSD is sort of generally buggered anyway, so I'm not sure putting much effort into just the compiler is going to net you much. After doing all this, you should have a bootstrappable gcc 2.3.1. I'm going to try compiling all of XFree86 1.1 with it tonite - I'll report back on how it works (or doesn't). Jordan PCS Computer Systeme GmbH, Munich, West Germany UUCP: pyramid!pcsbst!gj gj@meepmeep.pcs.com EUNET: unido!pcsbst!gj