public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts
@ 2014-12-22 20:55 cmetcalf at ezchip dot com
  2014-12-31 22:09 ` [Bug math/17748] " cvs-commit at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: cmetcalf at ezchip dot com @ 2014-12-22 20:55 UTC (permalink / raw)
  To: glibc-bugs

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

            Bug ID: 17748
           Summary: fe* function calls yield link namespace conform
                    failures on dbl-64 hosts
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: cmetcalf at ezchip dot com

Looking at the conform/*/math.h/linknamespace results, it seems to be that 
SET_RESTORE_ROUND_53BIT in sysdeps/ieee754/dbl-64/s_sin.c (for example) calls 
through to feupdateenv() and other similar routines: 

[initial] __sqrt -> [libm.a(w_sqrt.o)] __ieee754_sqrt -> [libm.a(e_sqrt.o)]
fegetround
[initial] __sqrt -> [libm.a(w_sqrt.o)] __ieee754_sqrt -> [libm.a(e_sqrt.o)]
fesetenv
[initial] __cos -> [libm.a(s_sin.o)] feupdateenv
[initial] __remainder -> [libm.a(w_remainder.o)] __ieee754_remainder ->
[libm.a(e_remainder.o)] fegetenv
[initial] __asinh -> [libm.a(s_asinh.o)] __ieee754_sqrt -> [libm.a(e_sqrt.o)]
fegetround
[initial] __remainder -> [libm.a(w_remainder.o)] __ieee754_remainder ->
[libm.a(e_remainder.o)] fesetenv 

We should convert to using the __fe* names instead of the fe* names.  Machines
with inline libc_fe* definitions would not normally see these issues.

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
@ 2014-12-31 22:09 ` cvs-commit at gcc dot gnu.org
  2015-01-02 20:45 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2014-12-31 22:09 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #1 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  73a268c75996b92e4a5e72bf9fdf6adc20390614 (commit)
      from  0bd956720c457ff054325b48f26ac7c91cb060e8 (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=73a268c75996b92e4a5e72bf9fdf6adc20390614

commit 73a268c75996b92e4a5e72bf9fdf6adc20390614
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Dec 31 22:07:52 2014 +0000

    Fix libm fegetenv namespace (bug 17748).

    Some C90 libm functions call fegetenv via libc_feholdsetround*
    functions in math_private.h.  This patch makes them call __fegetenv
    instead, making fegetenv into a weak alias for __fegetenv as needed.

    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by the patch).  Also tested for ARM
    (soft-float) that fegetenv failures disappear from the linknamespace
    test failures (however, similar fixes will also be needed for
    fegetround, feholdexcept, fesetenv, fesetround and feupdateenv before
    this set of namespace issues covered by bug 17748 is fully fixed and
    those linknamespace tests start passing).

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

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

Summary of changes:
 ChangeLog                                       |   33 +++++++++++++++++++++++
 include/fenv.h                                  |    1 +
 math/fegetenv.c                                 |    1 +
 sysdeps/aarch64/fpu/fegetenv.c                  |    6 +++-
 sysdeps/alpha/fpu/fegetenv.c                    |    1 +
 sysdeps/arm/fegetenv.c                          |    6 +++-
 sysdeps/generic/math_private.h                  |    4 +-
 sysdeps/hppa/fpu/fegetenv.c                     |    6 +++-
 sysdeps/i386/fpu/fegetenv.c                     |    1 +
 sysdeps/ia64/fpu/fegetenv.c                     |    6 +++-
 sysdeps/m68k/fpu/fegetenv.c                     |    1 +
 sysdeps/mips/fpu/fegetenv.c                     |    6 +++-
 sysdeps/powerpc/fpu/fegetenv.c                  |    1 +
 sysdeps/powerpc/nofpu/fegetenv.c                |    1 +
 sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c |    1 +
 sysdeps/s390/fpu/fegetenv.c                     |    6 +++-
 sysdeps/sh/sh4/fpu/fegetenv.c                   |    6 +++-
 sysdeps/sparc/fpu/fegetenv.c                    |    1 +
 sysdeps/tile/math_private.h                     |    1 +
 sysdeps/x86_64/fpu/fegetenv.c                   |    6 +++-
 20 files changed, 77 insertions(+), 18 deletions(-)

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
  2014-12-31 22:09 ` [Bug math/17748] " cvs-commit at gcc dot gnu.org
@ 2015-01-02 20:45 ` cvs-commit at gcc dot gnu.org
  2015-01-05 23:07 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-02 20:45 UTC (permalink / raw)
  To: glibc-bugs

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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
  2014-12-31 22:09 ` [Bug math/17748] " cvs-commit at gcc dot gnu.org
  2015-01-02 20:45 ` cvs-commit at gcc dot gnu.org
@ 2015-01-05 23:07 ` cvs-commit at gcc dot gnu.org
  2015-01-06 23:37 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-05 23:07 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #3 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  ef9faf138578dc7e559a9fd58080825962ce0339 (commit)
      from  882c4b9f1de8b0175eae6edbd48c9a7b80b63fb9 (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=ef9faf138578dc7e559a9fd58080825962ce0339

commit ef9faf138578dc7e559a9fd58080825962ce0339
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Jan 5 23:06:14 2015 +0000

    Fix libm feholdexcept namespace (bug 17748).

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

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

        [BZ #17748]
        * include/fenv.h (__feholdexcept): Declare.  Use
        libm_hidden_proto.
        * math/feholdexcpt.c (feholdexcept): Rename to __feholdexcept and
        define as weak alias of __feholdexcept.  Use libm_hidden_weak.
        * sysdeps/aarch64/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/alpha/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/arm/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/ia64/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/m68k/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/mips/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/powerpc/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/powerpc/nofpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/powerpc/powerpc32/e500/nofpu/feholdexcpt.c
        (feholdexcept): Likewise.
        * sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/x86_64/fpu/feholdexcpt.c (feholdexcept): Likewise.
        * sysdeps/generic/math_private.h (default_libc_feholdexcept): Use
        __feholdexcept instead of feholdexcept.
        (default_libc_feholdexcept_setround): Likewise.

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

Summary of changes:
 ChangeLog                                          |   27 ++++++++++++++++++++
 include/fenv.h                                     |    2 +
 math/feholdexcpt.c                                 |    6 +++-
 sysdeps/aarch64/fpu/feholdexcpt.c                  |    6 +++-
 sysdeps/alpha/fpu/feholdexcpt.c                    |    6 +++-
 sysdeps/arm/feholdexcpt.c                          |    6 +++-
 sysdeps/generic/math_private.h                     |    4 +-
 sysdeps/hppa/fpu/feholdexcpt.c                     |    6 +++-
 sysdeps/i386/fpu/feholdexcpt.c                     |    6 +++-
 sysdeps/ia64/fpu/feholdexcpt.c                     |    6 +++-
 sysdeps/m68k/fpu/feholdexcpt.c                     |    6 +++-
 sysdeps/mips/fpu/feholdexcpt.c                     |    6 +++-
 sysdeps/powerpc/fpu/feholdexcpt.c                  |    6 +++-
 sysdeps/powerpc/nofpu/feholdexcpt.c                |    6 +++-
 sysdeps/powerpc/powerpc32/e500/nofpu/feholdexcpt.c |    6 +++-
 sysdeps/s390/fpu/feholdexcpt.c                     |    6 +++-
 sysdeps/sh/sh4/fpu/feholdexcpt.c                   |    6 +++-
 sysdeps/sparc/fpu/feholdexcpt.c                    |    6 +++-
 sysdeps/x86_64/fpu/feholdexcpt.c                   |    6 +++-
 19 files changed, 95 insertions(+), 34 deletions(-)

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
                   ` (2 preceding siblings ...)
  2015-01-05 23:07 ` cvs-commit at gcc dot gnu.org
@ 2015-01-06 23:37 ` cvs-commit at gcc dot gnu.org
  2015-01-07  0:42 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-06 23:37 UTC (permalink / raw)
  To: glibc-bugs

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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
                   ` (3 preceding siblings ...)
  2015-01-06 23:37 ` cvs-commit at gcc dot gnu.org
@ 2015-01-07  0:42 ` cvs-commit at gcc dot gnu.org
  2015-01-07 19:02 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-07  0:42 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #5 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  01238691bb03f0110455b663439eecf9a58c8f83 (commit)
      from  cd42798aef204592b0165bcfacef975ff3ce2973 (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=01238691bb03f0110455b663439eecf9a58c8f83

commit 01238691bb03f0110455b663439eecf9a58c8f83
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jan 7 00:41:23 2015 +0000

    Fix libm fesetround namespace (bug 17748).

    Continuing the fixes for C90 libm functions calling C99 fe* functions,
    this patch fixes the case of fesetround by making it a weak alias of
    __fesetround and making the affected code call __fesetround.  An
    existing __fesetround function in fenv_libc.h for powerpc is renamed
    to __fesetround_inline.

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

        [BZ #17748]
        * include/fenv.h (__fesetround): Declare.  Use libm_hidden_proto.
        * math/fesetround.c (fesetround): Rename to __fesetround and
        define as weak alias of __fesetround.  Use libm_hidden_weak.
        * sysdeps/aarch64/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/alpha/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/arm/fesetround.c (fesetround): Likewise.
        * sysdeps/hppa/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/i386/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/ia64/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/m68k/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/mips/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/powerpc/fpu/fenv_libc.h (__fesetround): Rename to
        __fesetround_inline.
        * sysdeps/powerpc/fpu/fenv_private.h (libc_fesetround_ppc): Call
        __fesetround_inline instead of __fesetround.
        * sysdeps/powerpc/fpu/fesetround.c (fesetround): Rename to
        __fesetround and define as weak alias of __fesetround.  Use
        libm_hidden_weak.  Call __fesetround_inline instead of
        __fesetround.
        * sysdeps/powerpc/nofpu/fesetround.c (fesetround): Rename to
        __fesetround and define as weak alias of __fesetround.  Use
        libm_hidden_weak.
        * sysdeps/powerpc/powerpc32/e500/nofpu/fesetround.c (fesetround):
        Likewise.
        * sysdeps/s390/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/sh/sh4/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/sparc/fpu/fesetround.c (fesetround): Likewise.
        * sysdeps/tile/math_private.h (__fesetround): New inline function.
        * sysdeps/x86_64/fpu/fesetround.c (fesetround): Rename to
        __fesetround and define as weak alias of __fesetround.  Use
        libm_hidden_weak.
        * sysdeps/generic/math_private.h (default_libc_fesetround): Call
        __fesetround instead of fesetround.
        (default_libc_feholdexcept_setround): Likewise.
        (libc_feholdsetround_ctx): Likewise.
        (libc_feholdsetround_noex_ctx): Likewise.

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

Summary of changes:
 ChangeLog                                         |   38 +++++++++++++++++++++
 include/fenv.h                                    |    2 +
 math/fesetround.c                                 |    6 ++-
 sysdeps/aarch64/fpu/fesetround.c                  |    6 ++-
 sysdeps/alpha/fpu/fesetround.c                    |    6 ++-
 sysdeps/arm/fesetround.c                          |    6 ++-
 sysdeps/generic/math_private.h                    |    8 ++--
 sysdeps/hppa/fpu/fesetround.c                     |    6 ++-
 sysdeps/i386/fpu/fesetround.c                     |    6 ++-
 sysdeps/ia64/fpu/fesetround.c                     |    6 ++-
 sysdeps/m68k/fpu/fesetround.c                     |    6 ++-
 sysdeps/mips/fpu/fesetround.c                     |    6 ++-
 sysdeps/powerpc/fpu/fenv_libc.h                   |    2 +-
 sysdeps/powerpc/fpu/fenv_private.h                |    2 +-
 sysdeps/powerpc/fpu/fesetround.c                  |    8 +++--
 sysdeps/powerpc/nofpu/fesetround.c                |    6 ++-
 sysdeps/powerpc/powerpc32/e500/nofpu/fesetround.c |    6 ++-
 sysdeps/s390/fpu/fesetround.c                     |    6 ++-
 sysdeps/sh/sh4/fpu/fesetround.c                   |    6 ++-
 sysdeps/sparc/fpu/fesetround.c                    |    6 ++-
 sysdeps/tile/math_private.h                       |    1 +
 sysdeps/x86_64/fpu/fesetround.c                   |    6 ++-
 22 files changed, 112 insertions(+), 39 deletions(-)

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
                   ` (4 preceding siblings ...)
  2015-01-07  0:42 ` cvs-commit at gcc dot gnu.org
@ 2015-01-07 19:02 ` cvs-commit at gcc dot gnu.org
  2015-01-07 19:03 ` jsm28 at gcc dot gnu.org
  2015-01-14 21:37 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-07 19:02 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #6 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  8116321f657549e80d0167b8a790a7aa54d6379d (commit)
      from  882dfe184a81a8924bc8acb79e96fbf7556fa60b (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=8116321f657549e80d0167b8a790a7aa54d6379d

commit 8116321f657549e80d0167b8a790a7aa54d6379d
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jan 7 19:01:20 2015 +0000

    Fix libm feupdateenv namespace (bug 17748).

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

    Tested for x86_64 (testsuite, and that installed stripped shared
    libraries are unchanged by the patch).  Also tested for ARM
    (soft-float) that the math.h linknamespace tests now pass.

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

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

Summary of changes:
 ChangeLog                                          |   43 ++++++++++++++++++++
 NEWS                                               |    4 +-
 include/fenv.h                                     |    1 +
 math/feupdateenv.c                                 |    1 +
 sysdeps/aarch64/fpu/feupdateenv.c                  |    6 ++-
 sysdeps/alpha/fpu/feupdateenv.c                    |    1 +
 sysdeps/arm/feupdateenv.c                          |    6 ++-
 sysdeps/generic/math_private.h                     |    6 +-
 sysdeps/hppa/fpu/feupdateenv.c                     |    6 ++-
 sysdeps/i386/fpu/feupdateenv.c                     |    1 +
 sysdeps/ia64/fpu/feupdateenv.c                     |    6 ++-
 sysdeps/m68k/fpu/feupdateenv.c                     |    1 +
 sysdeps/mips/fpu/feupdateenv.c                     |    6 ++-
 sysdeps/powerpc/fpu/feupdateenv.c                  |    1 +
 sysdeps/powerpc/nofpu/feupdateenv.c                |    1 +
 sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c |    1 +
 sysdeps/s390/fpu/feupdateenv.c                     |    6 ++-
 sysdeps/sh/sh4/fpu/feupdateenv.c                   |    6 ++-
 sysdeps/sparc/fpu/feupdateenv.c                    |    1 +
 sysdeps/tile/math_private.h                        |    1 +
 sysdeps/x86_64/fpu/feupdateenv.c                   |    1 +
 21 files changed, 87 insertions(+), 19 deletions(-)

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
                   ` (5 preceding siblings ...)
  2015-01-07 19:02 ` cvs-commit at gcc dot gnu.org
@ 2015-01-07 19:03 ` jsm28 at gcc dot gnu.org
  2015-01-14 21:37 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2015-01-07 19:03 UTC (permalink / raw)
  To: glibc-bugs

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

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from Joseph Myers <jsm28 at gcc dot gnu.org> ---
Fixed for 2.21.

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug math/17748] fe* function calls yield link namespace conform failures on dbl-64 hosts
  2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
                   ` (6 preceding siblings ...)
  2015-01-07 19:03 ` jsm28 at gcc dot gnu.org
@ 2015-01-14 21:37 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-01-14 21:37 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #8 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  53fbd16918791258ebc1684b1a1afd543b814780 (commit)
      from  d639a36345dfce12cbb69e254e8d2f32e5da9ed9 (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=53fbd16918791258ebc1684b1a1afd543b814780

commit 53fbd16918791258ebc1684b1a1afd543b814780
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jan 14 21:35:40 2015 +0000

    Fix powerpc-nofpu fesetenv namespace (bug 17748).

    When fixing namespace issues for <fenv.h> functions I missed one call
    to fesetenv for powerpc-nofpu.  This patch changes this to a call to
    __fesetenv.

    Tested for powerpc-nofpu; it fixes the previously observed math.h
    linknamespace test failures.

        [BZ #17748]
        * sysdeps/powerpc/nofpu/feholdexcpt.c (__feholdexcept): Call
        __fesetenv instead of fesetenv.

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

Summary of changes:
 ChangeLog                           |    6 ++++++
 sysdeps/powerpc/nofpu/feholdexcpt.c |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-01-14 21:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-22 20:55 [Bug math/17748] New: fe* function calls yield link namespace conform failures on dbl-64 hosts cmetcalf at ezchip dot com
2014-12-31 22:09 ` [Bug math/17748] " cvs-commit at gcc dot gnu.org
2015-01-02 20:45 ` cvs-commit at gcc dot gnu.org
2015-01-05 23:07 ` cvs-commit at gcc dot gnu.org
2015-01-06 23:37 ` cvs-commit at gcc dot gnu.org
2015-01-07  0:42 ` cvs-commit at gcc dot gnu.org
2015-01-07 19:02 ` cvs-commit at gcc dot gnu.org
2015-01-07 19:03 ` jsm28 at gcc dot gnu.org
2015-01-14 21:37 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).