1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-28 16:43:09 +00:00
freebsd/sys/i386
Bruce Evans 69c0326e8c Change float_t and double_t to long double on i386. All floating point
expressions on i386 are evaluated in the range of the long double type,
so this is wrong in a different but hopefully less worse way than
before.  Since expressions are evaluated in long double registers,
there is no runtime cost to using long double instead of double to
declare intermediate values (except in cases where this avoids compiler
bugs), and by careful use of float_t or double_t it is possible to
avoid some of the compiler bugs in this area, provided these types are
declared as long double.

I was going to change float.h to be less broken and more usable in
combination with the change here (in particular, it is more necessary
to know the effective number of bits in a double_t when double_t !=
double, since DBL_MANT_DIG no longer logically gives this, and
LDBL_MANT_DIG doesn't give it either with FreeBSD-i386's default
rounding precision.  However, this was too hard for now.  In particular,
LDBL_MANT_DIG is used a lot in libm, so it cannot be changed.  One
thing that is completely broken now is LDBL_MAX.  This may have sort
of worked when it was changed from DBL_MAX in 2002 (adding 0 to it at
runtime gave +Inf, but you could at least compare with it), but starting
with gcc-3.3.1 in 2003, it is always +Inf due to evaluating it at
compile time in the default rounding precision.
2008-03-05 11:11:53 +00:00
..
acpica For no good reason I had assumed that ACPI table headers would be page 2008-01-31 16:51:43 +00:00
bios Hold Giant over the entire execution of the suspend path instead of 2007-12-06 01:39:23 +00:00
compile
conf Remove the rr232x driver. It has been superceded by the hptrr driver. 2008-02-03 07:07:30 +00:00
cpufreq In est_acpi_info(), initialize count before passing its pointer to 2008-03-01 21:58:34 +00:00
i386 - Remove the old smp cpu topology specification with a new, more flexible 2008-03-02 07:58:42 +00:00
ibcs2 VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in 2008-01-13 14:44:15 +00:00
include Change float_t and double_t to long double on i386. All floating point 2008-03-05 11:11:53 +00:00
isa Use cpu_spinwait() (i.e., "pause") when spinning on rdtsc during DELAY(). 2008-01-17 18:59:38 +00:00
linux Fix Linux mmap with MAP_GROWSDOWN flag. 2008-02-11 19:35:03 +00:00
pci More properly handle links who only have 1 valid IRQ in their bitmask. The 2007-12-21 16:53:27 +00:00
svr4 Use svr4_si_{addr,code,errno,signo,trap} in preference to si_{...}. 2005-10-19 14:59:54 +00:00
xbox Replace explicit calls to video methods with their respective variants 2007-12-29 23:26:59 +00:00
Makefile Update entries for building tags. 2007-05-13 18:21:54 +00:00