This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts


https://sourceware.org/bugzilla/show_bug.cgi?id=17748

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  b93c2205ec57af3c0491cdb608b53a9b4d7ff57e (commit)
      from  253a59ccb571dc67b6dc303192d8d99378a35c75 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b93c2205ec57af3c0491cdb608b53a9b4d7ff57e

commit b93c2205ec57af3c0491cdb608b53a9b4d7ff57e
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Jan 2 20:44:42 2015 +0000

    Fix libm fegetround namespace (bug 17748).

    Continuing the fixes for C90 libm functions calling C99 fe* functions,
    this patch fixes the case of fegetround by making it a weak alias of
    __fegetround and making the affected code call __fegetround.

    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by the patch).  Also tested for ARM
    (soft-float) that fegetround failures disappear from the linknamespace
    test failures (feholdexcept, fesetenv, fesetround and feupdateenv
    remain to be addressed before bug 17748 is fully fixed, although this
    patch may suffice to fix the failures in some cases, when the libc_fe*
    functions are implemented but there is no architecture-specific sqrt
    implementation in use so there were failures from fegetround used by
    sqrt but no other such failures).

        [BZ #17748]
        * include/fenv.h (__fegetround): Declare.  Use libm_hidden_proto.
        * math/fegetround.c (fegetround): Rename to __fegetround and
        define as weak alias of __fegetround.  Use libm_hidden_weak.
        * sysdeps/aarch64/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/alpha/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/arm/fegetround.c (fegetround): Likewise.
        * sysdeps/hppa/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/i386/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/ia64/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/m68k/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/mips/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/powerpc/fpu/fegetround.c (fegetround): Likewise.
        Undefine after rather than before function definition; use
        parentheses around function name in definition.
        (__fegetround): Also undefine macro after function definition.
        * sysdeps/powerpc/nofpu/fegetround.c (fegetround): Rename to
        __fegetround and define as weak alias of __fegetround.  Use
        libm_hidden_weak.  Do not undefine as macro.
        * sysdeps/powerpc/powerpc32/e500/nofpu/fegetround.c (fegetround):
        Likewise.
        * sysdeps/s390/fpu/fegetround.c (fegetround): Rename to
        __fegetround and define as weak alias of __fegetround.  Use
        libm_hidden_weak.
        * sysdeps/sh/sh4/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/sparc/fpu/fegetround.c (fegetround): Likewise.
        * sysdeps/tile/math_private.h (__fegetround): New inline function.
        * sysdeps/x86_64/fpu/fegetround.c (fegetround): Rename to
        __fegetround and define as weak alias of __fegetround.  Use
        libm_hidden_weak.
        * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Use
        __fegetround instead of fegetround.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                         |   33 +++++++++++++++++++++
 include/fenv.h                                    |    2 +
 math/fegetround.c                                 |    6 ++-
 sysdeps/aarch64/fpu/fegetround.c                  |    6 ++-
 sysdeps/alpha/fpu/fegetround.c                    |    6 ++-
 sysdeps/arm/fegetround.c                          |    6 ++-
 sysdeps/hppa/fpu/fegetround.c                     |    6 ++-
 sysdeps/i386/fpu/fegetround.c                     |    6 ++-
 sysdeps/ia64/fpu/fegetround.c                     |    6 ++-
 sysdeps/ieee754/dbl-64/e_sqrt.c                   |    2 +-
 sysdeps/m68k/fpu/fegetround.c                     |    6 ++-
 sysdeps/mips/fpu/fegetround.c                     |    6 ++-
 sysdeps/powerpc/fpu/fegetround.c                  |    9 ++++--
 sysdeps/powerpc/nofpu/fegetround.c                |    7 ++--
 sysdeps/powerpc/powerpc32/e500/nofpu/fegetround.c |    7 ++--
 sysdeps/s390/fpu/fegetround.c                     |    6 ++-
 sysdeps/sh/sh4/fpu/fegetround.c                   |    6 ++-
 sysdeps/sparc/fpu/fegetround.c                    |    6 ++-
 sysdeps/tile/math_private.h                       |    1 +
 sysdeps/x86_64/fpu/fegetround.c                   |    6 ++-
 20 files changed, 103 insertions(+), 36 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]