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 #4 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  cd42798aef204592b0165bcfacef975ff3ce2973 (commit)
      from  500bfbd4922902ea278adab06e58b77eb355ba82 (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=cd42798aef204592b0165bcfacef975ff3ce2973

commit cd42798aef204592b0165bcfacef975ff3ce2973
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Jan 6 23:36:20 2015 +0000

    Fix libm fesetenv namespace (bug 17748).

    Continuing the fixes for C90 libm functions calling C99 fe* functions,
    this patch fixes the case of fesetenv by making it a weak alias of
    __fesetenv and making the affected code (including various copies of
    feupdateenv which also gets called from C90 functions) call
    __fesetenv.

    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by the patch).  Also tested for ARM
    (soft-float) that fesetenv failures disappear from the linknamespace
    test results (fsetround and feupdateenv remain to be addressed to
    complete fixing bug 17748).

        [BZ #17748]
        * include/fenv.h (__fesetenv): Use libm_hidden_proto.
        * math/fesetenv.c (__fesetenv): Use libm_hidden_def.
        * sysdeps/aarch64/fpu/fesetenv.c (fesetenv): Rename to __fesetenv
        and define as weak alias of __fesetenv.  Use libm_hidden_weak.
        * sysdeps/alpha/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def.
        * sysdeps/arm/fesetenv.c (fesetenv): Rename to __fesetenv and
        define as weak alias of __fesetenv.  Use libm_hidden_weak.
        * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise.
        * sysdeps/i386/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def.
        * sysdeps/ia64/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and
        define as weak alias of __fesetenv.  Use libm_hidden_weak.
        * sysdeps/m68k/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def.
        * sysdeps/mips/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and
        define as weak alias of __fesetenv.  Use libm_hidden_weak.
        * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Use
        libm_hidden_def.
        * sysdeps/powerpc/nofpu/fesetenv.c (__fesetenv): Likewise.
        * sysdeps/powerpc/powerpc32/e500/nofpu/fesetenv.c (__fesetenv):
        Likewise.
        * sysdeps/s390/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and
        define as weak alias of __fesetenv.  Use libm_hidden_weak.
        * sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise.
        * sysdeps/sparc/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def.
        * sysdeps/tile/math_private.h (__fesetenv): New inline function.
        * sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Rename to __fesetenv
        and define as weak alias of __fesetenv.  Use libm_hidden_weak.
        * sysdeps/generic/math_private.h (default_libc_fesetenv): Use
        __fesetenv instead of fesetenv.
        (libc_feresetround_noex_ctx): Likewise.
        * sysdeps/alpha/fpu/feupdateenv.c (__feupdateenv): Likewise.
        * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Likewise.
        * sysdeps/i386/fpu/feupdateenv.c (__feupdateenv): Likewise.
        * sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Likewise.
        * sysdeps/m68k/fpu/feupdateenv.c (__feupdateenv): Likewise.
        * sysdeps/mips/fpu/feupdateenv.c (feupdateenv): Likewise.
        * sysdeps/powerpc/nofpu/feupdateenv.c (__feupdateenv): Likewise.
        * sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c
        (__feupdateenv): Likewise.
        * sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Likewise.
        * sysdeps/sh/sh4/fpu/feupdateenv.c (feupdateenv): Likewise.
        * sysdeps/sparc/fpu/feupdateenv.c (__feupdateenv): Likewise.
        * sysdeps/x86_64/fpu/feupdateenv.c (__feupdateenv): Likewise.

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

Summary of changes:
 ChangeLog                                          |   46 ++++++++++++++++++++
 include/fenv.h                                     |    1 +
 math/fesetenv.c                                    |    1 +
 sysdeps/aarch64/fpu/fesetenv.c                     |    6 ++-
 sysdeps/alpha/fpu/fesetenv.c                       |    1 +
 sysdeps/alpha/fpu/feupdateenv.c                    |    2 +-
 sysdeps/arm/fesetenv.c                             |    6 ++-
 sysdeps/generic/math_private.h                     |    4 +-
 sysdeps/hppa/fpu/fesetenv.c                        |    6 ++-
 sysdeps/hppa/fpu/feupdateenv.c                     |    2 +-
 sysdeps/i386/fpu/fesetenv.c                        |    1 +
 sysdeps/i386/fpu/feupdateenv.c                     |    2 +-
 sysdeps/ia64/fpu/fesetenv.c                        |    6 ++-
 sysdeps/ia64/fpu/feupdateenv.c                     |    2 +-
 sysdeps/m68k/fpu/fesetenv.c                        |    1 +
 sysdeps/m68k/fpu/feupdateenv.c                     |    2 +-
 sysdeps/mips/fpu/fesetenv.c                        |    6 ++-
 sysdeps/mips/fpu/feupdateenv.c                     |    2 +-
 sysdeps/powerpc/fpu/fesetenv.c                     |    1 +
 sysdeps/powerpc/nofpu/fesetenv.c                   |    1 +
 sysdeps/powerpc/nofpu/feupdateenv.c                |    2 +-
 sysdeps/powerpc/powerpc32/e500/nofpu/fesetenv.c    |    1 +
 sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c |    2 +-
 sysdeps/s390/fpu/fesetenv.c                        |    6 ++-
 sysdeps/s390/fpu/feupdateenv.c                     |    2 +-
 sysdeps/sh/sh4/fpu/fesetenv.c                      |    6 ++-
 sysdeps/sh/sh4/fpu/feupdateenv.c                   |    2 +-
 sysdeps/sparc/fpu/fesetenv.c                       |    1 +
 sysdeps/sparc/fpu/feupdateenv.c                    |    2 +-
 sysdeps/tile/math_private.h                        |    1 +
 sysdeps/x86_64/fpu/fesetenv.c                      |    6 ++-
 sysdeps/x86_64/fpu/feupdateenv.c                   |    2 +-
 32 files changed, 102 insertions(+), 30 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]