thomas@utah-gr.UUCP (Spencer W. Thomas) (11/10/86)
In article <1182@kontron.UUCP> stephan@kontron.UUCP (Stephan W. Wendl) writes: >Yes, I also know that on UNIX systems one considers a successful >compilation of the unix kernel (of course the kernel should run, too) >as sufficent validation of the compiler. Yes, and we have found bugs in several systems' handling of floating point numbers because of exactly this attitude. Compilation of the kernel is NOT sufficient valication of the compiler! -- =Spencer ({ihnp4,decvax}!utah-cs!thomas, thomas@utah-cs.ARPA)
stephan@kontron.UUCP (Stephan W. Wendl) (11/12/86)
> Xref: kontron comp.lang.c:16 comp.sys.ibm.pc:25 > > In article <1182@kontron.UUCP> stephan@kontron.UUCP (Stephan W. Wendl) writes: >>Yes, I also know that on UNIX systems one considers a successful >>compilation of the unix kernel (of course the kernel should run, too) >>as sufficent validation of the compiler. > > Yes, and we have found bugs in several systems' handling of floating > point numbers because of exactly this attitude. Compilation of the > kernel is NOT sufficient valication of the compiler! > > > -- > =Spencer ({ihnp4,decvax}!utah-cs!thomas, thomas@utah-cs.ARPA) As far as I can recall at the moment, the UNIX kernel doesn't use floating point data (of course I might be wrong). So if leave out this "specific application of math" (=FFP) then the kernel might right. It is clear that such a test will NOT sufficently, if at all, test a FFP features of the compiler. Historically, I believe, one used the kernel. People who are familiar with UNIX longer than I may correct me.
ron@brl-sem.ARPA (Ron Natalie <ron>) (11/13/86)
In article <1189@kontron.UUCP>, stephan@kontron.UUCP (Stephan W. Wendl) writes: > > As far as I can recall at the moment, the UNIX kernel doesn't use floating > point data (of course I might be wrong). At least as far as BSD goes, you're wrong. load averages are computed using floating point, for example. In the old days it was true. The kernel not only did not use floating point, it didn't use longs either but rather an array of two ints that the kernel code took care to do the carry when necessary. Of course, there was no unsigned ints either but using "char *" for these worked just fine. Besides, everyone knows that the first step in verification is to compile the compiler. -Ron
faustus@ucbcad.BERKELEY.EDU (Wayne A. Christopher) (11/14/86)
In article <1841@utah-gr.UUCP>, thomas@utah-gr.UUCP writes: > Yes, and we have found bugs in several systems' handling of floating > point numbers because of exactly this attitude. Compilation of the > kernel is NOT sufficient valication of the compiler! Try compiling SPICE 3 -- there's plenty of floating point to excercise your compiler. Of course, since we have had to put in lots of work-arounds to avoid compiler problems we have already encountered, if you have the same ones you may not find them this way... Wayne
tim@ism780c.UUCP (Tim Smith) (11/21/86)
Compiling the kernel also might not test structure assignment, structure passing and returning, and enumerated types. Compiling the kernel *AND* the rest of the system ( programs, libraries, etc ) might be a better test, if you don't have a validation suite. -- emordnilapanalpanama Tim Smith USENET: sdcrdcf!ism780c!tim Compuserve: 72257,3706 Delphi or GEnie: mnementh