[v8,1/4] math: redirect roundeven function
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
From: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
This patch redirect roundeven function for futhermore changes.
Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
---
include/math.h | 2 +-
sysdeps/ieee754/dbl-64/s_roundeven.c | 4 +++-
sysdeps/ieee754/float128/s_roundevenf128.c | 1 +
sysdeps/ieee754/flt-32/s_roundevenf.c | 3 +++
sysdeps/ieee754/ldbl-128/s_roundevenl.c | 1 +
sysdeps/ieee754/ldbl-96/s_roundevenl.c | 1 +
6 files changed, 10 insertions(+), 2 deletions(-)
Comments
On Wed, Jun 23, 2021 at 3:32 PM H.J. Lu via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> From: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
>
> This patch redirect roundeven function for futhermore changes.
>
> Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> ---
> include/math.h | 2 +-
> sysdeps/ieee754/dbl-64/s_roundeven.c | 4 +++-
> sysdeps/ieee754/float128/s_roundevenf128.c | 1 +
> sysdeps/ieee754/flt-32/s_roundevenf.c | 3 +++
> sysdeps/ieee754/ldbl-128/s_roundevenl.c | 1 +
> sysdeps/ieee754/ldbl-96/s_roundevenl.c | 1 +
> 6 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/include/math.h b/include/math.h
> index e1c2a4eb64..b4772d3d3b 100644
> --- a/include/math.h
> +++ b/include/math.h
> @@ -38,7 +38,6 @@ libm_hidden_proto (__issignaling)
> libm_hidden_proto (__issignalingf)
> libm_hidden_proto (__exp)
> libm_hidden_proto (__expf)
> -libm_hidden_proto (__roundeven)
>
> # if !defined __NO_LONG_DOUBLE_MATH \
> && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
> @@ -159,6 +158,7 @@ fabsf128 (_Float128 x)
> MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
> MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
> MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
> +MATH_REDIRECT (roundeven, "__", MATH_REDIRECT_UNARY_ARGS)
> MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
> MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
> MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
> diff --git a/sysdeps/ieee754/dbl-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/s_roundeven.c
> index 943b2c634c..5deff3bb8a 100644
> --- a/sysdeps/ieee754/dbl-64/s_roundeven.c
> +++ b/sysdeps/ieee754/dbl-64/s_roundeven.c
> @@ -16,6 +16,7 @@
> License along with the GNU C Library; if not, see
> <https://www.gnu.org/licenses/>. */
>
> +#define NO_MATH_REDIRECT
> #include <math.h>
> #include <math_private.h>
> #include <libm-alias-double.h>
> @@ -66,5 +67,6 @@ __roundeven (double x)
> INSERT_WORDS64 (x, ix);
> return x;
> }
> -hidden_def (__roundeven)
> +#ifndef __roundeven
> libm_alias_double (__roundeven, roundeven)
> +#endif
> diff --git a/sysdeps/ieee754/float128/s_roundevenf128.c b/sysdeps/ieee754/float128/s_roundevenf128.c
> index 5a9b3f395f..e0faf727f6 100644
> --- a/sysdeps/ieee754/float128/s_roundevenf128.c
> +++ b/sysdeps/ieee754/float128/s_roundevenf128.c
> @@ -1,2 +1,3 @@
> +#define NO_MATH_REDIRECT
> #include <float128_private.h>
> #include "../ldbl-128/s_roundevenl.c"
> diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
> index ae54365bbe..2cc0d7b001 100644
> --- a/sysdeps/ieee754/flt-32/s_roundevenf.c
> +++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
> @@ -17,6 +17,7 @@
> License along with the GNU C Library; if not, see
> <https://www.gnu.org/licenses/>. */
>
> +#define NO_MATH_REDIRECT
> #include <math.h>
> #include <math_private.h>
> #include <libm-alias-float.h>
> @@ -67,4 +68,6 @@ __roundevenf (float x)
> SET_FLOAT_WORD (x, ix);
> return x;
> }
> +#ifndef __roundevenf
> libm_alias_float (__roundeven, roundeven)
> +#endif
> diff --git a/sysdeps/ieee754/ldbl-128/s_roundevenl.c b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> index 02765be0e0..7c9c11fad2 100644
> --- a/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> +++ b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> @@ -17,6 +17,7 @@
> License along with the GNU C Library; if not, see
> <https://www.gnu.org/licenses/>. */
>
> +#define NO_MATH_REDIRECT
> #include <math.h>
> #include <math_private.h>
> #include <libm-alias-ldouble.h>
> diff --git a/sysdeps/ieee754/ldbl-96/s_roundevenl.c b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> index 8340116ed8..f826829c31 100644
> --- a/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> +++ b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> @@ -17,6 +17,7 @@
> License along with the GNU C Library; if not, see
> <https://www.gnu.org/licenses/>. */
>
> +#define NO_MATH_REDIRECT
> #include <math.h>
> #include <math_private.h>
> #include <libm-alias-ldouble.h>
> --
> 2.31.1
>
I would like to backport this patch to release branch 2.33.
Any comments/suggestions or objections on this.
commit 447954a206837b5f153869cfeeeab44631c3fac9
Author: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Date: Mon May 24 09:43:10 2021 +0800
math: redirect roundeven function
This patch redirect roundeven function for futhermore changes.
Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
On Sun, Sep 11, 2022 at 12:57 PM Sunil Pandey via Libc-stable
<libc-stable@sourceware.org> wrote:
>
> On Wed, Jun 23, 2021 at 3:32 PM H.J. Lu via Libc-alpha
> <libc-alpha@sourceware.org> wrote:
> >
> > From: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> >
> > This patch redirect roundeven function for futhermore changes.
> >
> > Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> > ---
> > include/math.h | 2 +-
> > sysdeps/ieee754/dbl-64/s_roundeven.c | 4 +++-
> > sysdeps/ieee754/float128/s_roundevenf128.c | 1 +
> > sysdeps/ieee754/flt-32/s_roundevenf.c | 3 +++
> > sysdeps/ieee754/ldbl-128/s_roundevenl.c | 1 +
> > sysdeps/ieee754/ldbl-96/s_roundevenl.c | 1 +
> > 6 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/math.h b/include/math.h
> > index e1c2a4eb64..b4772d3d3b 100644
> > --- a/include/math.h
> > +++ b/include/math.h
> > @@ -38,7 +38,6 @@ libm_hidden_proto (__issignaling)
> > libm_hidden_proto (__issignalingf)
> > libm_hidden_proto (__exp)
> > libm_hidden_proto (__expf)
> > -libm_hidden_proto (__roundeven)
> >
> > # if !defined __NO_LONG_DOUBLE_MATH \
> > && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
> > @@ -159,6 +158,7 @@ fabsf128 (_Float128 x)
> > MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
> > +MATH_REDIRECT (roundeven, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
> > diff --git a/sysdeps/ieee754/dbl-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > index 943b2c634c..5deff3bb8a 100644
> > --- a/sysdeps/ieee754/dbl-64/s_roundeven.c
> > +++ b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > @@ -16,6 +16,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-double.h>
> > @@ -66,5 +67,6 @@ __roundeven (double x)
> > INSERT_WORDS64 (x, ix);
> > return x;
> > }
> > -hidden_def (__roundeven)
> > +#ifndef __roundeven
> > libm_alias_double (__roundeven, roundeven)
> > +#endif
> > diff --git a/sysdeps/ieee754/float128/s_roundevenf128.c b/sysdeps/ieee754/float128/s_roundevenf128.c
> > index 5a9b3f395f..e0faf727f6 100644
> > --- a/sysdeps/ieee754/float128/s_roundevenf128.c
> > +++ b/sysdeps/ieee754/float128/s_roundevenf128.c
> > @@ -1,2 +1,3 @@
> > +#define NO_MATH_REDIRECT
> > #include <float128_private.h>
> > #include "../ldbl-128/s_roundevenl.c"
> > diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > index ae54365bbe..2cc0d7b001 100644
> > --- a/sysdeps/ieee754/flt-32/s_roundevenf.c
> > +++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > @@ -17,6 +17,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-float.h>
> > @@ -67,4 +68,6 @@ __roundevenf (float x)
> > SET_FLOAT_WORD (x, ix);
> > return x;
> > }
> > +#ifndef __roundevenf
> > libm_alias_float (__roundeven, roundeven)
> > +#endif
> > diff --git a/sysdeps/ieee754/ldbl-128/s_roundevenl.c b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > index 02765be0e0..7c9c11fad2 100644
> > --- a/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > +++ b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > @@ -17,6 +17,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-ldouble.h>
> > diff --git a/sysdeps/ieee754/ldbl-96/s_roundevenl.c b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > index 8340116ed8..f826829c31 100644
> > --- a/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > +++ b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > @@ -17,6 +17,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-ldouble.h>
> > --
> > 2.31.1
> >
>
> I would like to backport this patch to release branch 2.33.
>
> Any comments/suggestions or objections on this.
>
> commit 447954a206837b5f153869cfeeeab44631c3fac9
> Author: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> Date: Mon May 24 09:43:10 2021 +0800
>
> math: redirect roundeven function
>
> This patch redirect roundeven function for futhermore changes.
>
> Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Fine by me.
Fine by me, too
Noah Goldstein <goldstein.w.n@gmail.com> 於 2022年9月14日 週三 上午9:25寫道:
>
> On Sun, Sep 11, 2022 at 12:57 PM Sunil Pandey via Libc-stable
> <libc-stable@sourceware.org> wrote:
> >
> > On Wed, Jun 23, 2021 at 3:32 PM H.J. Lu via Libc-alpha
> > <libc-alpha@sourceware.org> wrote:
> > >
> > > From: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > >
> > > This patch redirect roundeven function for futhermore changes.
> > >
> > > Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > > Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> > > ---
> > > include/math.h | 2 +-
> > > sysdeps/ieee754/dbl-64/s_roundeven.c | 4 +++-
> > > sysdeps/ieee754/float128/s_roundevenf128.c | 1 +
> > > sysdeps/ieee754/flt-32/s_roundevenf.c | 3 +++
> > > sysdeps/ieee754/ldbl-128/s_roundevenl.c | 1 +
> > > sysdeps/ieee754/ldbl-96/s_roundevenl.c | 1 +
> > > 6 files changed, 10 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/include/math.h b/include/math.h
> > > index e1c2a4eb64..b4772d3d3b 100644
> > > --- a/include/math.h
> > > +++ b/include/math.h
> > > @@ -38,7 +38,6 @@ libm_hidden_proto (__issignaling)
> > > libm_hidden_proto (__issignalingf)
> > > libm_hidden_proto (__exp)
> > > libm_hidden_proto (__expf)
> > > -libm_hidden_proto (__roundeven)
> > >
> > > # if !defined __NO_LONG_DOUBLE_MATH \
> > > && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
> > > @@ -159,6 +158,7 @@ fabsf128 (_Float128 x)
> > > MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
> > > MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
> > > MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
> > > +MATH_REDIRECT (roundeven, "__", MATH_REDIRECT_UNARY_ARGS)
> > > MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
> > > MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
> > > MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
> > > diff --git a/sysdeps/ieee754/dbl-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > > index 943b2c634c..5deff3bb8a 100644
> > > --- a/sysdeps/ieee754/dbl-64/s_roundeven.c
> > > +++ b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > > @@ -16,6 +16,7 @@
> > > License along with the GNU C Library; if not, see
> > > <https://www.gnu.org/licenses/>. */
> > >
> > > +#define NO_MATH_REDIRECT
> > > #include <math.h>
> > > #include <math_private.h>
> > > #include <libm-alias-double.h>
> > > @@ -66,5 +67,6 @@ __roundeven (double x)
> > > INSERT_WORDS64 (x, ix);
> > > return x;
> > > }
> > > -hidden_def (__roundeven)
> > > +#ifndef __roundeven
> > > libm_alias_double (__roundeven, roundeven)
> > > +#endif
> > > diff --git a/sysdeps/ieee754/float128/s_roundevenf128.c b/sysdeps/ieee754/float128/s_roundevenf128.c
> > > index 5a9b3f395f..e0faf727f6 100644
> > > --- a/sysdeps/ieee754/float128/s_roundevenf128.c
> > > +++ b/sysdeps/ieee754/float128/s_roundevenf128.c
> > > @@ -1,2 +1,3 @@
> > > +#define NO_MATH_REDIRECT
> > > #include <float128_private.h>
> > > #include "../ldbl-128/s_roundevenl.c"
> > > diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > > index ae54365bbe..2cc0d7b001 100644
> > > --- a/sysdeps/ieee754/flt-32/s_roundevenf.c
> > > +++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > > @@ -17,6 +17,7 @@
> > > License along with the GNU C Library; if not, see
> > > <https://www.gnu.org/licenses/>. */
> > >
> > > +#define NO_MATH_REDIRECT
> > > #include <math.h>
> > > #include <math_private.h>
> > > #include <libm-alias-float.h>
> > > @@ -67,4 +68,6 @@ __roundevenf (float x)
> > > SET_FLOAT_WORD (x, ix);
> > > return x;
> > > }
> > > +#ifndef __roundevenf
> > > libm_alias_float (__roundeven, roundeven)
> > > +#endif
> > > diff --git a/sysdeps/ieee754/ldbl-128/s_roundevenl.c b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > > index 02765be0e0..7c9c11fad2 100644
> > > --- a/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > > +++ b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > > @@ -17,6 +17,7 @@
> > > License along with the GNU C Library; if not, see
> > > <https://www.gnu.org/licenses/>. */
> > >
> > > +#define NO_MATH_REDIRECT
> > > #include <math.h>
> > > #include <math_private.h>
> > > #include <libm-alias-ldouble.h>
> > > diff --git a/sysdeps/ieee754/ldbl-96/s_roundevenl.c b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > > index 8340116ed8..f826829c31 100644
> > > --- a/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > > +++ b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > > @@ -17,6 +17,7 @@
> > > License along with the GNU C Library; if not, see
> > > <https://www.gnu.org/licenses/>. */
> > >
> > > +#define NO_MATH_REDIRECT
> > > #include <math.h>
> > > #include <math_private.h>
> > > #include <libm-alias-ldouble.h>
> > > --
> > > 2.31.1
> > >
> >
> > I would like to backport this patch to release branch 2.33.
> >
> > Any comments/suggestions or objections on this.
> >
> > commit 447954a206837b5f153869cfeeeab44631c3fac9
> > Author: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > Date: Mon May 24 09:43:10 2021 +0800
> >
> > math: redirect roundeven function
> >
> > This patch redirect roundeven function for futhermore changes.
> >
> > Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
>
> Fine by me.
On Fri, Sep 23, 2022 at 3:50 AM 謝昇達(Shen-Ta Hsieh)
<ibmibmibm.tw@gmail.com> wrote:
>
> Fine by me, too
>
> Noah Goldstein <goldstein.w.n@gmail.com> 於 2022年9月14日 週三 上午9:25寫道:
> >
> > On Sun, Sep 11, 2022 at 12:57 PM Sunil Pandey via Libc-stable
> > <libc-stable@sourceware.org> wrote:
> > >
> > > On Wed, Jun 23, 2021 at 3:32 PM H.J. Lu via Libc-alpha
> > > <libc-alpha@sourceware.org> wrote:
> > > >
> > > > From: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > > >
> > > > This patch redirect roundeven function for futhermore changes.
> > > >
> > > > Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > > > Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> > > > ---
> > > > include/math.h | 2 +-
> > > > sysdeps/ieee754/dbl-64/s_roundeven.c | 4 +++-
> > > > sysdeps/ieee754/float128/s_roundevenf128.c | 1 +
> > > > sysdeps/ieee754/flt-32/s_roundevenf.c | 3 +++
> > > > sysdeps/ieee754/ldbl-128/s_roundevenl.c | 1 +
> > > > sysdeps/ieee754/ldbl-96/s_roundevenl.c | 1 +
> > > > 6 files changed, 10 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/include/math.h b/include/math.h
> > > > index e1c2a4eb64..b4772d3d3b 100644
> > > > --- a/include/math.h
> > > > +++ b/include/math.h
> > > > @@ -38,7 +38,6 @@ libm_hidden_proto (__issignaling)
> > > > libm_hidden_proto (__issignalingf)
> > > > libm_hidden_proto (__exp)
> > > > libm_hidden_proto (__expf)
> > > > -libm_hidden_proto (__roundeven)
> > > >
> > > > # if !defined __NO_LONG_DOUBLE_MATH \
> > > > && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
> > > > @@ -159,6 +158,7 @@ fabsf128 (_Float128 x)
> > > > MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
> > > > MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
> > > > MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
> > > > +MATH_REDIRECT (roundeven, "__", MATH_REDIRECT_UNARY_ARGS)
> > > > MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
> > > > MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
> > > > MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
> > > > diff --git a/sysdeps/ieee754/dbl-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > > > index 943b2c634c..5deff3bb8a 100644
> > > > --- a/sysdeps/ieee754/dbl-64/s_roundeven.c
> > > > +++ b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > > > @@ -16,6 +16,7 @@
> > > > License along with the GNU C Library; if not, see
> > > > <https://www.gnu.org/licenses/>. */
> > > >
> > > > +#define NO_MATH_REDIRECT
> > > > #include <math.h>
> > > > #include <math_private.h>
> > > > #include <libm-alias-double.h>
> > > > @@ -66,5 +67,6 @@ __roundeven (double x)
> > > > INSERT_WORDS64 (x, ix);
> > > > return x;
> > > > }
> > > > -hidden_def (__roundeven)
> > > > +#ifndef __roundeven
> > > > libm_alias_double (__roundeven, roundeven)
> > > > +#endif
> > > > diff --git a/sysdeps/ieee754/float128/s_roundevenf128.c b/sysdeps/ieee754/float128/s_roundevenf128.c
> > > > index 5a9b3f395f..e0faf727f6 100644
> > > > --- a/sysdeps/ieee754/float128/s_roundevenf128.c
> > > > +++ b/sysdeps/ieee754/float128/s_roundevenf128.c
> > > > @@ -1,2 +1,3 @@
> > > > +#define NO_MATH_REDIRECT
> > > > #include <float128_private.h>
> > > > #include "../ldbl-128/s_roundevenl.c"
> > > > diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > > > index ae54365bbe..2cc0d7b001 100644
> > > > --- a/sysdeps/ieee754/flt-32/s_roundevenf.c
> > > > +++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > > > @@ -17,6 +17,7 @@
> > > > License along with the GNU C Library; if not, see
> > > > <https://www.gnu.org/licenses/>. */
> > > >
> > > > +#define NO_MATH_REDIRECT
> > > > #include <math.h>
> > > > #include <math_private.h>
> > > > #include <libm-alias-float.h>
> > > > @@ -67,4 +68,6 @@ __roundevenf (float x)
> > > > SET_FLOAT_WORD (x, ix);
> > > > return x;
> > > > }
> > > > +#ifndef __roundevenf
> > > > libm_alias_float (__roundeven, roundeven)
> > > > +#endif
> > > > diff --git a/sysdeps/ieee754/ldbl-128/s_roundevenl.c b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > > > index 02765be0e0..7c9c11fad2 100644
> > > > --- a/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > > > +++ b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > > > @@ -17,6 +17,7 @@
> > > > License along with the GNU C Library; if not, see
> > > > <https://www.gnu.org/licenses/>. */
> > > >
> > > > +#define NO_MATH_REDIRECT
> > > > #include <math.h>
> > > > #include <math_private.h>
> > > > #include <libm-alias-ldouble.h>
> > > > diff --git a/sysdeps/ieee754/ldbl-96/s_roundevenl.c b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > > > index 8340116ed8..f826829c31 100644
> > > > --- a/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > > > +++ b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > > > @@ -17,6 +17,7 @@
> > > > License along with the GNU C Library; if not, see
> > > > <https://www.gnu.org/licenses/>. */
> > > >
> > > > +#define NO_MATH_REDIRECT
> > > > #include <math.h>
> > > > #include <math_private.h>
> > > > #include <libm-alias-ldouble.h>
> > > > --
> > > > 2.31.1
> > > >
> > >
> > > I would like to backport this patch to release branch 2.33.
> > >
> > > Any comments/suggestions or objections on this.
> > >
> > > commit 447954a206837b5f153869cfeeeab44631c3fac9
> > > Author: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > > Date: Mon May 24 09:43:10 2021 +0800
> > >
> > > math: redirect roundeven function
> > >
> > > This patch redirect roundeven function for futhermore changes.
> > >
> > > Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > > Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> >
> > Fine by me.
Quick git grep shows that this patch has dependency on architectures other
than x86_64.
$ git log --grep roundeven --oneline
259a17cc98 s390x: Update math: redirect roundeven function
3213ed770c Update math: redirect roundeven function
eb9066203f Use GCC builtins for roundeven functions if desired.
1683249d17 x86_64: roundeven with sse4.1 support
447954a206 math: redirect roundeven function
6a86bc0992 AArch64: Add support for roundeven[f]
This may require backporting these patches to other architectures too,
where build may potentially break.
Not sure if other architecture owners like to backport these patches to 2.33.
@@ -38,7 +38,6 @@ libm_hidden_proto (__issignaling)
libm_hidden_proto (__issignalingf)
libm_hidden_proto (__exp)
libm_hidden_proto (__expf)
-libm_hidden_proto (__roundeven)
# if !defined __NO_LONG_DOUBLE_MATH \
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
@@ -159,6 +158,7 @@ fabsf128 (_Float128 x)
MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
+MATH_REDIRECT (roundeven, "__", MATH_REDIRECT_UNARY_ARGS)
MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
@@ -16,6 +16,7 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#define NO_MATH_REDIRECT
#include <math.h>
#include <math_private.h>
#include <libm-alias-double.h>
@@ -66,5 +67,6 @@ __roundeven (double x)
INSERT_WORDS64 (x, ix);
return x;
}
-hidden_def (__roundeven)
+#ifndef __roundeven
libm_alias_double (__roundeven, roundeven)
+#endif
@@ -1,2 +1,3 @@
+#define NO_MATH_REDIRECT
#include <float128_private.h>
#include "../ldbl-128/s_roundevenl.c"
@@ -17,6 +17,7 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#define NO_MATH_REDIRECT
#include <math.h>
#include <math_private.h>
#include <libm-alias-float.h>
@@ -67,4 +68,6 @@ __roundevenf (float x)
SET_FLOAT_WORD (x, ix);
return x;
}
+#ifndef __roundevenf
libm_alias_float (__roundeven, roundeven)
+#endif
@@ -17,6 +17,7 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#define NO_MATH_REDIRECT
#include <math.h>
#include <math_private.h>
#include <libm-alias-ldouble.h>
@@ -17,6 +17,7 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+#define NO_MATH_REDIRECT
#include <math.h>
#include <math_private.h>
#include <libm-alias-ldouble.h>