dbrown%ece@ucsd.edu (David L. Brown) (09/14/90)
I am posting to inform the minix community that I have a stable version of gcc running under Bruce Evans 386 Kernel. I have recompiled all of the library, and utilities, and fs, mm, and init. The kernel could probably be done with some work. The biggest problem I have encountered is the need for an 80387. This chip is expensive. The compiler currently performs a small floating point operation in the optimizer. This supposedly can be faked without using floating point routines. The compiler will still crash the machine if it encounters a floating point constant in a program. I can post patches to the compiler, but most people will have a very difficult time cross compiling it. I can place a binary of my version of the compiler somewhere, if someone is willing to hold it. No other compiler for minix will compile the compiler. Using gcc, I have also brought up the following programs: TeX: This works but the broken line printer driver makes it nearly useless to me. GNU Emacs: This is large, but is a very nice editor. Some of the features of the program are not present, because I have not bothered figuring out how to make them work under Minix. I have replaced several of the utilities with other GNU or pd programs. Most things can be downloaded and compiled and run. The biggest problem seems to be the library. I have not made stdio support floating point (more than %e to make the compier work), because I am waiting for a better stdio (the current one will probably change a lot for POSIX). Please let me know how I can make gcc for Minix 386 available. David Brown dbrown@ucsd.edu dbrown%ece@ucsd.edu (If their mail program breaks again)
ast@cs.vu.nl (Andy Tanenbaum) (09/14/90)
In article <12653@sdcc6.ucsd.edu> dbrown%ece@ucsd.edu (David L. Brown) writes: >Please let me know how I can make gcc for Minix 386 available. How about sending it to the various MINIX archives, and posting an announcement of this? Andy Tanenbaum (ast@cs.vu.nl)
cechew@bruce.cs.monash.OZ.AU (Earl Chew) (09/16/90)
In <12653@sdcc6.ucsd.edu> dbrown%ece@ucsd.edu (David L. Brown) writes: >I have not made stdio support floating point (more than %e to make >the compier work), because I am waiting for a better stdio (the current >one will probably change a lot for POSIX). Try estdio. I posted it some time ago and it is also available from the archives. I supports Posix and floating point. It is better than the Minix version. Earl -- Earl Chew, Dept of Computer Science, Monash University, Australia 3168 EMAIL: cechew@bruce.cs.monash.edu.au PHONE: 03 5655447 FAX: 03 5655146 ----------------------------------------------------------------------
richard@aiai.ed.ac.uk (Richard Tobin) (09/20/90)
In article <12653@sdcc6.ucsd.edu> dbrown%ece@ucsd.edu (David L. Brown) writes: >The biggest problem I have encountered is the need for an 80387. >This chip is expensive. The compiler currently performs a small >floating point operation in the optimizer. This supposedly can be >faked without using floating point routines. The compiler will >still crash the machine if it encounters a floating point constant >in a program. I have also been looking at gcc for 386 Minix. Cross-compiling was *very* tedious. Unfortunately, the gcc machine description for the 386 uses floating- point instructions even if -msoft-float is used, so it's not enough to find the usual floating-point routines. I suspect it wouldn't be hard to change the machine description to fix this (it may be just that it expects to receive floating function return values in an fp register). Of course, this shouldn't crash the machine. The reason it does is that Minix doesn't set the EM bit to indicate that 387 instructions should be trapped. If it did, you would just get a core dump. This is easily fixed - perhaps someone more familiar with the kernel code could decide just where it should be done. The 387 programmer's reference provides a routine for detecting whether a 387 is present. More ambitiously, has anyone written 387 emulation routines for Minix so that programs can just pretend the 387 is present? -- Richard -- Richard Tobin, JANET: R.Tobin@uk.ac.ed AI Applications Institute, ARPA: R.Tobin%uk.ac.ed@nsfnet-relay.ac.uk Edinburgh University. UUCP: ...!ukc!ed.ac.uk!R.Tobin