Bug 10103 - Targets defining __NO_LONG_DOUBLE_MATH should still have *l prototypes in headers.
Summary: Targets defining __NO_LONG_DOUBLE_MATH should still have *l prototypes in hea...
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: 2.10
: P2 normal
Target Milestone: ---
Assignee: Ulrich Drepper
Depends on:
Reported: 2009-04-24 20:29 UTC by Carlos O'Donell
Modified: 2014-06-30 09:17 UTC (History)
3 users (show)

See Also:
Host: hppa-linux-gnu
Target: hppa-linux-gnu
Build: hppa-linux-gnu
Last reconfirmed:
fweimer: security-


Note You need to log in before you can comment on or make changes to this bug.
Description Carlos O'Donell 2009-04-24 20:29:55 UTC
Many targets in ports, ARM, and HPPA to name two, do not have long double math,
but the compiler treats double and long double as distinct types even though
they have the same size. The GNU C library currently creates aliases to all the
*l functions when long-double-fcts = no, but fails to create *l prototypes in
the headers. To be ISO C99 conforming the headers must have *l prototypes.

Jakub Jelinek proposes a patch here:

Joseph Myers has verified that this patch works for ARM here:

Carlos O'Donell has verified that this path works for HPPA here:

Jakub, could you please attach your patch to this issue with a proper ChangeLog?
I would like this patch to be reviewed and checked into glibc.

Comment 1 Carlos O'Donell 2009-04-24 20:32:08 UTC
Carlos O'Donell has verified that this path works for HPPA here:
Comment 3 Carlos O'Donell 2009-04-27 17:01:23 UTC
I tested the following patch on hppa:

No regressions. However, I don't see the long double prototypes.

The port sets __NO_LONG_DOUBLE_MATH set to 1, and I verified this.
The build sets NO_LONG_DOUBLE to 1 because the port sets long-double-fcts = no.

Compiling test-ldouble.c with -Werror fails because of the missing prototypes.
math/libm-test.c:5446: warning: implicit declaration of function ‘scalbl’
math/libm-test.c: In function ‘scalbn_test’:
Comment 4 Andreas Schwab 2011-11-04 14:25:09 UTC
Fixed in master.