Newsgroups: comp.os.minix Path: utzoo!utgpu!cunews!csi.uottawa.ca!news From: kwhite@csi.uottawa.ca (Keith White) Subject: GNU C/386 without the 387 (diffs included) Message-ID: <1991Apr30.224507.12294@csi.uottawa.ca> Keywords: n Sender: news@csi.uottawa.ca Nntp-Posting-Host: csig Organization: CSI Dept., University of Ottawa Date: Tue, 30 Apr 91 22:45:07 GMT I appear to have been successful in modifying GNU C (1.39) to not output 387 instructions. The compiler will compile itself and gawk (the only programs that I've tested it with). Incidentally, gawk runs *considerably* faster -- none of that waiting for the floating point emulation code to be signalled. The patches that follow are to be fed through patch in the ./config directory after the files in plains.nodak.edu:/pub/Minix/uk/gccdiff.tar.Z courtesy of Alan W Black (awb@ed.ac.uk) and Richard Tobin (richard@aiai.ed.ac.uk) without whom none of this would be possible! PROBLEMS: --------- You can't mix object files between the "-f80387" and "-fsoft-float" versions. Obvious really, since floating point numbers are returned in different ways in the different versions. With these mods the "-f80387" option won't work at all! I'm not very motivated to fix this problem since I don't actually have one of those beasties; but it shouldn't be too difficult to fix :-) and I will get to it eventually, maybe. You'll need to recompile all library routines that use floating point. Consider this alpha code, use at your own risk, standard disclaimers apply... ---cut here--- begin 600 diff.i386 M*BHJ(&DS.#8N;60)5'5E($%PR @,"P@,"P@,"P@,"P@,"P@,"P@,"P@,2P@,2P@,7T*(" * M(" O*B [.V-H86YG92UW9G,@*B\*(" *+2TM(#$S."PQ-#0@+2TM+0H@(" @ M($]N('1H92 X,#,X-BP@;VYL>2!T:&4@"QA9"QA M8RQA8BQS:2QD:2QB<"QS<"QF=F%L+&9P,"HO(" @(" @(%P*(2![(" P+" P M+" P+" P+" P+" P+" P+" Q+" Q+" P?0H@( H@("\J(#L[8VAA;F=E+7=F MF5R;R!I9B!F=6YC=&EO;G,@ M;75S="!H879E(&9R86UE('!O:6YT97)S+@H@(" @(%IE2!B92!A8V-E2!T;R!M86EN M=&%I;B!T:&4@86-C=7)A8WD@;V8@=&AE(&1E871H(&YO=&5S(&9O