mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-04 10:50:07 +00:00
4bad2e014e
This is similar to x86 (da75c1b180
) and powerpc (32ea729996
) mathinline.h removal. The required macros to build the fpu routines are moved to mathimpl.h, while the inline optimization macros for atan, tanh, rint, log1p, significand, trunc, floor, ceil, isinf, finite, scalbn, isnan, scalbln, nearbyint, lrint, and sincos are removed. The gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94204 was created to track builtin support. Checked with a build against m68k-linux-gnu, resulting binaries are similar with and without the patch.
55 lines
1.6 KiB
C
55 lines
1.6 KiB
C
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with the GNU C Library. If not, see
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
#define NO_MATH_REDIRECT
|
|
#define scalbln __no_scalbln_decl
|
|
#define scalblnf __no_scalblnf_decl
|
|
#define scalblnl __no_scalblnl_decl
|
|
#define __scalbln __no__scalbln_decl
|
|
#define __scalblnf __no__scalblnf_decl
|
|
#define __scalblnl __no__scalblnl_decl
|
|
#include <math.h>
|
|
#undef scalbln
|
|
#undef scalblnf
|
|
#undef scalblnl
|
|
#undef __scalbln
|
|
#undef __scalblnf
|
|
#undef __scalblnl
|
|
#include "mathimpl.h"
|
|
|
|
#ifndef suffix
|
|
#define suffix /*empty*/
|
|
#endif
|
|
#ifndef float_type
|
|
#define float_type double
|
|
#endif
|
|
|
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
|
|
|
float_type
|
|
__CONCATX(__scalbn,suffix) (float_type x, int exp)
|
|
{
|
|
return __m81_u(__CONCATX(__scalbn,suffix))(x, exp);
|
|
}
|
|
strong_alias (__CONCATX(__scalbn,suffix), __CONCATX(__scalbln,suffix))
|
|
|
|
#include <shlib-compat.h>
|
|
#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_20)
|
|
compat_symbol (libc, __CONCATX(__scalbn,suffix), __CONCATX(scalbln,suffix),
|
|
GLIBC_2_1);
|
|
#endif
|