Re: math_error.7 draft 3, for review

From: Andreas Jaeger
Date: Fri Jul 25 2008 - 05:41:21 EST


"Michael Kerrisk" <mtk.manpages@xxxxxxxxx> writes:

> [ooops -- sorry for the noise. Wrong list CCed]
>
> On 7/21/08, Michael Kerrisk <mtk.manpages@xxxxxxxxxxxxxx> wrote:
>> Andreas,
>>
>> The latest version of the page is below.
>>
>> ===
>>
>> Hi Andreas,
>>
>> (Andries suggested that you probably have the background knowledge to
>> help here.)
>>
>> The math man pages in man-pages are in a somewhat sorry state, with
>> respect to the following:
>>
>> * Few of the pages properly describe the special cases for Inf, -Inf,
>> NaN arguments (e.g., compare "man 3 log" with the POSIX.1 page "man 3p
>> log").
>>
>> * There isn't a clear discussion of error cases, and how to determine
>> if an error occurrred using errno and/or fetestexcept(3).
>>
>> I'm planning to fix each of the math man pages to address these
>> issues, and use a new page, math_error.7, as an anchor page referenced
>> by all of the math pages for discussion of how to handle errors.
>>
>> Would you be willing to review this new page (below) to see whether it
>> correctly describes the glibc details? Might you also be willing to
>> look at a sampling of the changed math page pages that I'll make later
>> this week/early next week in order to let me know I'm on the right
>> track in terms of the changes I'm making?

In general glibc should follow the ISO C99 and Posix Standards and if
there is any discrepancy between those and the glibc implementation,
it's a bug. That should help you to verify the details as well.

I'll try to answer questions and should be able to look at them but I
cannot double check each and every case myself.


>> .I math_errhandling
>> identifier,
>> which is supposed to indicate which of these two mechanisms is in use;
>> the standards require that at least one be in use,
>> but permit both to be available.
>> Although glibc does not support this identifier,
>> in practice it supports both mechanisms.

I just noticed something that's also in draft 4, so let me cite from the
CONFORMANCE file of glibc:

Implementing MATH_ERRNO, MATH_ERREXCEPT and math_errhandling in
<math.h> needs compiler support: see

http://sources.redhat.com/ml/libc-hacker/2000-06/msg00008.html
http://sources.redhat.com/ml/libc-hacker/2000-06/msg00014.html
http://sources.redhat.com/ml/libc-hacker/2000-06/msg00015.html

I check gcc and glibc and this is still missing,

Andreas
--
Andreas Jaeger, Director Platform/openSUSE, aj@xxxxxxx
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature