From owner-freebsd-stable@FreeBSD.ORG Thu Feb 2 12:01:13 2006 Return-Path: X-Original-To: freebsd-stable@FreeBSD.org Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1DF1E16A422; Thu, 2 Feb 2006 12:01:13 +0000 (GMT) (envelope-from bde@zeta.org.au) Received: from mailout2.pacific.net.au (mailout2.pacific.net.au [61.8.0.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4530643D45; Thu, 2 Feb 2006 12:01:12 +0000 (GMT) (envelope-from bde@zeta.org.au) Received: from mailproxy1.pacific.net.au (mailproxy1.pacific.net.au [61.8.0.86]) by mailout2.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id k12C14wo019431; Thu, 2 Feb 2006 23:01:06 +1100 Received: from katana.zip.com.au (katana.zip.com.au [61.8.7.246]) by mailproxy1.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id k12C102j000862; Thu, 2 Feb 2006 23:01:01 +1100 Date: Thu, 2 Feb 2006 23:01:00 +1100 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: "O. Hartmann" In-Reply-To: <43E1E8B0.3030702@uni-mainz.de> Message-ID: <20060202224815.K7234@delplex.bde.org> References: <43E1D1E9.3000302@mail.uni-mainz.de> <43E1E8B0.3030702@uni-mainz.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: "O. Hartmann" , freebsd-stable@FreeBSD.org, freebsd-amd64@FreeBSD.org Subject: Re: missing fpresetsticky in ieeefp.h X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2006 12:01:13 -0000 On Thu, 2 Feb 2006, O. Hartmann wrote: > O. Hartmann schrieb: >> Hello. >> I do not know whether this should be a bug report or not, I will ask prior >> to any further action. >> >> Reading 'man fpresetsticky' show up a man page for FPGETROUND(3) and tells >> me the existence of the fpresetsticky routine. This is a bug in the man page. fpresetsticky() is supposed to only exist on i386's, but the man page and its link to fpresetsticky.3 are installed for all arches. >> Now take a look into , where this function should be >> declared. Nothing, I can not find this routine, it seems to be 'not >> available' on my FreeBSD6.1-PRERELEASE AMD64 (no 32Bit compatibility). It was removed for amd64 and never existed for some other arches. It was apparently unused when it was removed a year ago. >> Background is, I try to compile GMT 4.1 and ran into this problem again (I >> reveal this error since FBSD 5.4-PRE also on i386). >> >> If fpresetsticky() isn't available on amd64 anymore, it shouldn't be >> mentioned in the manpage. But it seems to me to be a bug, so somebody >> should confirm this. % RCS file: /home/ncvs/src/sys/amd64/include/ieeefp.h,v % Working file: ieeefp.h % head: 1.14 % ... % ---------------------------- % revision 1.13 % date: 2005/03/15 15:53:39; author: das; state: Exp; lines: +0 -20 % 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 % ---------------------------- Bruce