a84bfd6e04
to mistakes from day 1, it has always had semantics inconsistent with SVR4 and its successors. In particular, given argument M: - On Solaris and FreeBSD/{alpha,sparc64}, it clobbers the old flags and *sets* the new flag word to M. (NetBSD, too?) - On FreeBSD/{amd64,i386}, it *clears* the flags that are specified in M and leaves the remaining flags unchanged (modulo a small bug on amd64.) - On FreeBSD/ia64, it is not implemented. There is no way to fix fpsetsticky() to DTRT for both old FreeBSD apps and apps ported from other operating systems, so the best approach seems to be to kill the function and fix any apps that break. I couldn't find any ports that use it, and any such ports would already be broken on FreeBSD/ia64 and Linux anyway. By the way, the routine has always been undocumented in FreeBSD, except for an MLINK to a manpage that doesn't describe it. This manpage has stated since 5.3-RELEASE that the functions it describes are deprecated, so that must mean that functions that it is *supposed* to describe but doesn't are even *more* deprecated. ;-) Note that fpresetsticky() has been retained on FreeBSD/i386. As far as I can tell, no other operating systems or ports of FreeBSD implement it, so there's nothing for it to be inconsistent with. PR: 75862 Suggested by: bde |
||
---|---|---|
.. | ||
bits32 | ||
bits64 | ||
templates | ||
eqdf2.c | ||
eqsf2.c | ||
fpgetmask.c | ||
fpgetround.c | ||
fpgetsticky.c | ||
fpsetmask.c | ||
fpsetround.c | ||
fpsetsticky.c | ||
gedf2.c | ||
gesf2.c | ||
gtdf2.c | ||
gtsf2.c | ||
ledf2.c | ||
lesf2.c | ||
ltdf2.c | ||
ltsf2.c | ||
Makefile.inc | ||
nedf2.c | ||
negdf2.c | ||
negsf2.c | ||
nesf2.c | ||
README.NetBSD | ||
README.txt | ||
softfloat-for-gcc.h | ||
softfloat-history.txt | ||
softfloat-source.txt | ||
softfloat-specialize | ||
softfloat.txt | ||
timesoftfloat.c | ||
timesoftfloat.txt | ||
unorddf2.c | ||
unordsf2.c |
$NetBSD: README.txt,v 1.1 2000/06/06 08:15:02 bjh21 Exp $ $FreeBSD$ Package Overview for SoftFloat Release 2a John R. Hauser 1998 December 13 SoftFloat is a software implementation of floating-point that conforms to the IEC/IEEE Standard for Binary Floating-Point Arithmetic. SoftFloat is distributed in the form of C source code. Compiling the SoftFloat sources generates two things: -- A SoftFloat object file (typically `softfloat.o') containing the complete set of IEC/IEEE floating-point routines. -- A `timesoftfloat' program for evaluating the speed of the SoftFloat routines. (The SoftFloat module is linked into this program.) The SoftFloat package is documented in four text files: softfloat.txt Documentation for using the SoftFloat functions. softfloat-source.txt Documentation for compiling SoftFloat. softfloat-history.txt History of major changes to SoftFloat. timesoftfloat.txt Documentation for using `timesoftfloat'. Other files in the package comprise the source code for SoftFloat. Please be aware that some work is involved in porting this software to other targets. It is not just a matter of getting `make' to complete without error messages. I would have written the code that way if I could, but there are fundamental differences between systems that I can't make go away. You should not attempt to compile SoftFloat without first reading both `softfloat.txt' and `softfloat-source.txt'. At the time of this writing, the most up-to-date information about SoftFloat and the latest release can be found at the Web page `http:// HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/SoftFloat.html'.