Path: utzoo!attcan!uunet!munnari.oz.au!sirius.ucs.adelaide.edu.au!augean!cagney From: cagney@chook.ua.oz (Andrew Cagney - aka Noid,285,5585,3362395) Newsgroups: comp.os.minix Subject: Re: C compilers and large code/data... Message-ID: <757@augean.OZ> Date: 12 Mar 90 14:38:33 GMT References: <1805@crash.cts.com> Sender: news@augean.OZ Lines: 69 From article <1805@crash.cts.com>, by jca@pnet01.cts.com (John C. Archambeau): > kjh@pollux.usc.edu (Kenneth J. Hendrickson) writes: > [stuff deleted] > switch code generated by Turbo C 1.5. But other people have managed to > generate the Minix kernel via TC 1.5, so I finally broke down and called > Borland. The engineer I talked to wasn't aware of such a problem with 1.5 and > directed me to get the patch kit for 1.5, which was primarily for the graphics > libraries anyway. eg me, Chew & Mullen. Don't get so excited about using the Turbo-C or MS-C tools... There are also problems... 1. You need to convert the minix assembler to MS or Turbo assembler (s2asm posted late last year worked for 1.4a, Mullen posted the assembler for 1.3). 2. Linking can be very hard, the file needs to be just right for it to be accepted by build and then work. How much do you know about segments and magic numbers... 3. You need to copy the files from minix to dos. 4. For minix 1.5.x you need a different version of cpp to that supplied by Borland (If you are using TurboC). The assembler files are run through cpp. 5. You need to rewrite the make files. So why do it? 1. You get a fast compiler, it takes minuits not hours to compile something... (It can also compile kermit :-) 2. You get a (very close to ANSI :-) compiler Why not do it? 1. You loose MINIX's native compilation environment. If you like :-) unix this is a KILLER! Remember the make files... 2. It is harder to do upgrades under dos. Remember the patches... 3. People are starting to write developement environments for minix that run under minix (eg shoelace & db). What dos equivalents... In summary, cross compiling win's on the speed of a compile but looses by not being MINIX's native environment. If you are always re-compiling the kernel or have the sources on a big machine then DOS may be worth it. However, if you are a new user upgrading minix I'd stick to MINIX & the ACK C compiler, at least you know that it will work (even if its slow getting there). Andrew Cagney cagney@cs.ua.oz.au BTW: For MINIX 1.3 & 1.4 I used a big machine for the patches and then cross complied it using TurboC/TASM. I haven't yet got to doing this for 1.5.x. s2asm written by Earl Chew, Bruce Evans & myself translates minix assembler into either MS or Turbo assembler. mcc is a front end to Turbo C. The original was written by Mullen, I posted an upgrade late last year. I'll make another upgrade available, for 1.5.5 when I get to it, if there is the demand (don't hold your breath).