freebsd-dev/lib/libc
David Schultz 7b74e4a759 Remove fpsetsticky(). This was added for SysV compatibility, but due
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
2005-03-15 15:53:39 +00:00
..
alpha Remove fpsetsticky(). This was added for SysV compatibility, but due 2005-03-15 15:53:39 +00:00
amd64 Remove fpsetsticky(). This was added for SysV compatibility, but due 2005-03-15 15:53:39 +00:00
arm Define LDBL_NBIT to be a mask indicating the position of the integer 2005-03-07 04:55:22 +00:00
compat-43 Revert accidiental removal of string.h inclusion. 2005-02-27 18:39:02 +00:00
db Expand *n't contractions. 2005-02-13 22:25:33 +00:00
gdtoa Don't compile the gdtoa package's strtoIg.c into libc. 2005-01-27 05:44:16 +00:00
gen Have ttyname_r() try to ask DEVFS for the device name. 2005-03-08 21:35:52 +00:00
gmon Enable building with LIBC_SCCS defined. 2004-10-16 06:32:43 +00:00
i386 Define LDBL_NBIT to be a mask indicating the position of the integer 2005-03-07 04:55:22 +00:00
ia64 - Define LDBL_NBIT to be a mask indicating the position of the integer 2005-03-07 04:55:40 +00:00
include Update my email address. 2005-02-06 03:23:31 +00:00
locale Make the format of LC_COLLATE files architecture independent. 2005-02-27 20:31:13 +00:00
net - Use socklen_t. 2005-02-14 17:51:45 +00:00
nls Add korean NLS message catalogs for libc 2005-03-07 13:57:24 +00:00
posix1e Minor white space tweak. 2005-01-23 15:28:02 +00:00
powerpc Remove fpsetsticky(). This was added for SysV compatibility, but due 2005-03-15 15:53:39 +00:00
quad libc_r wasn't so tied to libc for 22 months. 2002-11-18 09:50:57 +00:00
regex Expand *n't contractions. 2005-02-13 22:25:33 +00:00
rpc Avoid pointer arithmetics on void *. 2005-03-10 08:25:49 +00:00
softfloat Remove fpsetsticky(). This was added for SysV compatibility, but due 2005-03-15 15:53:39 +00:00
sparc64 Remove fpsetsticky(). This was added for SysV compatibility, but due 2005-03-15 15:53:39 +00:00
stdio Fix EOVERFLOW detection in vswprintf(3) 2005-02-21 19:41:44 +00:00
stdlib Do not require the pty(4) majors to be anything in particular. 2005-03-04 20:23:32 +00:00
stdtime Expand contractions. 2005-02-13 23:45:54 +00:00
string Unbreak strsignal(). This is an MFC candidate. 2005-03-06 03:19:19 +00:00
sys Make MSG_NOSIGNAL available to native programs. 2005-03-09 00:17:33 +00:00
uuid Sort sections. 2005-01-20 09:17:07 +00:00
xdr Enable building with LIBC_SCCS defined. 2004-10-16 06:32:43 +00:00
yp Use socklen_t where appropriate. 2005-03-11 14:17:12 +00:00
Makefile Eliminate gdtoa.mk and move its contents to ${MACHINE_ARCH}/Makefile.inc. 2005-01-15 05:23:58 +00:00