Subject: Re: Lots of crashing with audio?
To: None <current-users@netbsd.org>
From: Jed Davis <jdev@panix.com>
List: current-users
Date: 06/01/2006 00:01:05
"Jonathan A. Kollasch" <jakllsch@kollasch.net> writes:

> So, assuming that -mfpmath= overrides -msoft-float:
> I assume the kernel assumes that it never will touch a non-general-purpose
> register; yet userland FP math is done in SSE registers and, if -msoft-float
> is getting nullified, the kernel will also do (at least most of) it's FP
> math in the SSE registers, thus causing userland to clobber kernel and vice
> versa.  Any branches based on SSE comparisons will be broken in both.

I was under the impression that There Shall Be No FP In The Kernel,
soft-float or otherwise.

My guess instead would be that GCC might be trying to use SSE
registers for inlined memcpy() and memset(), except doesn't
-ffreestanding imply -fno-builtins which should stop that?

> I'd try a kernel compiled with nothing other than
> "-march=pentium4 -O2 -pipe" added.

Running grep over a disassembly could be informative.

-- 
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l))))))  (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k)))))))    '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))