diff options
Diffstat (limited to 'sysdeps')
132 files changed, 3652 insertions, 1614 deletions
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure index 9606137e8d..4bd5496a4a 100755 --- a/sysdeps/aarch64/configure +++ b/sysdeps/aarch64/configure @@ -14,14 +14,14 @@ printf "%s\n" "#define SUPPORT_STATIC_PIE 1" >>confdefs.h # the dynamic linker via %ifdef. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -35,13 +35,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -50,14 +51,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -65,35 +66,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -107,13 +97,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -122,14 +113,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -137,32 +128,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for big endian" >&5 printf %s "checking for big endian... " >&6; } if test ${libc_cv_aarch64_be+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __AARCH64EB__ yes @@ -170,14 +162,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_aarch64_be=yes -else $as_nop - libc_cv_aarch64_be=no +else case e in #( + e) libc_cv_aarch64_be=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_be" >&5 printf "%s\n" "$libc_cv_aarch64_be" >&6; } @@ -199,8 +193,8 @@ printf %s "checking for BTI support... " >&6; } if test ${libc_cv_aarch64_bti+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF void foo (void) { } EOF libc_cv_aarch64_bti=no @@ -225,7 +219,8 @@ EOF then libc_cv_aarch64_bti=yes fi - rm -rf conftest.* + rm -rf conftest.* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_bti" >&5 printf "%s\n" "$libc_cv_aarch64_bti" >&6; } @@ -246,8 +241,8 @@ printf %s "checking if pac-ret is enabled... " >&6; } if test ${libc_cv_aarch64_pac_ret+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF int bar (void); int foo (void) { return bar () + 1; } EOF @@ -267,7 +262,8 @@ EOF then libc_cv_aarch64_pac_ret=yes fi - rm -rf conftest.* + rm -rf conftest.* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_pac_ret" >&5 printf "%s\n" "$libc_cv_aarch64_pac_ret" >&6; } @@ -282,8 +278,8 @@ printf %s "checking for variant PCS support... " >&6; } if test ${libc_cv_aarch64_variant_pcs+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.S <<EOF +else case e in #( + e) cat > conftest.S <<EOF .global foo .type foo, %function .variant_pcs foo @@ -310,7 +306,8 @@ EOF then libc_cv_aarch64_variant_pcs=yes fi - rm -rf conftest.* + rm -rf conftest.* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_variant_pcs" >&5 printf "%s\n" "$libc_cv_aarch64_variant_pcs" >&6; } @@ -323,8 +320,8 @@ printf %s "checking for SVE support in assembler... " >&6; } if test ${libc_cv_aarch64_sve_asm+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.s <<\EOF +else case e in #( + e) cat > conftest.s <<\EOF .arch armv8.2-a+sve ptrue p0.b EOF @@ -338,7 +335,8 @@ if { ac_try='${CC-cc} -c conftest.s 1>&5' else libc_cv_aarch64_sve_asm=no fi -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_sve_asm" >&5 printf "%s\n" "$libc_cv_aarch64_sve_asm" >&6; } @@ -357,8 +355,8 @@ printf %s "checking for availability of SVE ACLE... " >&6; } if test ${libc_cv_aarch64_sve_acle+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF #include <arm_sve.h> EOF if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fsyntax-only -ffreestanding conftest.c' @@ -371,7 +369,8 @@ EOF else libc_cv_aarch64_sve_acle=no fi - rm conftest.c + rm conftest.c ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_sve_acle" >&5 printf "%s\n" "$libc_cv_aarch64_sve_acle" >&6; } diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index 656d4b0169..6c96304611 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1081,6 +1081,26 @@ double: 2 float: 1 ldouble: 3 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 3 + Function: "exp2": double: 1 float: 1 @@ -1109,6 +1129,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 2 + Function: "exp_advsimd": double: 1 float: 1 @@ -1315,6 +1355,26 @@ double: 2 float: 2 ldouble: 1 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1412,6 +1472,26 @@ double: 1 float: 2 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 1 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/alpha/dl-procinfo.c b/sysdeps/alpha/dl-procinfo.c deleted file mode 100644 index 633dcbf974..0000000000 --- a/sysdeps/alpha/dl-procinfo.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Data for Alpha version of processor capability information. - Copyright (C) 2008-2024 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/>. */ - -/* This information must be kept in sync with the _DL_PLATFORM_COUNT - definitions in procinfo.h. - - If anything should be added here check whether the size of each string - is still ok with the given array size. - - All the #ifdefs in the definitions are quite irritating but - necessary if we want to avoid duplicating the information. There - are three different modes: - - - PROCINFO_DECL is defined. This means we are only interested in - declarations. - - - PROCINFO_DECL is not defined: - - + if SHARED is defined the file is included in an array - initializer. The .element = { ... } syntax is needed. - - + if SHARED is not defined a normal array initialization is - needed. - */ - -#ifndef PROCINFO_CLASS -#define PROCINFO_CLASS -#endif - -#if !defined PROCINFO_DECL && defined SHARED - ._dl_alpha_platforms -#else -PROCINFO_CLASS const char _dl_alpha_platforms[5][5] -#endif -#ifndef PROCINFO_DECL -= { - "ev4", "ev5", "ev56", "ev6", "ev67" - } -#endif -#if !defined SHARED || defined PROCINFO_DECL -; -#else -, -#endif - -#undef PROCINFO_DECL -#undef PROCINFO_CLASS diff --git a/sysdeps/alpha/dl-procinfo.h b/sysdeps/alpha/dl-procinfo.h index f1e2e98e08..8d17d42ce2 100644 --- a/sysdeps/alpha/dl-procinfo.h +++ b/sysdeps/alpha/dl-procinfo.h @@ -21,36 +21,12 @@ #include <ldsodefs.h> - -/* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (-1ULL) - -#define _DL_PLATFORMS_COUNT 5 - -static inline int -__attribute__ ((unused, always_inline)) -_dl_string_platform (const char *str) -{ - int i; - - if (str != NULL) - for (i = 0; i < _DL_PLATFORMS_COUNT; ++i) - { - if (strcmp (str, GLRO(dl_alpha_platforms)[i]) == 0) - return i; - } - return -1; -}; - /* We cannot provide a general printing function. */ #define _dl_procinfo(type, word) -1 /* There are no hardware capabilities defined. */ #define _dl_hwcap_string(idx) "" -/* By default there is no important hardware capability. */ -#define HWCAP_IMPORTANT (0) - /* We don't have any hardware capabilities. */ #define _DL_HWCAP_COUNT 0 diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index f2929d6ffc..392d23f80a 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1221,6 +1221,26 @@ double: 1 float: 2 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure index 7b27e26490..08e4f23f89 100644 --- a/sysdeps/arc/configure +++ b/sysdeps/arc/configure @@ -13,14 +13,14 @@ printf "%s\n" "#define ASM_LINE_SEP $libc_cv_asm_line_sep" >>confdefs.h # For big endian ABI, generate a symbol for selecting right dynamic linker -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -34,13 +34,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -49,14 +50,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -64,35 +65,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -106,13 +96,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -121,14 +112,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -136,32 +127,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for big endian" >&5 printf %s "checking for big endian... " >&6; } if test ${libc_cv_arc_be+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __BIG_ENDIAN__ yes @@ -169,14 +161,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_arc_be=yes -else $as_nop - libc_cv_arc_be=no +else case e in #( + e) libc_cv_arc_be=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arc_be" >&5 printf "%s\n" "$libc_cv_arc_be" >&6; } diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 56ff9149cb..41c8ef16d7 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -979,6 +979,22 @@ Function: "log_upward": double: 1 float: 1 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 1 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 6ac2830b25..d3f45957d4 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -234,6 +234,10 @@ Function: "log2": double: 2 float: 1 +Function: "logp1": +double: 1 +float: 1 + Function: "pow": double: 1 diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure index 4ef4d46cbd..935e022c74 100644 --- a/sysdeps/arm/configure +++ b/sysdeps/arm/configure @@ -10,14 +10,14 @@ # the dynamic linker via %ifdef. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -31,13 +31,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -46,14 +47,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -61,35 +62,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -103,13 +93,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -118,14 +109,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -133,32 +124,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the ARM hard-float ABI" >&5 printf %s "checking whether the compiler is using the ARM hard-float ABI... " >&6; } if test ${libc_cv_arm_pcs_vfp+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ARM_PCS_VFP yes @@ -166,14 +158,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_arm_pcs_vfp=yes -else $as_nop - libc_cv_arm_pcs_vfp=no +else case e in #( + e) libc_cv_arm_pcs_vfp=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcs_vfp" >&5 printf "%s\n" "$libc_cv_arm_pcs_vfp" >&6; } @@ -192,8 +186,8 @@ printf %s "checking whether VFP supports 32 registers... " >&6; } if test ${libc_cv_arm_pcs_vfp_d32+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -206,10 +200,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_arm_pcs_vfp_d32=yes -else $as_nop - libc_cv_arm_pcs_vfp_d32=no +else case e in #( + e) libc_cv_arm_pcs_vfp_d32=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcs_vfp_d32" >&5 printf "%s\n" "$libc_cv_arm_pcs_vfp_d32" >&6; } @@ -224,8 +220,8 @@ printf %s "checking whether PC-relative relocs in movw/movt work properly... " > if test ${libc_cv_arm_pcrel_movw+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat > conftest.s <<\EOF .syntax unified .arm @@ -259,7 +255,8 @@ LC_ALL=C $READELF -dr conftest.so > conftest.dr 2>&5 && grep -F 'TEXTREL R_ARM_NONE' conftest.dr > /dev/null || libc_cv_arm_pcrel_movw=yes } -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcrel_movw" >&5 printf "%s\n" "$libc_cv_arm_pcrel_movw" >&6; } @@ -276,8 +273,8 @@ printf %s "checking whether TPOFF relocs with addends are assembled correctly... if test ${libc_cv_arm_tpoff_addend+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat > conftest.s <<\EOF .syntax unified .arm @@ -306,7 +303,8 @@ $1 ~ /0x0+/ && $2 ~ /[0-9a-f]+/ { END { exit(result) } ' conftest.x 2>&5 && libc_cv_arm_tpoff_addend=yes } -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_tpoff_addend" >&5 printf "%s\n" "$libc_cv_arm_tpoff_addend" >&6; } diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index dd1a0f6b6e..9186831be3 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -349,10 +349,7 @@ elf_machine_rel (struct link_map *map, struct r_scope_elem *scope[], break; case R_ARM_ABS32: { - struct unaligned - { - Elf32_Addr x; - } __attribute__ ((packed, may_alias)); + ElfW(Addr) tmp; # ifndef RTLD_BOOTSTRAP /* This is defined in rtld.c, but nowhere in the static libc.a; make the reference weak so static programs can @@ -372,7 +369,9 @@ elf_machine_rel (struct link_map *map, struct r_scope_elem *scope[], value -= SYMBOL_ADDRESS (map, refsym, true); # endif /* Support relocations on mis-aligned offsets. */ - ((struct unaligned *) reloc_addr)->x += value; + memcpy (&tmp, reloc_addr, sizeof tmp); + tmp += value; + memcpy (reloc_addr, &tmp, sizeof tmp); break; } case R_ARM_TLS_DESC: diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index fc7ba1439a..cad14a1ef1 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -777,6 +777,22 @@ Function: "exp10_upward": double: 2 float: 1 +Function: "exp10m1": +double: 2 +float: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 + +Function: "exp10m1_upward": +double: 3 +float: 1 + Function: "exp2": double: 1 float: 1 @@ -793,6 +809,22 @@ Function: "exp2_upward": double: 1 float: 1 +Function: "exp2m1": +double: 1 +float: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 + +Function: "exp2m1_upward": +double: 1 +float: 1 + Function: "exp_downward": double: 1 float: 1 @@ -933,6 +965,22 @@ Function: "log10_upward": double: 2 float: 2 +Function: "log10p1": +double: 1 +float: 1 + +Function: "log10p1_downward": +double: 2 +float: 1 + +Function: "log10p1_towardzero": +double: 2 +float: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 + Function: "log1p": double: 1 float: 1 @@ -991,6 +1039,22 @@ Function: "log_upward": double: 1 float: 2 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/csky/dl-procinfo.c b/sysdeps/csky/dl-procinfo.c deleted file mode 100644 index 0c81518cff..0000000000 --- a/sysdeps/csky/dl-procinfo.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Data for C-SKY version of processor capability information. - Copyright (C) 2018-2024 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/>. */ - -/* This information must be kept in sync with the _DL_PLATFORM_COUNT - definitions in procinfo.h. - - If anything should be added here check whether the size of each string - is still ok with the given array size. - - All the #ifdefs in the definitions are quite irritating but - necessary if we want to avoid duplicating the information. There - are three different modes: - - - PROCINFO_DECL is defined. This means we are only interested in - declarations. - - - PROCINFO_DECL is not defined: - - + if SHARED is defined the file is included in an array - initializer. The .element = { ... } syntax is needed. - - + if SHARED is not defined a normal array initialization is - needed. - */ - -#ifndef PROCINFO_CLASS -# define PROCINFO_CLASS -#endif - -#if !defined PROCINFO_DECL && defined SHARED - ._dl_csky_platforms -#else -PROCINFO_CLASS const char _dl_csky_platforms[4][6] -#endif -#ifndef PROCINFO_DECL -= { - "ck610", "ck807", "ck810", "ck860" - } -#endif -#if !defined SHARED || defined PROCINFO_DECL -; -#else -, -#endif - -#undef PROCINFO_DECL -#undef PROCINFO_CLASS diff --git a/sysdeps/csky/dl-procinfo.h b/sysdeps/csky/dl-procinfo.h index 77621e4b20..f5f6343cf6 100644 --- a/sysdeps/csky/dl-procinfo.h +++ b/sysdeps/csky/dl-procinfo.h @@ -22,35 +22,12 @@ #include <ldsodefs.h> -/* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (-1ULL) - -#define _DL_PLATFORMS_COUNT 4 - -static inline int -__attribute__ ((unused, always_inline)) -_dl_string_platform (const char *str) -{ - int i; - - if (str != NULL) - for (i = 0; i < _DL_PLATFORMS_COUNT; ++i) - { - if (strcmp (str, GLRO(dl_csky_platforms)[i]) == 0) - return i; - } - return -1; -}; - /* We cannot provide a general printing function. */ #define _dl_procinfo(word, val) -1 /* There are no hardware capabilities defined. */ #define _dl_hwcap_string(idx) "" -/* By default there is no important hardware capability. */ -#define HWCAP_IMPORTANT (0) - /* We don't have any hardware capabilities. */ #define _DL_HWCAP_COUNT 0 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 6e1356e532..fc634f89ca 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -950,6 +950,22 @@ double: 2 Function: "log2_upward": double: 3 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 8a2de74d79..a1e28c8ee0 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -964,6 +964,22 @@ Function: "log_upward": double: 1 float: 2 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/generic/dl-procinfo.h b/sysdeps/generic/dl-procinfo.h index c4818497c8..93edfc00cb 100644 --- a/sysdeps/generic/dl-procinfo.h +++ b/sysdeps/generic/dl-procinfo.h @@ -25,15 +25,7 @@ /* There are no hardware capabilities defined. */ #define _dl_hwcap_string(idx) "" -/* By default there is no important hardware capability. */ -#define HWCAP_IMPORTANT (0) - -/* There're no platforms to filter out. */ -#define _DL_HWCAP_PLATFORM 0 - /* We don't have any hardware capabilities. */ #define _DL_HWCAP_COUNT 0 -#define _dl_string_platform(str) (-1) - #endif /* dl-procinfo.h */ diff --git a/sysdeps/generic/unsecvars.h b/sysdeps/generic/unsecvars.h index f1724efe0f..97857a11aa 100644 --- a/sysdeps/generic/unsecvars.h +++ b/sysdeps/generic/unsecvars.h @@ -12,7 +12,6 @@ "LD_DEBUG\0" \ "LD_DEBUG_OUTPUT\0" \ "LD_DYNAMIC_WEAK\0" \ - "LD_HWCAP_MASK\0" \ "LD_LIBRARY_PATH\0" \ "LD_ORIGIN_PATH\0" \ "LD_PRELOAD\0" \ diff --git a/sysdeps/hppa/configure b/sysdeps/hppa/configure index cf5f9e5d7e..0390946d88 100644 --- a/sysdeps/hppa/configure +++ b/sysdeps/hppa/configure @@ -5,8 +5,8 @@ printf %s "checking for assembler line separator... " >&6; } if test ${libc_cv_asm_line_sep+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.s <<EOF +else case e in #( + e) cat > conftest.s <<EOF nop ; is_old_puffin EOF if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' @@ -24,7 +24,8 @@ else fi libc_cv_asm_line_sep=';' fi -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_line_sep" >&5 printf "%s\n" "$libc_cv_asm_line_sep" >&6; } diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 3d60fc25a1..d91a85bfc8 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -796,6 +796,22 @@ Function: "exp10_upward": double: 2 float: 1 +Function: "exp10m1": +double: 2 +float: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 + +Function: "exp10m1_upward": +double: 3 +float: 1 + Function: "exp2": double: 1 float: 1 @@ -812,6 +828,22 @@ Function: "exp2_upward": double: 1 float: 1 +Function: "exp2m1": +double: 1 +float: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 + +Function: "exp2m1_upward": +double: 1 +float: 1 + Function: "exp_downward": double: 1 float: 1 @@ -958,6 +990,22 @@ Function: "log10_upward": double: 2 float: 2 +Function: "log10p1": +double: 1 +float: 1 + +Function: "log10p1_downward": +double: 2 +float: 1 + +Function: "log10p1_towardzero": +double: 2 +float: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 + Function: "log1p": double: 1 float: 1 @@ -990,6 +1038,22 @@ Function: "log2_upward": double: 3 float: 3 +Function: "log2p1": +double: 1 +float: 1 + +Function: "log2p1_downward": +double: 2 +float: 2 + +Function: "log2p1_towardzero": +double: 2 +float: 2 + +Function: "log2p1_upward": +double: 1 +float: 2 + Function: "log_downward": float: 2 @@ -1000,6 +1064,22 @@ Function: "log_upward": double: 1 float: 2 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure index 84656cef6e..a618692adf 100644 --- a/sysdeps/i386/configure +++ b/sysdeps/i386/configure @@ -61,8 +61,8 @@ printf %s "checking for linker static PIE support... " >&6; } if test ${libc_cv_ld_static_pie+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.s <<\EOF +else case e in #( + e) cat > conftest.s <<\EOF .text .global _start _start: @@ -80,7 +80,8 @@ EOF libc_cv_ld_static_pie=yes fi fi -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_static_pie" >&5 printf "%s\n" "$libc_cv_ld_static_pie" >&6; } diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index f2139fc172..14c6d12f37 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1024,7 +1024,7 @@ ldouble: 3 Function: Imaginary part of "ctan_upward": double: 2 -float: 1 +float: 2 float128: 5 ldouble: 3 @@ -1153,6 +1153,30 @@ float: 1 float128: 3 ldouble: 2 +Function: "exp10m1": +double: 1 +float: 1 +float128: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "exp10m1_upward": +double: 3 +float: 1 +float128: 3 +ldouble: 2 + Function: "exp2": double: 1 float128: 1 @@ -1172,6 +1196,30 @@ float: 1 float128: 2 ldouble: 1 +Function: "exp2m1": +double: 1 +float: 1 +float128: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +float128: 2 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + Function: "exp_downward": double: 1 float: 1 @@ -1258,13 +1306,13 @@ float128: 2 ldouble: 8 Function: "j0_downward": -double: 5 +double: 6 float: 9 float128: 9 ldouble: 6 Function: "j0_towardzero": -double: 6 +double: 7 float: 9 float128: 9 ldouble: 6 @@ -1375,6 +1423,30 @@ float: 1 float128: 1 ldouble: 1 +Function: "log10p1": +double: 1 +float: 2 +float128: 3 +ldouble: 2 + +Function: "log10p1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 4 + +Function: "log10p1_towardzero": +double: 2 +float: 1 +float128: 2 +ldouble: 4 + +Function: "log10p1_upward": +double: 2 +float: 2 +float128: 3 +ldouble: 3 + Function: "log1p": double: 1 float128: 3 @@ -1421,6 +1493,30 @@ float: 1 float128: 1 ldouble: 1 +Function: "log2p1": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "log2p1_downward": +double: 2 +float: 2 +float128: 3 +ldouble: 3 + +Function: "log2p1_towardzero": +double: 2 +float: 2 +float128: 2 +ldouble: 3 + +Function: "log2p1_upward": +double: 1 +float: 2 +float128: 2 +ldouble: 5 + Function: "log_downward": double: 1 float128: 1 @@ -1436,6 +1532,29 @@ double: 1 float128: 1 ldouble: 1 +Function: "logp1": +double: 1 +float128: 3 +ldouble: 2 + +Function: "logp1_downward": +double: 1 +float: 1 +float128: 3 +ldouble: 4 + +Function: "logp1_towardzero": +double: 1 +float: 1 +float128: 3 +ldouble: 4 + +Function: "logp1_upward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + Function: "pow": double: 1 float128: 2 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index b892c43e59..fff853e93f 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1156,6 +1156,30 @@ float: 1 float128: 3 ldouble: 2 +Function: "exp10m1": +double: 1 +float: 1 +float128: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "exp10m1_upward": +double: 3 +float: 1 +float128: 3 +ldouble: 2 + Function: "exp2": double: 1 float128: 1 @@ -1175,6 +1199,30 @@ float: 1 float128: 2 ldouble: 1 +Function: "exp2m1": +double: 1 +float: 1 +float128: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 3 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +float128: 2 +ldouble: 3 + +Function: "exp2m1_upward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + Function: "exp_downward": double: 1 float: 1 @@ -1378,6 +1426,30 @@ float: 1 float128: 1 ldouble: 1 +Function: "log10p1": +double: 1 +float: 2 +float128: 3 +ldouble: 2 + +Function: "log10p1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 4 + +Function: "log10p1_towardzero": +double: 2 +float: 1 +float128: 2 +ldouble: 4 + +Function: "log10p1_upward": +double: 2 +float: 2 +float128: 3 +ldouble: 3 + Function: "log1p": double: 1 float128: 3 @@ -1463,6 +1535,29 @@ double: 1 float128: 1 ldouble: 1 +Function: "logp1": +double: 1 +float128: 3 +ldouble: 2 + +Function: "logp1_downward": +double: 1 +float: 1 +float128: 3 +ldouble: 4 + +Function: "logp1_towardzero": +double: 1 +float: 1 +float128: 3 +ldouble: 4 + +Function: "logp1_upward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + Function: "pow": double: 1 float128: 2 diff --git a/sysdeps/ieee754/float128/Makefile b/sysdeps/ieee754/float128/Makefile index f869e80f26..f0f6aae6ae 100644 --- a/sysdeps/ieee754/float128/Makefile +++ b/sysdeps/ieee754/float128/Makefile @@ -100,7 +100,7 @@ CFLAGS-s_llrintf128.c += -fno-builtin-llrintf64x CFLAGS-s_llroundf128.c += -fno-builtin-llroundf64x CFLAGS-e_logf128.c += -fno-builtin-logf64x CFLAGS-w_log10f128.c += -fno-builtin-log10f64x -CFLAGS-w_log1pf128.c += -fno-builtin-log1pf64x +CFLAGS-w_log1pf128.c += -fno-builtin-log1pf64x -fno-builtin-logp1f64x CFLAGS-e_log2f128.c += -fno-builtin-log2f64x CFLAGS-s_logbf128.c += -fno-builtin-logbf64x CFLAGS-s_lrintf128.c += -fno-builtin-lrintf64x diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h index 38a8bdd0fe..19aa6c46f2 100644 --- a/sysdeps/ieee754/float128/float128_private.h +++ b/sysdeps/ieee754/float128/float128_private.h @@ -358,6 +358,7 @@ #define llroundl llroundf128 #define log1pl log1pf128 #define logbl logbf128 +#define logp1l logp1f128 #define logl logf128 #define lrintl lrintf128 #define lroundl lroundf128 diff --git a/sysdeps/ieee754/ldbl-128/Makefile b/sysdeps/ieee754/ldbl-128/Makefile index 9cbfc7ff6e..1901238c5b 100644 --- a/sysdeps/ieee754/ldbl-128/Makefile +++ b/sysdeps/ieee754/ldbl-128/Makefile @@ -89,7 +89,7 @@ CFLAGS-s_llrintl.c += -fno-builtin-llrintf64x -fno-builtin-llrintf128 CFLAGS-s_llroundl.c += -fno-builtin-llroundf64x -fno-builtin-llroundf128 CFLAGS-e_logl.c += -fno-builtin-logf64x -fno-builtin-logf128 CFLAGS-w_log10l.c += -fno-builtin-log10f64x -fno-builtin-log10f128 -CFLAGS-w_log1pl.c += -fno-builtin-log1pf64x -fno-builtin-log1pf128 +CFLAGS-w_log1pl.c += -fno-builtin-log1pf64x -fno-builtin-log1pf128 -fno-builtin-logp1f64x -fno-builtin-logp1f128 CFLAGS-e_log2l.c += -fno-builtin-log2f64x -fno-builtin-log2f128 CFLAGS-s_logbl.c += -fno-builtin-logbf64x -fno-builtin-logbf128 CFLAGS-s_lrintl.c += -fno-builtin-lrintf64x -fno-builtin-lrintf128 diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Versions b/sysdeps/ieee754/ldbl-128ibm-compat/Versions index c9a74366fd..bd73016e93 100644 --- a/sysdeps/ieee754/ldbl-128ibm-compat/Versions +++ b/sysdeps/ieee754/ldbl-128ibm-compat/Versions @@ -138,7 +138,11 @@ libm { __fminimum_mag_numieee128; } GLIBC_2.40 { + __exp2m1ieee128; + __exp10m1ieee128; __log2p1ieee128; + __log10p1ieee128; + __logp1ieee128; } } libc { diff --git a/sysdeps/ieee754/ldbl-96/Makefile b/sysdeps/ieee754/ldbl-96/Makefile index 170e77b2f9..a3ec2c54ca 100644 --- a/sysdeps/ieee754/ldbl-96/Makefile +++ b/sysdeps/ieee754/ldbl-96/Makefile @@ -110,7 +110,7 @@ CFLAGS-s_llrintl.c += -fno-builtin-llrintf64x CFLAGS-s_llroundl.c += -fno-builtin-llroundf64x CFLAGS-e_logl.c += -fno-builtin-logf64x CFLAGS-w_log10l.c += -fno-builtin-log10f64x -CFLAGS-w_log1pl.c += -fno-builtin-log1pf64x +CFLAGS-w_log1pl.c += -fno-builtin-log1pf64x -fno-builtin-logp1f64x CFLAGS-e_log2l.c += -fno-builtin-log2f64x CFLAGS-s_logbl.c += -fno-builtin-logbf64x CFLAGS-s_lrintl.c += -fno-builtin-lrintf64x diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile index d1eda5d022..14fd715003 100644 --- a/sysdeps/ieee754/ldbl-opt/Makefile +++ b/sysdeps/ieee754/ldbl-opt/Makefile @@ -61,8 +61,10 @@ libnldbl-calls = \ erf \ erfc \ exp \ + exp10m1 \ exp2 \ exp10 \ + exp2m1 \ expm1 \ fabs \ fadd \ @@ -140,6 +142,7 @@ libnldbl-calls = \ log \ log2 \ log10 \ + log10p1 \ log1p \ log2p1 \ logb \ @@ -295,7 +298,9 @@ CFLAGS-nldbl-erf.c = -fno-builtin-erfl CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl CFLAGS-nldbl-exp.c = -fno-builtin-expl CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l +CFLAGS-nldbl-exp10m1.c = -fno-builtin-exp10m1l CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l +CFLAGS-nldbl-exp2m1.c = -fno-builtin-exp2m1l CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl CFLAGS-nldbl-fadd.c = -fno-builtin-faddl @@ -341,7 +346,8 @@ CFLAGS-nldbl-llrint.c = -fno-builtin-llrintl CFLAGS-nldbl-llround.c = -fno-builtin-llroundl CFLAGS-nldbl-log.c = -fno-builtin-logl CFLAGS-nldbl-log10.c = -fno-builtin-log10l -CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl +CFLAGS-nldbl-log10p1.c = -fno-builtin-log10p1l +CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl -fno-builtin-logp1l CFLAGS-nldbl-log2.c = -fno-builtin-log2l CFLAGS-nldbl-log2p1.c = -fno-builtin-log2p1l CFLAGS-nldbl-logb.c = -fno-builtin-logbl diff --git a/sysdeps/ieee754/ldbl-opt/configure b/sysdeps/ieee754/ldbl-opt/configure index 68d8d7b465..bc6552da0b 100644 --- a/sysdeps/ieee754/ldbl-opt/configure +++ b/sysdeps/ieee754/ldbl-opt/configure @@ -7,8 +7,8 @@ printf %s "checking whether $CC $CFLAGS supports -mlong-double-128... " >&6; } if test ${libc_cv_mlong_double_128+y} then : printf %s "(cached) " >&6 -else $as_nop - save_CFLAGS="$CFLAGS" +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mlong-double-128" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28,11 +28,13 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mlong_double_128=yes -else $as_nop - libc_cv_mlong_double_128=no +else case e in #( + e) libc_cv_mlong_double_128=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -CFLAGS="$save_CFLAGS" +CFLAGS="$save_CFLAGS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mlong_double_128" >&5 printf "%s\n" "$libc_cv_mlong_double_128" >&6; } diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c new file mode 100644 index 0000000000..3495263fc9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +exp10m1l (double x) +{ + return exp10m1 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c new file mode 100644 index 0000000000..2bc6066e0c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +exp2m1l (double x) +{ + return exp2m1 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log10p1.c b/sysdeps/ieee754/ldbl-opt/nldbl-log10p1.c new file mode 100644 index 0000000000..d00fc95570 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-log10p1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log10p1l (double x) +{ + return log10p1 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c b/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c index 455b25a9f4..b0de985183 100644 --- a/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c +++ b/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c @@ -6,3 +6,4 @@ log1pl (double x) { return log1p (x); } +weak_alias (log1pl, logp1l) diff --git a/sysdeps/loongarch/configure b/sysdeps/loongarch/configure index afcef6cd22..d3d9fec910 100644 --- a/sysdeps/loongarch/configure +++ b/sysdeps/loongarch/configure @@ -9,8 +9,8 @@ printf %s "checking if ${CC-cc} is sufficient to build static PIE on LoongArch.. if test ${libc_cv_static_pie_on_loongarch+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat > conftest.S <<\EOF .global _start .type _start, @function @@ -48,7 +48,8 @@ EOF then libc_cv_static_pie_on_loongarch=yes fi - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_static_pie_on_loongarch" >&5 printf "%s\n" "$libc_cv_static_pie_on_loongarch" >&6; } @@ -64,8 +65,8 @@ printf %s "checking whether $CC supports option -mcmodel=medium... " >&6; } if test ${libc_cv_loongarch_cmodel_medium+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) if { ac_try='${CC-cc} -c $CFLAGS -mcmodel=medium /dev/null 1>&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 @@ -75,7 +76,8 @@ else $as_nop libc_cv_loongarch_cmodel_medium=yes else libc_cv_loongarch_cmodel_medium=no - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_loongarch_cmodel_medium" >&5 printf "%s\n" "$libc_cv_loongarch_cmodel_medium" >&6; } @@ -88,8 +90,8 @@ printf %s "checking for vector support in assembler... " >&6; } if test ${libc_cv_loongarch_vec_asm+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.s <<\EOF +else case e in #( + e) cat > conftest.s <<\EOF vld $vr0, $sp, 0 EOF if { ac_try='${CC-cc} -c $CFLAGS conftest.s -o conftest 1>&5' @@ -102,7 +104,8 @@ if { ac_try='${CC-cc} -c $CFLAGS conftest.s -o conftest 1>&5' else libc_cv_loongarch_vec_asm=no fi -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_loongarch_vec_asm" >&5 printf "%s\n" "$libc_cv_loongarch_vec_asm" >&6; } @@ -116,8 +119,8 @@ printf %s "checking for vector support in compiler... " >&6; } if test ${libc_cv_loongarch_vec_com+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -131,10 +134,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_loongarch_vec_com=yes -else $as_nop - libc_cv_loongarch_vec_com=no +else case e in #( + e) libc_cv_loongarch_vec_com=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_loongarch_vec_com" >&5 printf "%s\n" "$libc_cv_loongarch_vec_com" >&6; } diff --git a/sysdeps/loongarch/dl-tlsdesc.S b/sysdeps/loongarch/dl-tlsdesc.S index 346b80f2ec..a6627cc754 100644 --- a/sysdeps/loongarch/dl-tlsdesc.S +++ b/sysdeps/loongarch/dl-tlsdesc.S @@ -81,7 +81,7 @@ _dl_tlsdesc_undefweak: _dl_tlsdesc_dynamic (struct tlsdesc *tdp) { struct tlsdesc_dynamic_arg *td = tdp->arg; - dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer - TCBHEAD_DTV); + dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer - SIZE_OF_TCB); if (__glibc_likely (td->gen_count <= dtv[0].counter && (dtv[td->tlsinfo.ti_module].pointer.val != TLS_DTV_UNALLOCATED), @@ -177,8 +177,8 @@ Hign address dynamic_block1 <----- dtv5 */ /* Whether support LASX. */ la.global t0, _rtld_global_ro REG_L t0, t0, GLRO_DL_HWCAP_OFFSET - andi t0, t0, HWCAP_LOONGARCH_LASX - beqz t0, .Llsx + andi t1, t0, HWCAP_LOONGARCH_LASX + beqz t1, .Llsx /* Save 256-bit vector registers. FIXME: Without vector ABI, save all vector registers. */ @@ -219,8 +219,8 @@ Hign address dynamic_block1 <----- dtv5 */ .Llsx: /* Whether support LSX. */ - andi t0, t0, HWCAP_LOONGARCH_LSX - beqz t0, .Lfloat + andi t1, t0, HWCAP_LOONGARCH_LSX + beqz t1, .Lfloat /* Save 128-bit vector registers. */ ADDI sp, sp, -FRAME_SIZE_LSX @@ -296,8 +296,8 @@ Hign address dynamic_block1 <----- dtv5 */ la.global t0, _rtld_global_ro REG_L t0, t0, GLRO_DL_HWCAP_OFFSET - andi t0, t0, HWCAP_LOONGARCH_LASX - beqz t0, .Llsx1 + andi t1, t0, HWCAP_LOONGARCH_LASX + beqz t1, .Llsx1 /* Restore 256-bit vector registers. */ xvld xr0, sp, 0*SZXREG @@ -336,8 +336,8 @@ Hign address dynamic_block1 <----- dtv5 */ b .Lfcsr .Llsx1: - andi t0, s0, HWCAP_LOONGARCH_LSX - beqz t0, .Lfloat1 + andi t1, t0, HWCAP_LOONGARCH_LSX + beqz t1, .Lfloat1 /* Restore 128-bit vector registers. */ vld vr0, sp, 0*SZVREG diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 185c5b4e92..bdfd683454 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -975,6 +975,26 @@ double: 2 float: 1 ldouble: 3 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 3 + Function: "exp2": double: 1 ldouble: 1 @@ -992,6 +1012,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 2 + Function: "exp_downward": double: 1 float: 1 @@ -1165,6 +1205,26 @@ double: 2 float: 2 ldouble: 1 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1232,6 +1292,26 @@ Function: "log_upward": double: 1 ldouble: 2 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 ldouble: 2 diff --git a/sysdeps/loongarch/tst-gnu2-tls2.h b/sysdeps/loongarch/tst-gnu2-tls2.h index 8e4216785d..863abe597e 100644 --- a/sysdeps/loongarch/tst-gnu2-tls2.h +++ b/sysdeps/loongarch/tst-gnu2-tls2.h @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ +#include <stdio.h> #include <config.h> #include <string.h> #include <stdlib.h> @@ -42,35 +43,35 @@ #else /* hard float */ #define SAVE_REGISTER_FCC(src) \ - asm volatile ("movcf2gr $t0, $fcc0" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[0]) :); \ - asm volatile ("movcf2gr $t0, $fcc1" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[1]) :); \ - asm volatile ("movcf2gr $t0, $fcc2" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[2]) :); \ - asm volatile ("movcf2gr $t0, $fcc3" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[3]) :); \ - asm volatile ("movcf2gr $t0, $fcc4" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[4]) :); \ - asm volatile ("movcf2gr $t0, $fcc5" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[5]) :); \ - asm volatile ("movcf2gr $t0, $fcc6" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[6]) :); \ - asm volatile ("movcf2gr $t0, $fcc7" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(src[7]) :); + asm volatile ("movcf2gr %0, $fcc0" :"=r"(src[0])); \ + asm volatile ("movcf2gr %0, $fcc1" :"=r"(src[1])); \ + asm volatile ("movcf2gr %0, $fcc2" :"=r"(src[2])); \ + asm volatile ("movcf2gr %0, $fcc3" :"=r"(src[3])); \ + asm volatile ("movcf2gr %0, $fcc4" :"=r"(src[4])); \ + asm volatile ("movcf2gr %0, $fcc5" :"=r"(src[5])); \ + asm volatile ("movcf2gr %0, $fcc6" :"=r"(src[6])); \ + asm volatile ("movcf2gr %0, $fcc7" :"=r"(src[7])); \ #define LOAD_REGISTER_FCSR() \ + uint64_t src_fcsr = 0x01010101; \ asm volatile ("li.d $t0, 0x01010101" ::: "$t0"); \ asm volatile ("movgr2fcsr $fcsr0, $t0" :::); -#define SAVE_REGISTER_FCSR() \ - asm volatile ("movfcsr2gr $t0, $fcsr0" ::: "$t0"); \ - asm volatile ("st.d $t0, %0" :"=m"(restore_fcsr) :); +#define SAVE_REGISTER_FCSR() \ + uint64_t restore_fcsr; \ + asm volatile ("movfcsr2gr %0, $fcsr0" :"=r"(restore_fcsr)); \ + if (src_fcsr != restore_fcsr) \ + { \ + printf ("FCSR registers compare failed!\n"); \ + abort (); \ + } \ -# define INIT_TLSDESC_CALL() \ +#define INIT_TLSDESC_CALL() \ unsigned long hwcap = getauxval (AT_HWCAP); #define LOAD_REGISTER_FLOAT() \ + for (int i = 0; i < 32; i++) \ + src_float[i] = i + 1; \ asm volatile ("fld.d $f0, %0" ::"m"(src_float[0]) :"$f0"); \ asm volatile ("fld.d $f1, %0" ::"m"(src_float[1]) :"$f1"); \ asm volatile ("fld.d $f2, %0" ::"m"(src_float[2]) :"$f2"); \ @@ -105,38 +106,44 @@ asm volatile ("fld.d $f31, %0" ::"m"(src_float[31]) :"$f31"); #define SAVE_REGISTER_FLOAT() \ - asm volatile ("fst.d $f0, %0" :"=m"(restore_float[0]) :); \ - asm volatile ("fst.d $f1, %0" :"=m"(restore_float[1]) :); \ - asm volatile ("fst.d $f2, %0" :"=m"(restore_float[2]) :); \ - asm volatile ("fst.d $f3, %0" :"=m"(restore_float[3]) :); \ - asm volatile ("fst.d $f4, %0" :"=m"(restore_float[4]) :); \ - asm volatile ("fst.d $f5, %0" :"=m"(restore_float[5]) :); \ - asm volatile ("fst.d $f6, %0" :"=m"(restore_float[6]) :); \ - asm volatile ("fst.d $f7, %0" :"=m"(restore_float[7]) :); \ - asm volatile ("fst.d $f8, %0" :"=m"(restore_float[8]) :); \ - asm volatile ("fst.d $f9, %0" :"=m"(restore_float[9]) :); \ - asm volatile ("fst.d $f10, %0" :"=m"(restore_float[10]) :); \ - asm volatile ("fst.d $f11, %0" :"=m"(restore_float[11]) :); \ - asm volatile ("fst.d $f12, %0" :"=m"(restore_float[12]) :); \ - asm volatile ("fst.d $f13, %0" :"=m"(restore_float[13]) :); \ - asm volatile ("fst.d $f14, %0" :"=m"(restore_float[14]) :); \ - asm volatile ("fst.d $f15, %0" :"=m"(restore_float[15]) :); \ - asm volatile ("fst.d $f16, %0" :"=m"(restore_float[16]) :); \ - asm volatile ("fst.d $f17, %0" :"=m"(restore_float[17]) :); \ - asm volatile ("fst.d $f18, %0" :"=m"(restore_float[18]) :); \ - asm volatile ("fst.d $f19, %0" :"=m"(restore_float[19]) :); \ - asm volatile ("fst.d $f20, %0" :"=m"(restore_float[20]) :); \ - asm volatile ("fst.d $f21, %0" :"=m"(restore_float[21]) :); \ - asm volatile ("fst.d $f22, %0" :"=m"(restore_float[22]) :); \ - asm volatile ("fst.d $f23, %0" :"=m"(restore_float[23]) :); \ - asm volatile ("fst.d $f24, %0" :"=m"(restore_float[24]) :); \ - asm volatile ("fst.d $f25, %0" :"=m"(restore_float[25]) :); \ - asm volatile ("fst.d $f26, %0" :"=m"(restore_float[26]) :); \ - asm volatile ("fst.d $f27, %0" :"=m"(restore_float[27]) :); \ - asm volatile ("fst.d $f28, %0" :"=m"(restore_float[28]) :); \ - asm volatile ("fst.d $f29, %0" :"=m"(restore_float[29]) :); \ - asm volatile ("fst.d $f30, %0" :"=m"(restore_float[30]) :); \ - asm volatile ("fst.d $f31, %0" :"=m"(restore_float[31]) :); + double restore_float[32]; \ + asm volatile ("fst.d $f0, %0" :"=m"(restore_float[0])); \ + asm volatile ("fst.d $f1, %0" :"=m"(restore_float[1])); \ + asm volatile ("fst.d $f2, %0" :"=m"(restore_float[2])); \ + asm volatile ("fst.d $f3, %0" :"=m"(restore_float[3])); \ + asm volatile ("fst.d $f4, %0" :"=m"(restore_float[4])); \ + asm volatile ("fst.d $f5, %0" :"=m"(restore_float[5])); \ + asm volatile ("fst.d $f6, %0" :"=m"(restore_float[6])); \ + asm volatile ("fst.d $f7, %0" :"=m"(restore_float[7])); \ + asm volatile ("fst.d $f8, %0" :"=m"(restore_float[8])); \ + asm volatile ("fst.d $f9, %0" :"=m"(restore_float[9])); \ + asm volatile ("fst.d $f10, %0" :"=m"(restore_float[10])); \ + asm volatile ("fst.d $f11, %0" :"=m"(restore_float[11])); \ + asm volatile ("fst.d $f12, %0" :"=m"(restore_float[12])); \ + asm volatile ("fst.d $f13, %0" :"=m"(restore_float[13])); \ + asm volatile ("fst.d $f14, %0" :"=m"(restore_float[14])); \ + asm volatile ("fst.d $f15, %0" :"=m"(restore_float[15])); \ + asm volatile ("fst.d $f16, %0" :"=m"(restore_float[16])); \ + asm volatile ("fst.d $f17, %0" :"=m"(restore_float[17])); \ + asm volatile ("fst.d $f18, %0" :"=m"(restore_float[18])); \ + asm volatile ("fst.d $f19, %0" :"=m"(restore_float[19])); \ + asm volatile ("fst.d $f20, %0" :"=m"(restore_float[20])); \ + asm volatile ("fst.d $f21, %0" :"=m"(restore_float[21])); \ + asm volatile ("fst.d $f22, %0" :"=m"(restore_float[22])); \ + asm volatile ("fst.d $f23, %0" :"=m"(restore_float[23])); \ + asm volatile ("fst.d $f24, %0" :"=m"(restore_float[24])); \ + asm volatile ("fst.d $f25, %0" :"=m"(restore_float[25])); \ + asm volatile ("fst.d $f26, %0" :"=m"(restore_float[26])); \ + asm volatile ("fst.d $f27, %0" :"=m"(restore_float[27])); \ + asm volatile ("fst.d $f28, %0" :"=m"(restore_float[28])); \ + asm volatile ("fst.d $f29, %0" :"=m"(restore_float[29])); \ + asm volatile ("fst.d $f30, %0" :"=m"(restore_float[30])); \ + asm volatile ("fst.d $f31, %0" :"=m"(restore_float[31])); \ + if (memcmp (src_float, restore_float, sizeof (src_float)) != 0) \ + { \ + printf ("Float registers compare failed!\n"); \ + abort (); \ + } #ifdef HAVE_LOONGARCH_VEC_COM #define LOAD_REGISTER_LSX() \ @@ -181,44 +188,47 @@ #define SAVE_REGISTER_LSX() \ int src_lsx[32][4]; \ int restore_lsx[32][4]; \ - asm volatile ("vst $vr0, %0" :"=m"(restore_lsx[0]) :); \ - asm volatile ("vst $vr1, %0" :"=m"(restore_lsx[1]) :); \ - asm volatile ("vst $vr2, %0" :"=m"(restore_lsx[2]) :); \ - asm volatile ("vst $vr3, %0" :"=m"(restore_lsx[3]) :); \ - asm volatile ("vst $vr4, %0" :"=m"(restore_lsx[4]) :); \ - asm volatile ("vst $vr5, %0" :"=m"(restore_lsx[5]) :); \ - asm volatile ("vst $vr6, %0" :"=m"(restore_lsx[6]) :); \ - asm volatile ("vst $vr7, %0" :"=m"(restore_lsx[7]) :); \ - asm volatile ("vst $vr8, %0" :"=m"(restore_lsx[8]) :); \ - asm volatile ("vst $vr9, %0" :"=m"(restore_lsx[9]) :); \ - asm volatile ("vst $vr10, %0" :"=m"(restore_lsx[10]) :); \ - asm volatile ("vst $vr11, %0" :"=m"(restore_lsx[11]) :); \ - asm volatile ("vst $vr12, %0" :"=m"(restore_lsx[12]) :); \ - asm volatile ("vst $vr13, %0" :"=m"(restore_lsx[13]) :); \ - asm volatile ("vst $vr14, %0" :"=m"(restore_lsx[14]) :); \ - asm volatile ("vst $vr15, %0" :"=m"(restore_lsx[15]) :); \ - asm volatile ("vst $vr16, %0" :"=m"(restore_lsx[16]) :); \ - asm volatile ("vst $vr17, %0" :"=m"(restore_lsx[17]) :); \ - asm volatile ("vst $vr18, %0" :"=m"(restore_lsx[18]) :); \ - asm volatile ("vst $vr19, %0" :"=m"(restore_lsx[19]) :); \ - asm volatile ("vst $vr20, %0" :"=m"(restore_lsx[20]) :); \ - asm volatile ("vst $vr21, %0" :"=m"(restore_lsx[21]) :); \ - asm volatile ("vst $vr22, %0" :"=m"(restore_lsx[22]) :); \ - asm volatile ("vst $vr23, %0" :"=m"(restore_lsx[23]) :); \ - asm volatile ("vst $vr24, %0" :"=m"(restore_lsx[24]) :); \ - asm volatile ("vst $vr25, %0" :"=m"(restore_lsx[25]) :); \ - asm volatile ("vst $vr26, %0" :"=m"(restore_lsx[26]) :); \ - asm volatile ("vst $vr27, %0" :"=m"(restore_lsx[27]) :); \ - asm volatile ("vst $vr28, %0" :"=m"(restore_lsx[28]) :); \ - asm volatile ("vst $vr29, %0" :"=m"(restore_lsx[29]) :); \ - asm volatile ("vst $vr30, %0" :"=m"(restore_lsx[30]) :); \ - asm volatile ("vst $vr31, %0" :"=m"(restore_lsx[31]) :); \ + asm volatile ("vst $vr0, %0" :"=m"(restore_lsx[0])); \ + asm volatile ("vst $vr1, %0" :"=m"(restore_lsx[1])); \ + asm volatile ("vst $vr2, %0" :"=m"(restore_lsx[2])); \ + asm volatile ("vst $vr3, %0" :"=m"(restore_lsx[3])); \ + asm volatile ("vst $vr4, %0" :"=m"(restore_lsx[4])); \ + asm volatile ("vst $vr5, %0" :"=m"(restore_lsx[5])); \ + asm volatile ("vst $vr6, %0" :"=m"(restore_lsx[6])); \ + asm volatile ("vst $vr7, %0" :"=m"(restore_lsx[7])); \ + asm volatile ("vst $vr8, %0" :"=m"(restore_lsx[8])); \ + asm volatile ("vst $vr9, %0" :"=m"(restore_lsx[9])); \ + asm volatile ("vst $vr10, %0" :"=m"(restore_lsx[10])); \ + asm volatile ("vst $vr11, %0" :"=m"(restore_lsx[11])); \ + asm volatile ("vst $vr12, %0" :"=m"(restore_lsx[12])); \ + asm volatile ("vst $vr13, %0" :"=m"(restore_lsx[13])); \ + asm volatile ("vst $vr14, %0" :"=m"(restore_lsx[14])); \ + asm volatile ("vst $vr15, %0" :"=m"(restore_lsx[15])); \ + asm volatile ("vst $vr16, %0" :"=m"(restore_lsx[16])); \ + asm volatile ("vst $vr17, %0" :"=m"(restore_lsx[17])); \ + asm volatile ("vst $vr18, %0" :"=m"(restore_lsx[18])); \ + asm volatile ("vst $vr19, %0" :"=m"(restore_lsx[19])); \ + asm volatile ("vst $vr20, %0" :"=m"(restore_lsx[20])); \ + asm volatile ("vst $vr21, %0" :"=m"(restore_lsx[21])); \ + asm volatile ("vst $vr22, %0" :"=m"(restore_lsx[22])); \ + asm volatile ("vst $vr23, %0" :"=m"(restore_lsx[23])); \ + asm volatile ("vst $vr24, %0" :"=m"(restore_lsx[24])); \ + asm volatile ("vst $vr25, %0" :"=m"(restore_lsx[25])); \ + asm volatile ("vst $vr26, %0" :"=m"(restore_lsx[26])); \ + asm volatile ("vst $vr27, %0" :"=m"(restore_lsx[27])); \ + asm volatile ("vst $vr28, %0" :"=m"(restore_lsx[28])); \ + asm volatile ("vst $vr29, %0" :"=m"(restore_lsx[29])); \ + asm volatile ("vst $vr30, %0" :"=m"(restore_lsx[30])); \ + asm volatile ("vst $vr31, %0" :"=m"(restore_lsx[31])); \ for (int i = 0; i < 32; i++) \ for (int j = 0; j < 4; j++) \ { \ src_lsx[i][j] = 0x01010101 * (i + 1); \ if (src_lsx[i][j] != restore_lsx[i][j]) \ - abort (); \ + { \ + printf ("LSX registers compare failed!\n"); \ + abort (); \ + } \ } #else #define SAVE_REGISTER_LSX() @@ -267,44 +277,48 @@ #define SAVE_REGISTER_LASX() \ int src_lasx[32][8]; \ int restore_lasx[32][8]; \ - asm volatile ("xvst $xr0, %0" :"=m"(restore_lasx[0]) :); \ - asm volatile ("xvst $xr1, %0" :"=m"(restore_lasx[1]) :); \ - asm volatile ("xvst $xr2, %0" :"=m"(restore_lasx[2]) :); \ - asm volatile ("xvst $xr3, %0" :"=m"(restore_lasx[3]) :); \ - asm volatile ("xvst $xr4, %0" :"=m"(restore_lasx[4]) :); \ - asm volatile ("xvst $xr5, %0" :"=m"(restore_lasx[5]) :); \ - asm volatile ("xvst $xr6, %0" :"=m"(restore_lasx[6]) :); \ - asm volatile ("xvst $xr7, %0" :"=m"(restore_lasx[7]) :); \ - asm volatile ("xvst $xr8, %0" :"=m"(restore_lasx[8]) :); \ - asm volatile ("xvst $xr9, %0" :"=m"(restore_lasx[9]) :); \ - asm volatile ("xvst $xr10, %0" :"=m"(restore_lasx[10]) :); \ - asm volatile ("xvst $xr11, %0" :"=m"(restore_lasx[11]) :); \ - asm volatile ("xvst $xr12, %0" :"=m"(restore_lasx[12]) :); \ - asm volatile ("xvst $xr13, %0" :"=m"(restore_lasx[13]) :); \ - asm volatile ("xvst $xr14, %0" :"=m"(restore_lasx[14]) :); \ - asm volatile ("xvst $xr15, %0" :"=m"(restore_lasx[15]) :); \ - asm volatile ("xvst $xr16, %0" :"=m"(restore_lasx[16]) :); \ - asm volatile ("xvst $xr17, %0" :"=m"(restore_lasx[17]) :); \ - asm volatile ("xvst $xr18, %0" :"=m"(restore_lasx[18]) :); \ - asm volatile ("xvst $xr19, %0" :"=m"(restore_lasx[19]) :); \ - asm volatile ("xvst $xr20, %0" :"=m"(restore_lasx[20]) :); \ - asm volatile ("xvst $xr21, %0" :"=m"(restore_lasx[21]) :); \ - asm volatile ("xvst $xr22, %0" :"=m"(restore_lasx[22]) :); \ - asm volatile ("xvst $xr23, %0" :"=m"(restore_lasx[23]) :); \ - asm volatile ("xvst $xr24, %0" :"=m"(restore_lasx[24]) :); \ - asm volatile ("xvst $xr25, %0" :"=m"(restore_lasx[25]) :); \ - asm volatile ("xvst $xr26, %0" :"=m"(restore_lasx[26]) :); \ - asm volatile ("xvst $xr27, %0" :"=m"(restore_lasx[27]) :); \ - asm volatile ("xvst $xr28, %0" :"=m"(restore_lasx[28]) :); \ - asm volatile ("xvst $xr29, %0" :"=m"(restore_lasx[29]) :); \ - asm volatile ("xvst $xr30, %0" :"=m"(restore_lasx[30]) :); \ - asm volatile ("xvst $xr31, %0" :"=m"(restore_lasx[31]) :); \ + asm volatile ("xvst $xr0, %0" :"=m"(restore_lasx[0])); \ + asm volatile ("xvst $xr1, %0" :"=m"(restore_lasx[1])); \ + asm volatile ("xvst $xr2, %0" :"=m"(restore_lasx[2])); \ + asm volatile ("xvst $xr3, %0" :"=m"(restore_lasx[3])); \ + asm volatile ("xvst $xr4, %0" :"=m"(restore_lasx[4])); \ + asm volatile ("xvst $xr5, %0" :"=m"(restore_lasx[5])); \ + asm volatile ("xvst $xr6, %0" :"=m"(restore_lasx[6])); \ + asm volatile ("xvst $xr7, %0" :"=m"(restore_lasx[7])); \ + asm volatile ("xvst $xr8, %0" :"=m"(restore_lasx[8])); \ + asm volatile ("xvst $xr9, %0" :"=m"(restore_lasx[9])); \ + asm volatile ("xvst $xr10, %0" :"=m"(restore_lasx[10])); \ + asm volatile ("xvst $xr11, %0" :"=m"(restore_lasx[11])); \ + asm volatile ("xvst $xr12, %0" :"=m"(restore_lasx[12])); \ + asm volatile ("xvst $xr13, %0" :"=m"(restore_lasx[13])); \ + asm volatile ("xvst $xr14, %0" :"=m"(restore_lasx[14])); \ + asm volatile ("xvst $xr15, %0" :"=m"(restore_lasx[15])); \ + asm volatile ("xvst $xr16, %0" :"=m"(restore_lasx[16])); \ + asm volatile ("xvst $xr17, %0" :"=m"(restore_lasx[17])); \ + asm volatile ("xvst $xr18, %0" :"=m"(restore_lasx[18])); \ + asm volatile ("xvst $xr19, %0" :"=m"(restore_lasx[19])); \ + asm volatile ("xvst $xr20, %0" :"=m"(restore_lasx[20])); \ + asm volatile ("xvst $xr21, %0" :"=m"(restore_lasx[21])); \ + asm volatile ("xvst $xr22, %0" :"=m"(restore_lasx[22])); \ + asm volatile ("xvst $xr23, %0" :"=m"(restore_lasx[23])); \ + asm volatile ("xvst $xr24, %0" :"=m"(restore_lasx[24])); \ + asm volatile ("xvst $xr25, %0" :"=m"(restore_lasx[25])); \ + asm volatile ("xvst $xr26, %0" :"=m"(restore_lasx[26])); \ + asm volatile ("xvst $xr27, %0" :"=m"(restore_lasx[27])); \ + asm volatile ("xvst $xr28, %0" :"=m"(restore_lasx[28])); \ + asm volatile ("xvst $xr29, %0" :"=m"(restore_lasx[29])); \ + asm volatile ("xvst $xr30, %0" :"=m"(restore_lasx[30])); \ + asm volatile ("xvst $xr31, %0" :"=m"(restore_lasx[31])); \ + /* memcmp_lasx/strlen_lasx corrupts LSX/LASX registers, */ \ for (int i = 0; i < 32; i++) \ for (int j = 0; j < 8; j++) \ { \ src_lasx[i][j] = 0x01010101 * (i + 1); \ if (src_lasx[i][j] != restore_lasx[i][j]) \ - abort (); \ + { \ + printf ("LASX registers compare failed!\n"); \ + abort (); \ + } \ } #else #define SAVE_REGISTER_LASX() @@ -314,12 +328,7 @@ uint64_t src; \ double src_float[32]; \ uint64_t src_fcc[8]; \ - for (int i = 0; i < 32; i++) \ - src_float[i] = i + 1; \ - \ SAVE_REGISTER (src); \ - LOAD_REGISTER_FCSR (); \ - SAVE_REGISTER_FCC(src_fcc) \ \ if (hwcap & HWCAP_LOONGARCH_LASX) \ { \ @@ -332,19 +341,34 @@ else \ { \ LOAD_REGISTER_FLOAT (); \ - } + } \ + \ + /* LOAD_REGISTER_FLOAT convert int double may change fcsr. */ \ + LOAD_REGISTER_FCSR (); \ + SAVE_REGISTER_FCC (src_fcc) + #define AFTER_TLSDESC_CALL() \ uint64_t restore; \ - uint64_t src_fcsr = 0x01010101; \ - uint64_t restore_fcsr; \ uint64_t restore_fcc[8]; \ + \ SAVE_REGISTER (restore); \ + if (src != restore) \ + { \ + printf ("General registers compare failed!\n"); \ + abort (); \ + } \ + \ SAVE_REGISTER_FCSR (); \ - SAVE_REGISTER_FCC(restore_fcc) \ \ - /* memcmp_lasx/strlen_lasx corrupts LSX/LASX registers, */ \ - /* compare LSX/LASX registers first. */ \ + SAVE_REGISTER_FCC (restore_fcc) \ + for (int i = 0; i < 8; i++) \ + if (src_fcc[i] != restore_fcc[i]) \ + { \ + printf ("FCC registers compare failed!\n"); \ + abort (); \ + } \ + \ if (hwcap & HWCAP_LOONGARCH_LASX) \ { \ SAVE_REGISTER_LASX (); \ @@ -355,22 +379,8 @@ } \ else \ { \ - double restore_float[32]; \ SAVE_REGISTER_FLOAT (); \ - \ - for (int i = 0; i < 32; i++) \ - if (src_float[i] != restore_float[i]) \ - abort (); \ } \ - \ - if (src_fcsr != restore_fcsr) \ - abort (); \ - \ - if (memcmp (src_fcc, restore_fcc, sizeof (src_fcc)) != 0) \ - abort (); \ - \ - if (src != restore) \ - abort (); #endif /* #ifdef __loongarch_soft_float */ diff --git a/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/sysdeps/m68k/coldfire/fpu/libm-test-ulps index ad3649f890..1b25a70e3f 100644 --- a/sysdeps/m68k/coldfire/fpu/libm-test-ulps +++ b/sysdeps/m68k/coldfire/fpu/libm-test-ulps @@ -134,6 +134,9 @@ float: 2 Function: "log1p": float: 1 +Function: "logp1": +float: 1 + Function: "sincos": double: 1 float: 1 diff --git a/sysdeps/mach/configure b/sysdeps/mach/configure index f15160d0d8..5779efd1ef 100644 --- a/sysdeps/mach/configure +++ b/sysdeps/mach/configure @@ -11,18 +11,20 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO" then : eval "$3=yes" -else $as_nop - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -40,8 +42,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_MIG+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$MIG"; then +else case e in #( + e) if test -n "$MIG"; then ac_cv_prog_MIG="$MIG" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -63,7 +65,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi MIG=$ac_cv_prog_MIG if test -n "$MIG"; then @@ -85,8 +88,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_MIG+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_MIG"; then +else case e in #( + e) if test -n "$ac_ct_MIG"; then ac_cv_prog_ac_ct_MIG="$ac_ct_MIG" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -108,7 +111,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_MIG=$ac_cv_prog_ac_ct_MIG if test -n "$ac_ct_MIG"; then @@ -153,16 +157,18 @@ ac_fn_c_check_header_preproc "$LINENO" "mach/mach_types.h" "ac_cv_header_mach_ma if test "x$ac_cv_header_mach_mach_types_h" = xyes then : -else $as_nop - as_fn_error $? "cannot find Mach headers" "$LINENO" 5 +else case e in #( + e) as_fn_error $? "cannot find Mach headers" "$LINENO" 5 ;; +esac fi ac_fn_c_check_header_preproc "$LINENO" "mach/mach_types.defs" "ac_cv_header_mach_mach_types_defs" if test "x$ac_cv_header_mach_mach_types_defs" = xyes then : -else $as_nop - as_fn_error $? "cannot find Mach .defs files" "$LINENO" 5 +else case e in #( + e) as_fn_error $? "cannot find Mach .defs files" "$LINENO" 5 ;; +esac fi @@ -173,8 +179,8 @@ printf %s "checking for task_t in mach/mach_types.h... " >&6; } if test ${libc_cv_mach_task_t+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mach/mach_types.h> int @@ -188,10 +194,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mach_task_t=task_t -else $as_nop - libc_cv_mach_task_t=task_port_t +else case e in #( + e) libc_cv_mach_task_t=task_port_t ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_task_t" >&5 printf "%s\n" "$libc_cv_mach_task_t" >&6; } @@ -203,8 +211,8 @@ printf %s "checking for thread_t in mach/mach_types.h... " >&6; } if test ${libc_cv_mach_thread_t+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mach/mach_types.h> int @@ -218,10 +226,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mach_thread_t=thread_t -else $as_nop - libc_cv_mach_thread_t=thread_port_t +else case e in #( + e) libc_cv_mach_thread_t=thread_port_t ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_thread_t" >&5 printf "%s\n" "$libc_cv_mach_thread_t" >&6; } @@ -234,8 +244,8 @@ printf %s "checking for creation_time in task_basic_info... " >&6; } if test ${libc_cv_mach_task_creation_time+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mach/task_info.h> int @@ -252,10 +262,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mach_task_creation_time=yes -else $as_nop - libc_cv_mach_task_creation_time=no +else case e in #( + e) libc_cv_mach_task_creation_time=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_task_creation_time" >&5 printf "%s\n" "$libc_cv_mach_task_creation_time" >&6; } @@ -269,7 +281,7 @@ for ifc in mach mach4 gnumach \ processor processor_set task task_notify thread_act vm_map \ memory_object memory_object_default i386/mach_i386 x86_64/mach_i386 \ ; do - as_ac_Header=`printf "%s\n" "ac_cv_header_mach/${ifc}.defs" | $as_tr_sh` + as_ac_Header=`printf "%s\n" "ac_cv_header_mach/${ifc}.defs" | sed "$as_sed_sh"` ac_fn_c_check_header_preproc "$LINENO" "mach/${ifc}.defs" "$as_ac_Header" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : @@ -281,14 +293,14 @@ if test "x$mach_interface_list" = x; then as_fn_error $? "what manner of Mach is this?" "$LINENO" 5 fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -302,13 +314,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -317,14 +330,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -332,35 +345,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP -fi - + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -374,13 +376,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -389,14 +392,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -404,45 +407,48 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for host_page_size in mach_host.defs" >&5 printf %s "checking for host_page_size in mach_host.defs... " >&6; } if test ${libc_cv_mach_host_page_size+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mach/mach_host.defs> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "host_page_size" >/dev/null 2>&1 + $EGREP_TRADITIONAL "host_page_size" >/dev/null 2>&1 then : libc_cv_mach_host_page_size=yes -else $as_nop - libc_cv_mach_host_page_size=no +else case e in #( + e) libc_cv_mach_host_page_size=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_host_page_size" >&5 printf "%s\n" "$libc_cv_mach_host_page_size" >&6; } @@ -455,13 +461,14 @@ ac_fn_c_check_header_preproc "$LINENO" "mach/machine/ndr_def.h" "ac_cv_header_ma if test "x$ac_cv_header_mach_machine_ndr_def_h" = xyes then : DEFINES="$DEFINES -DNDR_DEF_HEADER='<mach/machine/ndr_def.h>'" -else $as_nop - ac_fn_c_check_header_preproc "$LINENO" "machine/ndr_def.h" "ac_cv_header_machine_ndr_def_h" +else case e in #( + e) ac_fn_c_check_header_preproc "$LINENO" "machine/ndr_def.h" "ac_cv_header_machine_ndr_def_h" if test "x$ac_cv_header_machine_ndr_def_h" = xyes then : DEFINES="$DEFINES -DNDR_DEF_HEADER='<machine/ndr_def.h>'" fi - + ;; +esac fi @@ -470,21 +477,23 @@ printf %s "checking for i386_io_perm_modify in mach_i386.defs... " >&6; } if test ${libc_cv_mach_i386_ioports+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mach/machine/mach_i386.defs> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "i386_io_perm_modify" >/dev/null 2>&1 + $EGREP_TRADITIONAL "i386_io_perm_modify" >/dev/null 2>&1 then : libc_cv_mach_i386_ioports=yes -else $as_nop - libc_cv_mach_i386_ioports=no +else case e in #( + e) libc_cv_mach_i386_ioports=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_i386_ioports" >&5 printf "%s\n" "$libc_cv_mach_i386_ioports" >&6; } @@ -498,21 +507,23 @@ printf %s "checking for i386_set_gdt in mach_i386.defs... " >&6; } if test ${libc_cv_mach_i386_gdt+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mach/machine/mach_i386.defs> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "i386_set_gdt" >/dev/null 2>&1 + $EGREP_TRADITIONAL "i386_set_gdt" >/dev/null 2>&1 then : libc_cv_mach_i386_gdt=yes -else $as_nop - libc_cv_mach_i386_gdt=no +else case e in #( + e) libc_cv_mach_i386_gdt=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_i386_gdt" >&5 printf "%s\n" "$libc_cv_mach_i386_gdt" >&6; } diff --git a/sysdeps/mach/hurd/configure b/sysdeps/mach/hurd/configure index cd5af1cd20..6ca3bab511 100644 --- a/sysdeps/mach/hurd/configure +++ b/sysdeps/mach/hurd/configure @@ -15,8 +15,8 @@ printf %s "checking Hurd header version... " >&6; } if test ${libc_cv_hurd_version+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <hurd/version.h> int @@ -34,10 +34,12 @@ _ACEOF if ac_fn_c_try_cpp "$LINENO" then : libc_cv_hurd_version=ok -else $as_nop - libc_cv_hurd_version=bad +else case e in #( + e) libc_cv_hurd_version=bad ;; +esac fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hurd_version" >&5 printf "%s\n" "$libc_cv_hurd_version" >&6; } @@ -47,15 +49,14 @@ fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -69,13 +70,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -84,14 +86,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -99,35 +101,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -141,13 +132,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -156,14 +148,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -171,45 +163,48 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for proc_getchildren_rusage in process.defs" >&5 printf %s "checking for proc_getchildren_rusage in process.defs... " >&6; } if test ${libc_cv_hurd_rpc_proc_getchildren_rusage+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <hurd/process.defs> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "proc_getchildren_rusage" >/dev/null 2>&1 + $EGREP_TRADITIONAL "proc_getchildren_rusage" >/dev/null 2>&1 then : libc_cv_hurd_rpc_proc_getchildren_rusage=yes -else $as_nop - libc_cv_hurd_rpc_proc_getchildren_rusage=no +else case e in #( + e) libc_cv_hurd_rpc_proc_getchildren_rusage=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hurd_rpc_proc_getchildren_rusage" >&5 printf "%s\n" "$libc_cv_hurd_rpc_proc_getchildren_rusage" >&6; } diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index 113daa4b44..18113773bb 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1181,6 +1181,30 @@ GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F GLIBC_2.35 hypot F GLIBC_2.35 hypotf F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1189,3 +1213,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/mach/hurd/x86_64/libm.abilist b/sysdeps/mach/hurd/x86_64/libm.abilist index 0c7ffd4e3f..d4c087a471 100644 --- a/sysdeps/mach/hurd/x86_64/libm.abilist +++ b/sysdeps/mach/hurd/x86_64/libm.abilist @@ -1038,6 +1038,30 @@ GLIBC_2.38 ynf32x F GLIBC_2.38 ynf64 F GLIBC_2.38 ynf64x F GLIBC_2.38 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1046,3 +1070,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index faa3184913..d3666eb7d4 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -231,6 +231,10 @@ Function: "log2": double: 2 float: 1 +Function: "logp1": +double: 1 +float: 1 + Function: "pow": float: 1 diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure index 1e8c6711e6..60dbd947e2 100644 --- a/sysdeps/mips/configure +++ b/sysdeps/mips/configure @@ -6,14 +6,14 @@ printf "%s\n" "#define HIDDEN_VAR_NEEDS_DYNAMIC_RELOC 1" >>confdefs.h -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -27,13 +27,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -42,14 +43,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -57,35 +58,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -99,13 +89,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -114,14 +105,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -129,32 +120,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the 2008 NaN encoding" >&5 printf %s "checking whether the compiler is using the 2008 NaN encoding... " >&6; } if test ${libc_cv_mips_nan2008+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ dnl #ifdef __mips_nan2008 @@ -162,14 +154,16 @@ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_mips_nan2008=yes -else $as_nop - libc_cv_mips_nan2008=no +else case e in #( + e) libc_cv_mips_nan2008=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mips_nan2008" >&5 printf "%s\n" "$libc_cv_mips_nan2008" >&6; } diff --git a/sysdeps/mips/dl-procinfo.c b/sysdeps/mips/dl-procinfo.c index 0b1dfeea2d..6a1aaefef2 100644 --- a/sysdeps/mips/dl-procinfo.c +++ b/sysdeps/mips/dl-procinfo.c @@ -16,47 +16,12 @@ License along with the GNU C Library. If not, see <https://www.gnu.org/licenses/>. */ -/* This information must be kept in sync with the _DL_PLATFORM_COUNT - definitions in procinfo.h. - - If anything should be added here check whether the size of each string - is still ok with the given array size. - - All the #ifdefs in the definitions are quite irritating but - necessary if we want to avoid duplicating the information. There - are three different modes: - - - PROCINFO_DECL is defined. This means we are only interested in - declarations. - - - PROCINFO_DECL is not defined: - - + if SHARED is defined the file is included in an array - initializer. The .element = { ... } syntax is needed. - - + if SHARED is not defined a normal array initialization is - needed. - */ - -#ifndef PROCINFO_CLASS -#define PROCINFO_CLASS -#endif - -#if !defined PROCINFO_DECL && defined SHARED - ._dl_mips_platforms -#else -PROCINFO_CLASS const char _dl_mips_platforms[4][11] -#endif -#ifndef PROCINFO_DECL -= { - "loongson2e", "loongson2f", "octeon", "octeon2" - } -#endif -#if !defined SHARED || defined PROCINFO_DECL -; -#else -, -#endif - +/* Note: + When compiling elf/ldconfig.c, PROCINFO_CLASS is defined to static. + This dl-procinfo.c is included in sysdeps/generic/ldsodefs.h. + Afterwards, if not yet defined, PROCINFO_CLASS is defined to EXTERN + just before dl-vdso-setup.c is included. A "static" _dl_vdso_xyz + function prototype would lead to gcc warnings/errors: defined but + not used. */ #undef PROCINFO_DECL #undef PROCINFO_CLASS diff --git a/sysdeps/mips/dl-procinfo.h b/sysdeps/mips/dl-procinfo.h index 6655e68f54..af2616e1db 100644 --- a/sysdeps/mips/dl-procinfo.h +++ b/sysdeps/mips/dl-procinfo.h @@ -21,36 +21,12 @@ #include <ldsodefs.h> - -/* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (-1ULL) - -#define _DL_PLATFORMS_COUNT 4 - -static inline int -__attribute__ ((unused, always_inline)) -_dl_string_platform (const char *str) -{ - int i; - - if (str != NULL) - for (i = 0; i < _DL_PLATFORMS_COUNT; ++i) - { - if (strcmp (str, GLRO(dl_mips_platforms)[i]) == 0) - return i; - } - return -1; -}; - /* We cannot provide a general printing function. */ #define _dl_procinfo(type, word) -1 /* There are no hardware capabilities defined. */ #define _dl_hwcap_string(idx) "" -/* By default there is no important hardware capability. */ -#define HWCAP_IMPORTANT (0) - /* We don't have any hardware capabilities. */ #define _DL_HWCAP_COUNT 0 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 5720e73288..1c27b6615b 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -777,6 +777,22 @@ Function: "exp10_upward": double: 2 float: 1 +Function: "exp10m1": +double: 2 +float: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 + +Function: "exp10m1_upward": +double: 3 +float: 1 + Function: "exp2": double: 1 float: 1 @@ -793,6 +809,22 @@ Function: "exp2_upward": double: 1 float: 1 +Function: "exp2m1": +double: 1 +float: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 + +Function: "exp2m1_upward": +double: 1 +float: 1 + Function: "exp_downward": double: 1 float: 1 @@ -933,6 +965,22 @@ Function: "log10_upward": double: 2 float: 2 +Function: "log10p1": +double: 1 +float: 1 + +Function: "log10p1_downward": +double: 2 +float: 1 + +Function: "log10p1_towardzero": +double: 2 +float: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 + Function: "log1p": double: 1 float: 1 @@ -965,6 +1013,26 @@ Function: "log2_upward": double: 3 float: 3 +Function: "log2p1": +double: 1 +float: 1 +ldouble: 1 + +Function: "log2p1_downward": +double: 2 +float: 2 +ldouble: 2 + +Function: "log2p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log2p1_upward": +double: 1 +float: 2 +ldouble: 1 + Function: "log_downward": float: 2 @@ -975,6 +1043,22 @@ Function: "log_upward": double: 1 float: 2 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 933aba4735..902551b448 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -976,6 +976,26 @@ double: 2 float: 1 ldouble: 3 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 3 + Function: "exp2": double: 1 float: 1 @@ -996,6 +1016,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 2 + Function: "exp_downward": double: 1 float: 1 @@ -1170,6 +1210,26 @@ double: 2 float: 2 ldouble: 1 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1210,6 +1270,26 @@ double: 3 float: 3 ldouble: 1 +Function: "log2p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log2p1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "log2p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log2p1_upward": +double: 1 +float: 2 +ldouble: 2 + Function: "log_downward": float: 2 ldouble: 1 @@ -1223,6 +1303,26 @@ double: 1 float: 2 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure index 2fb230cbaa..d25684d5ad 100644 --- a/sysdeps/nios2/configure +++ b/sysdeps/nios2/configure @@ -4,14 +4,14 @@ # Nios II big endian is not yet supported. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -25,13 +25,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -40,14 +41,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -55,35 +56,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -97,13 +87,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -112,14 +103,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -127,32 +118,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for big endian" >&5 printf %s "checking for big endian... " >&6; } if test ${libc_cv_nios2_be+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __nios2_big_endian__ yes @@ -160,14 +152,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_nios2_be=yes -else $as_nop - libc_cv_nios2_be=no +else case e in #( + e) libc_cv_nios2_be=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_nios2_be" >&5 printf "%s\n" "$libc_cv_nios2_be" >&6; } diff --git a/sysdeps/nios2/libm-test-ulps b/sysdeps/nios2/libm-test-ulps index 2cbef489bb..c8d1a722f7 100644 --- a/sysdeps/nios2/libm-test-ulps +++ b/sysdeps/nios2/libm-test-ulps @@ -237,6 +237,10 @@ Function: "log2": double: 2 float: 1 +Function: "logp1": +double: 1 +float: 1 + Function: "pow": double: 1 float: 3 diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 948ec01cdc..59b9f072f5 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -955,6 +955,22 @@ double: 1 Function: "log2_upward": double: 1 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index 785bae70d0..726855faaa 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -953,6 +953,22 @@ double: 1 Function: "log2_upward": double: 1 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_downward": +double: 2 +float: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 + +Function: "logp1_upward": +double: 2 +float: 2 + Function: "pow": double: 1 diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h index b36697ba44..1e746a7ab4 100644 --- a/sysdeps/powerpc/dl-procinfo.h +++ b/sysdeps/powerpc/dl-procinfo.h @@ -34,16 +34,8 @@ /* AT_HWCAP4 feature strings follow the AT_HWCAP3 feature strings. */ #define _DL_HWCAP4_OFFSET (_DL_HWCAP3_OFFSET + _DL_HWCAP_SIZE) -/* These bits influence library search. */ -#define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ - + PPC_FEATURE_HAS_DFP) - -#define _DL_PLATFORMS_COUNT 17 #define _DL_FIRST_PLATFORM 32 -/* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (((1ULL << _DL_PLATFORMS_COUNT) - 1) \ - << _DL_FIRST_PLATFORM) /* Platform bits (relative to _DL_FIRST_PLATFORM). */ #define PPC_PLATFORM_POWER4 0 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 78e9a9ad6e..c6292a695b 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1184,6 +1184,30 @@ float: 1 float128: 3 ldouble: 4 +Function: "exp10m1": +double: 2 +float: 1 +float128: 1 +ldouble: 2 + +Function: "exp10m1_downward": +double: 1 +float: 1 +float128: 3 +ldouble: 9 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +float128: 3 +ldouble: 9 + +Function: "exp10m1_upward": +double: 3 +float: 1 +float128: 3 +ldouble: 4 + Function: "exp2": double: 1 float128: 1 @@ -1205,6 +1229,30 @@ float: 1 float128: 2 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +float128: 1 +ldouble: 2 + +Function: "exp2m1_downward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +float128: 2 +ldouble: 3 + +Function: "exp2m1_upward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + Function: "exp_downward": double: 1 float: 1 @@ -1458,6 +1506,30 @@ float: 2 float128: 1 ldouble: 2 +Function: "log10p1": +double: 1 +float: 1 +float128: 3 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 4 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +float128: 2 +ldouble: 4 + +Function: "log10p1_upward": +double: 2 +float: 1 +float128: 3 +ldouble: 4 + Function: "log1p": double: 1 float: 1 @@ -1509,7 +1581,7 @@ ldouble: 4 Function: "log2p1": double: 1 float: 1 -float128: 2 +float128: 3 ldouble: 2 Function: "log2p1_downward": @@ -1546,6 +1618,30 @@ float: 2 float128: 1 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "logp1_downward": +double: 1 +float: 2 +float128: 3 +ldouble: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 +float128: 3 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +float128: 2 +ldouble: 3 + Function: "mul_downward_ldouble": double: 1 float: 1 diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile index 96657c9676..71ee2b67b8 100644 --- a/sysdeps/powerpc/nofpu/Makefile +++ b/sysdeps/powerpc/nofpu/Makefile @@ -54,5 +54,6 @@ CFLAGS-s_fmaximum_magl.c += -fno-builtin-fabsl CFLAGS-s_fmaximum_mag_numl.c += -fno-builtin-fabsl CFLAGS-s_fminimum_magl.c += -fno-builtin-fabsl CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fabsl +CFLAGS-s_log10p1l.c += -fno-builtin-fabsl CFLAGS-s_log2p1l.c += -fno-builtin-fabsl endif diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 35a1e7b7fd..94d737a400 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1260,6 +1260,26 @@ double: 1 float: 2 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 2 + +Function: "logp1_downward": +double: 2 +float: 2 +ldouble: 2 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "mul_downward_ldouble": double: 1 float: 1 diff --git a/sysdeps/powerpc/powerpc32/fpu/configure b/sysdeps/powerpc/powerpc32/fpu/configure index da6fbb11bf..4d285c7617 100644 --- a/sysdeps/powerpc/powerpc32/fpu/configure +++ b/sysdeps/powerpc/powerpc32/fpu/configure @@ -7,8 +7,8 @@ printf %s "checking for fcfid use... " >&6; } if test ${libc_cv_ppc_fcfid+y} then : printf %s "(cached) " >&6 -else $as_nop - echo 'double foo (int x) { return (double) x; }' > conftest.c +else case e in #( + e) echo 'double foo (int x) { return (double) x; }' > conftest.c libc_cv_ppc_fcfid=no if { ac_try='${CC-cc} -S $CFLAGS conftest.c -o conftest.s 1>&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 @@ -20,7 +20,8 @@ if { ac_try='${CC-cc} -S $CFLAGS conftest.c -o conftest.s 1>&5' libc_cv_ppc_fcfid=yes fi fi -rm -rf conftest* +rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc_fcfid" >&5 printf "%s\n" "$libc_cv_ppc_fcfid" >&6; } @@ -35,8 +36,8 @@ printf %s "checking for fctidz use... " >&6; } if test ${libc_cv_ppc_fctidz+y} then : printf %s "(cached) " >&6 -else $as_nop - echo 'long long int foo (double x) { return (long long int) x; }' > conftest.c +else case e in #( + e) echo 'long long int foo (double x) { return (long long int) x; }' > conftest.c libc_cv_ppc_fctidz=no if { ac_try='${CC-cc} -S $CFLAGS conftest.c -o conftest.s 1>&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 @@ -48,7 +49,8 @@ if { ac_try='${CC-cc} -S $CFLAGS conftest.c -o conftest.s 1>&5' libc_cv_ppc_fctidz=yes fi fi -rm -rf conftest* +rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc_fctidz" >&5 printf "%s\n" "$libc_cv_ppc_fctidz" >&6; } diff --git a/sysdeps/powerpc/powerpc64/configure b/sysdeps/powerpc/powerpc64/configure index 9df2ceaa1f..3e3a83505a 100644 --- a/sysdeps/powerpc/powerpc64/configure +++ b/sysdeps/powerpc/powerpc64/configure @@ -9,8 +9,8 @@ printf %s "checking for support for overlapping .opd entries... " >&6; } if test ${libc_cv_overlapping_opd+y} then : printf %s "(cached) " >&6 -else $as_nop - libc_cv_overlapping_opd=no +else case e in #( + e) libc_cv_overlapping_opd=no echo 'void foo (void) {}' > conftest.c if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $libc_cv_cc_submachine -S conftest.c -o conftest.s 1>&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 @@ -27,7 +27,8 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $libc_cv_cc_submachine -S conftest.c -o fi fi rm -f conftest.c conftest.s - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_overlapping_opd" >&5 printf "%s\n" "$libc_cv_overlapping_opd" >&6; } @@ -45,8 +46,8 @@ printf %s "checking if the compiler supports @notoc... " >&6; } if test ${libc_cv_ppc64_notoc+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF int bar (void); int foo (void) { return bar () + 1; } EOF @@ -66,7 +67,8 @@ EOF then libc_cv_ppc64_notoc=yes fi - rm -rf conftest.* + rm -rf conftest.* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_notoc" >&5 printf "%s\n" "$libc_cv_ppc64_notoc" >&6; } diff --git a/sysdeps/powerpc/powerpc64/le/configure b/sysdeps/powerpc/powerpc64/le/configure index 3ec457b10b..7092f61bd4 100644 --- a/sysdeps/powerpc/powerpc64/le/configure +++ b/sysdeps/powerpc/powerpc64/le/configure @@ -9,8 +9,8 @@ printf %s "checking if the target machine is at least POWER8... " >&6; } if test ${libc_cv_target_power8_ok+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -22,10 +22,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_target_power8_ok=yes -else $as_nop - libc_cv_target_power8_ok=no +else case e in #( + e) libc_cv_target_power8_ok=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_target_power8_ok" >&5 printf "%s\n" "$libc_cv_target_power8_ok" >&6; } @@ -42,8 +44,8 @@ printf %s "checking if the compiler supports -mno-gnu-attribute... " >&6; } if test ${libc_cv_no_gnu_attr_ok+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -52,10 +54,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_no_gnu_attr_ok=yes -else $as_nop - libc_cv_no_gnu_attr_ok=no +else case e in #( + e) libc_cv_no_gnu_attr_ok=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_no_gnu_attr_ok" >&5 printf "%s\n" "$libc_cv_no_gnu_attr_ok" >&6; } @@ -70,8 +74,8 @@ printf %s "checking if $CC compiles signbit with 128-bit floating point type... if test ${libc_cv_compiler_powerpc64le_ice+y} then : printf %s "(cached) " >&6 -else $as_nop - save_CFLAGS="$CFLAGS" +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mabi=ieeelongdouble -Wno-psabi" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -86,11 +90,13 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_compiler_powerpc64le_ice=yes -else $as_nop - libc_cv_compiler_powerpc64le_ice=no +else case e in #( + e) libc_cv_compiler_powerpc64le_ice=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -CFLAGS="$save_CFLAGS" +CFLAGS="$save_CFLAGS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_powerpc64le_ice" >&5 printf "%s\n" "$libc_cv_compiler_powerpc64le_ice" >&6; } @@ -104,8 +110,8 @@ printf %s "checking if $CC compiles with -mabi=ieeelongdouble and -mlong-double- if test ${libc_cv_compiler_powerpc64le_ldbl128_mabi+y} then : printf %s "(cached) " >&6 -else $as_nop - save_CFLAGS="$CFLAGS" +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mabi=ieeelongdouble -mlong-double-128" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -116,11 +122,13 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_compiler_powerpc64le_ldbl128_mabi=yes -else $as_nop - libc_cv_compiler_powerpc64le_ldbl128_mabi=no +else case e in #( + e) libc_cv_compiler_powerpc64le_ldbl128_mabi=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -CFLAGS="$save_CFLAGS" +CFLAGS="$save_CFLAGS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_powerpc64le_ldbl128_mabi" >&5 printf "%s\n" "$libc_cv_compiler_powerpc64le_ldbl128_mabi" >&6; } @@ -138,8 +146,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OBJCOPY+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$OBJCOPY"; then +else case e in #( + e) if test -n "$OBJCOPY"; then ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -161,7 +169,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi OBJCOPY=$ac_cv_prog_OBJCOPY if test -n "$OBJCOPY"; then diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile index b59c4b21ba..6d74f09912 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile @@ -91,7 +91,8 @@ gen-libm-f128-ifunc-routines = \ e_expf128 e_fmodf128 e_hypotf128 e_j0f128 e_j1f128 e_jnf128 \ e_lgammaf128_r e_logf128 e_log10f128 e_powf128 e_remainderf128 \ e_sinhf128 e_sqrtf128 e_gammaf128_r e_ilogbf128 k_tanf128 s_asinhf128 \ - s_atanf128 s_cbrtf128 s_ceilf128 s_cosf128 s_erff128 s_expm1f128 \ + s_atanf128 s_cbrtf128 s_ceilf128 s_cosf128 s_erff128 s_exp10m1f128 \ + s_exp2m1f128 s_expm1f128 \ s_fabsf128 s_floorf128 s_log1pf128 s_logbf128 \ s_rintf128 s_scalblnf128 s_sinf128 s_tanf128 \ s_tanhf128 s_truncf128 s_remquof128 e_log2f128 \ @@ -253,7 +254,9 @@ CFLAGS-s_erff128-ifunc.c += -fno-builtin-erff64x CFLAGS-s_erfcf128-ifunc.c += -fno-builtin-erfcf64x CFLAGS-e_expf128-ifunc.c += -fno-builtin-expf64x CFLAGS-w_exp10f128-ifunc.c += -fno-builtin-exp10f64x +CFLAGS-s_exp10m1f128-ifunc.c += -fno-builtin-exp10m1f64x CFLAGS-e_exp2f128-ifunc.c += -fno-builtin-exp2f64x +CFLAGS-s_exp2m1f128-ifunc.c += -fno-builtin-exp2m1f64x CFLAGS-s_expm1f128-ifunc.c += -fno-builtin-expm1f64x CFLAGS-s_fabsf128-ifunc.c += -fno-builtin-fabsf64x CFLAGS-s_faddf128-ifunc.c += -fno-builtin-f32addf64x @@ -295,7 +298,7 @@ CFLAGS-s_llrintf128-ifunc.c += -fno-builtin-llrintf64x CFLAGS-s_llroundf128-ifunc.c += -fno-builtin-llroundf64x CFLAGS-e_logf128-ifunc.c += -fno-builtin-logf64x CFLAGS-w_log10f128-ifunc.c += -fno-builtin-log10f64x -CFLAGS-w_log1pf128-ifunc.c += -fno-builtin-log1pf64x +CFLAGS-w_log1pf128-ifunc.c += -fno-builtin-log1pf64x -fno-builtin-logp1f64x CFLAGS-e_log2f128-ifunc.c += -fno-builtin-log2f64x CFLAGS-s_logbf128-ifunc.c += -fno-builtin-logbf64x CFLAGS-s_lrintf128-ifunc.c += -fno-builtin-lrintf64x diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure index 130e3bebc7..61f0c713d7 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure @@ -8,8 +8,8 @@ printf %s "checking if the compiler supports -mcpu=power10... " >&6; } if test ${libc_cv_mcpu_power10+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18,10 +18,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mcpu_power10=yes -else $as_nop - libc_cv_mcpu_power10=no +else case e in #( + e) libc_cv_mcpu_power10=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mcpu_power10" >&5 printf "%s\n" "$libc_cv_mcpu_power10" >&6; } diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-redirects.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-redirects.h index 40df525ea5..155aabc4b0 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-redirects.h +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-redirects.h @@ -33,6 +33,10 @@ extern __typeof (ldexpf128) F128_SFX_APPEND (__ldexpf128); #define __ldexpf128 F128_SFX_APPEND (__ldexpf128) +extern __typeof (log1pf128) F128_SFX_APPEND (__w_log1pf128); + +#define __w_log1pf128 F128_SFX_APPEND (__w_log1pf128) + /* libm_hidden_proto is disabled by the time we reach here. Ensure some internally called functions are still called without going through the PLT. Note, this code is only diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h index ce337e4257..f235f824ae 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h @@ -138,7 +138,9 @@ /* Ensure the wrapper functions get exposed via IFUNC, not the wrappee (e.g __w_log1pf128_power8 instead of __log1pf128_power8. */ -#define DECL_ALIAS_w_log1p(x) MAKE_IFUNCP_WRAP_R(w_,x,) +#define DECL_ALIAS_w_log1p(x) \ + MAKE_IFUNCP_WRAP_R (w_, x, ) \ + MAKE_IFUNCP_WRAP_R (w_, logp1, ) #define DECL_ALIAS_w_scalbln(x) MAKE_IFUNCP_WRAP_R(w_,x,) /* These are declared in their respective jX objects. */ diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h index 22038bb267..173cfca47b 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h @@ -59,6 +59,8 @@ F128_REDIR (__cosf128) F128_REDIR (__erfcf128) F128_REDIR (__erff128) F128_REDIR (__expf128) +F128_REDIR (__exp10m1f128); +F128_REDIR (__exp2m1f128); F128_REDIR (__expm1f128) F128_REDIR (__fabsf128) F128_REDIR (__fdimf128) diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h index 790d9743f8..39241dcf48 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h @@ -81,6 +81,8 @@ F128_REDIR (__crealf128); F128_REDIR (__conjf128); F128_REDIR (__cprojf128); F128_REDIR (__cabsf128); +F128_REDIR (__exp10m1f128); +F128_REDIR (__exp2m1f128); F128_REDIR (__fdimf128); F128_REDIR (__fminf128); F128_REDIR (__fmaxf128); @@ -89,6 +91,7 @@ F128_REDIR (__llogbf128); F128_REDIR (__log2f128); F128_REDIR (__exp10f128); F128_REDIR (__exp2f128); +F128_REDIR (__expm1f128); F128_REDIR (__j0f128); F128_REDIR (__j1f128); F128_REDIR (__jnf128); @@ -106,11 +109,13 @@ F128_REDIR (__remainderf128); extern _Float128 __wrap_scalbnf128 (_Float128, int); extern _Float128 __w_scalblnf128 (_Float128, long int); extern _Float128 __w_log1pf128 (_Float128); +extern _Float128 __w_logp1f128 (_Float128); extern _Float128 __scalbf128 (_Float128, _Float128); F128_REDIR (__scalbf128); F128_REDIR (__wrap_scalbnf128); F128_REDIR (__w_scalblnf128); F128_REDIR (__w_log1pf128); +F128_REDIR (__w_logp1f128); /* Include the redirects shared with math_private.h users. */ #include <float128-ifunc-redirects.h> diff --git a/sysdeps/riscv/configure b/sysdeps/riscv/configure index c8f01709f8..3ae4ae3bdb 100644 --- a/sysdeps/riscv/configure +++ b/sysdeps/riscv/configure @@ -7,8 +7,8 @@ printf %s "checking for R_RISCV_ALIGN linker relaxation support... " >&6; } if test ${libc_cv_riscv_r_align+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.S <<EOF +else case e in #( + e) cat > conftest.S <<EOF .align 3 foo: li a0,42 @@ -24,7 +24,8 @@ EOF then libc_cv_riscv_r_align=yes fi - rm -rf conftest.* + rm -rf conftest.* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_riscv_r_align" >&5 printf "%s\n" "$libc_cv_riscv_r_align" >&6; } @@ -36,8 +37,8 @@ printf %s "checking if the toolchain is sufficient to build static PIE on RISC-V if test ${libc_cv_static_pie_on_riscv+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat > conftest1.S <<\EOF .globl _start .type _start, @function @@ -71,7 +72,8 @@ EOF then libc_cv_static_pie_on_riscv=yes fi - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_static_pie_on_riscv" >&5 printf "%s\n" "$libc_cv_static_pie_on_riscv" >&6; } @@ -80,3 +82,4 @@ if test "$libc_cv_static_pie_on_riscv" = yes; then printf "%s\n" "#define SUPPORT_STATIC_PIE 1" >>confdefs.h fi + diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index bc7e615177..d8cff3e077 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1208,6 +1208,26 @@ Function: "log_upward": double: 1 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 1 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 ldouble: 2 diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index a3a05a8705..b9df07dc8c 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -975,6 +975,26 @@ double: 2 float: 1 ldouble: 3 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 3 + Function: "exp2": double: 1 ldouble: 1 @@ -992,6 +1012,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 2 + Function: "exp_downward": double: 1 float: 1 @@ -1165,6 +1205,26 @@ double: 2 float: 2 ldouble: 1 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1202,6 +1262,26 @@ Function: "log2_upward": double: 3 ldouble: 1 +Function: "log2p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log2p1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "log2p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log2p1_upward": +double: 1 +float: 2 +ldouble: 2 + Function: "log_downward": ldouble: 1 @@ -1212,6 +1292,26 @@ Function: "log_upward": double: 1 ldouble: 2 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 1 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 ldouble: 2 diff --git a/sysdeps/s390/configure b/sysdeps/s390/configure index d1056cb325..67c3755c16 100644 --- a/sysdeps/s390/configure +++ b/sysdeps/s390/configure @@ -6,8 +6,8 @@ printf %s "checking for __builtin_tbegin... " >&6; } if test ${libc_cv_gcc_builtin_tbegin+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<\EOF +else case e in #( + e) cat > conftest.c <<\EOF #include <htmintrin.h> void testtransaction () { @@ -28,7 +28,8 @@ then else libc_cv_gcc_builtin_tbegin=no fi -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_tbegin" >&5 printf "%s\n" "$libc_cv_gcc_builtin_tbegin" >&6; } @@ -44,8 +45,8 @@ printf %s "checking for S390 vector instruction support... " >&6; } if test ${libc_cv_asm_s390_vx+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -61,10 +62,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_asm_s390_vx=yes -else $as_nop - libc_cv_asm_s390_vx=no +else case e in #( + e) libc_cv_asm_s390_vx=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_vx" >&5 printf "%s\n" "$libc_cv_asm_s390_vx" >&6; } @@ -83,8 +86,8 @@ printf %s "checking for S390 vector support in gcc... " >&6; } if test ${libc_cv_gcc_s390_vx+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -97,10 +100,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_gcc_s390_vx=yes -else $as_nop - libc_cv_gcc_s390_vx=no +else case e in #( + e) libc_cv_gcc_s390_vx=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_s390_vx" >&5 printf "%s\n" "$libc_cv_gcc_s390_vx" >&6; } @@ -116,8 +121,8 @@ printf %s "checking for S390 arch13 zarch instruction support... " >&6; } if test ${libc_cv_asm_s390_arch13+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -135,10 +140,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_asm_s390_arch13=yes -else $as_nop - libc_cv_asm_s390_arch13=no +else case e in #( + e) libc_cv_asm_s390_arch13=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_arch13" >&5 printf "%s\n" "$libc_cv_asm_s390_arch13" >&6; } @@ -154,8 +161,8 @@ printf %s "checking for S390 z10 zarch instruction support as default... " >&6; if test ${libc_cv_asm_s390_min_z10_zarch+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -173,10 +180,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_asm_s390_min_z10_zarch=yes -else $as_nop - libc_cv_asm_s390_min_z10_zarch=no +else case e in #( + e) libc_cv_asm_s390_min_z10_zarch=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z10_zarch" >&5 printf "%s\n" "$libc_cv_asm_s390_min_z10_zarch" >&6; } @@ -192,8 +201,8 @@ printf %s "checking for S390 z196 zarch instruction support as default... " >&6; if test ${libc_cv_asm_s390_min_z196_zarch+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -208,10 +217,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_asm_s390_min_z196_zarch=yes -else $as_nop - libc_cv_asm_s390_min_z196_zarch=no +else case e in #( + e) libc_cv_asm_s390_min_z196_zarch=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z196_zarch" >&5 printf "%s\n" "$libc_cv_asm_s390_min_z196_zarch" >&6; } @@ -227,8 +238,8 @@ printf %s "checking for S390 z13 zarch instruction support as default... " >&6; if test ${libc_cv_asm_s390_min_z13_zarch+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -245,10 +256,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_asm_s390_min_z13_zarch=yes -else $as_nop - libc_cv_asm_s390_min_z13_zarch=no +else case e in #( + e) libc_cv_asm_s390_min_z13_zarch=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z13_zarch" >&5 printf "%s\n" "$libc_cv_asm_s390_min_z13_zarch" >&6; } @@ -264,8 +277,8 @@ printf %s "checking for S390 arch13 zarch instruction support as default... " >& if test ${libc_cv_asm_s390_min_arch13_zarch+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -281,10 +294,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_asm_s390_min_arch13_zarch=yes -else $as_nop - libc_cv_asm_s390_min_arch13_zarch=no +else case e in #( + e) libc_cv_asm_s390_min_arch13_zarch=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_arch13_zarch" >&5 printf "%s\n" "$libc_cv_asm_s390_min_arch13_zarch" >&6; } @@ -301,8 +316,8 @@ printf %s "checking if $CC is sufficient to build libc on s390x... " >&6; } if test ${libc_cv_compiler_ok_on_s390x+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -321,10 +336,12 @@ _ACEOF if ac_fn_c_try_cpp "$LINENO" then : libc_cv_compiler_ok_on_s390x=yes -else $as_nop - libc_cv_compiler_ok_on_s390x=no +else case e in #( + e) libc_cv_compiler_ok_on_s390x=no ;; +esac fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_ok_on_s390x" >&5 printf "%s\n" "$libc_cv_compiler_ok_on_s390x" >&6; } diff --git a/sysdeps/s390/dl-procinfo-s390.c b/sysdeps/s390/dl-procinfo-s390.c index 2821e40cb1..652f6067a3 100644 --- a/sysdeps/s390/dl-procinfo-s390.c +++ b/sysdeps/s390/dl-procinfo-s390.c @@ -24,9 +24,3 @@ const char _dl_s390_cap_flags[_DL_HWCAP_COUNT][9] = "highgprs", "te", "vx", "vxd", "vxe", "gs", "vxe2", "vxp", "sort", "dflt", "vxp2", "nnpa", "pcimio", "sie" }; - -const char _dl_s390_platforms[_DL_PLATFORMS_COUNT][7] = - { - "g5", "z900", "z990", "z9-109", "z10", "z196", "zEC12", "z13", "z14", "z15", - "z16" - }; diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h index 38e77f7ad9..45dd11c189 100644 --- a/sysdeps/s390/dl-procinfo.h +++ b/sysdeps/s390/dl-procinfo.h @@ -23,15 +23,6 @@ #define _DL_HWCAP_COUNT 23 extern const char _dl_s390_cap_flags[_DL_HWCAP_COUNT][9] attribute_hidden; -#define _DL_PLATFORMS_COUNT 11 -extern const char _dl_s390_platforms[_DL_PLATFORMS_COUNT][7] attribute_hidden; - -/* The kernel provides up to 32 capability bits with elf_hwcap. */ -#define _DL_FIRST_PLATFORM 32 -/* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (((1ULL << _DL_PLATFORMS_COUNT) - 1) \ - << _DL_FIRST_PLATFORM) - /* Hardware capability bit numbers are derived directly from the facility indications as stored by the "store facility list" (STFL) instruction. @@ -68,11 +59,6 @@ enum HWCAP_S390_SIE = 1 << 22, }; -#define HWCAP_IMPORTANT (HWCAP_S390_ZARCH | HWCAP_S390_LDISP \ - | HWCAP_S390_EIMM | HWCAP_S390_DFP \ - | HWCAP_S390_VX | HWCAP_S390_VXE \ - | HWCAP_S390_VXRS_EXT2) - /* We cannot provide a general printing function. */ #define _dl_procinfo(type, word) -1 @@ -83,19 +69,4 @@ _dl_hwcap_string (int idx) return _dl_s390_cap_flags[idx]; }; -static inline int -__attribute__ ((unused, always_inline)) -_dl_string_platform (const char *str) -{ - int i; - - if (str != NULL) - for (i = 0; i < _DL_PLATFORMS_COUNT; ++i) - { - if (strcmp (str, _dl_s390_platforms[i]) == 0) - return _DL_FIRST_PLATFORM + i; - } - return -1; -}; - #endif /* dl-procinfo.h */ diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index e24adb94e8..4ffd344a4e 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -976,6 +976,26 @@ double: 2 float: 1 ldouble: 3 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 3 + Function: "exp2": double: 1 ldouble: 1 @@ -993,6 +1013,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 2 + Function: "exp_downward": double: 1 float: 1 @@ -1166,6 +1206,26 @@ double: 2 float: 2 ldouble: 1 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1230,6 +1290,26 @@ ldouble: 2 Function: "log_upward": ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 1 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 ldouble: 2 diff --git a/sysdeps/s390/s390-64/configure b/sysdeps/s390/s390-64/configure index c8e25b242f..9ea6940c85 100644 --- a/sysdeps/s390/s390-64/configure +++ b/sysdeps/s390/s390-64/configure @@ -4,14 +4,14 @@ # Minimal checking for static PIE support in ld. # Compare to ld testcase/bugzilla: # <binutils-source>/ld/testsuite/ld-elf/pr22263-1.rd -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for s390-specific static PIE requirements (runtime check)" >&5 -printf %s "checking for s390-specific static PIE requirements (runtime check)... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for s390-specific static PIE requirements" >&5 +printf %s "checking for s390-specific static PIE requirements... " >&6; } if { as_var=\ libc_cv_s390x_staticpie_req_runtime; eval test \${$as_var+y}; } then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest1.c <<EOF +else case e in #( + e) cat > conftest1.c <<EOF __thread int * foo; void @@ -62,13 +62,13 @@ EOF ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } \ - && { ac_try='! LC_ALL=C $READELF -Wr conftest | grep R_390_TLS_TPOFF' + && { ac_try='! LC_ALL=C $READELF -Wr conftest | grep R_390_TLS_TPOFF >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } \ - && { ac_try='LC_ACLL=C $READELF -d conftest | grep JMPREL' + && { ac_try='LC_ALL=C $READELF -Wd conftest | grep JMPREL >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -77,7 +77,8 @@ EOF then libc_cv_s390x_staticpie_req_runtime=yes fi - rm -rf conftest.* + rm -rf conftest.* ;; +esac fi eval ac_res=\$\ libc_cv_s390x_staticpie_req_runtime diff --git a/sysdeps/s390/s390-64/configure.ac b/sysdeps/s390/s390-64/configure.ac index fd729e1496..aaf71eabb1 100644 --- a/sysdeps/s390/s390-64/configure.ac +++ b/sysdeps/s390/s390-64/configure.ac @@ -4,7 +4,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Minimal checking for static PIE support in ld. # Compare to ld testcase/bugzilla: # <binutils-source>/ld/testsuite/ld-elf/pr22263-1.rd -AC_CACHE_CHECK([for s390-specific static PIE requirements (runtime check)], \ +AC_CACHE_CHECK([for s390-specific static PIE requirements], \ [libc_cv_s390x_staticpie_req_runtime], [dnl cat > conftest1.c <<EOF __thread int * foo; @@ -42,8 +42,8 @@ EOF if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -fPIE -c conftest1.c -o conftest1.o]) \ && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -fPIE -c conftest2.c -o conftest2.o]) \ && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static-pie -nostartfiles -nostdlib -fPIE -o conftest conftest1.o conftest2.o]) \ - && AC_TRY_COMMAND([! LC_ALL=C $READELF -Wr conftest | grep R_390_TLS_TPOFF]) \ - && AC_TRY_COMMAND([LC_ACLL=C $READELF -d conftest | grep JMPREL]) + && AC_TRY_COMMAND([! LC_ALL=C $READELF -Wr conftest | grep R_390_TLS_TPOFF] >&AS_MESSAGE_LOG_FD) \ + && AC_TRY_COMMAND([LC_ALL=C $READELF -Wd conftest | grep JMPREL >&AS_MESSAGE_LOG_FD]) then libc_cv_s390x_staticpie_req_runtime=yes fi diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 9c297f4481..3c84259941 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -475,6 +475,14 @@ float: 1 Function: "log2_towardzero": double: 2 +Function: "logp1": +double: 1 +float: 1 + +Function: "logp1_towardzero": +double: 2 +float: 2 + Function: "pow": double: 1 float: 1 diff --git a/sysdeps/sparc/dl-procinfo.h b/sysdeps/sparc/dl-procinfo.h index 61cd296de0..709178706c 100644 --- a/sysdeps/sparc/dl-procinfo.h +++ b/sysdeps/sparc/dl-procinfo.h @@ -52,14 +52,4 @@ _dl_hwcap_string (int idx) return GLRO(dl_sparc_cap_flags)[idx]; }; -#include <bits/wordsize.h> -#define HWCAP_IMPORTANT_V9 (__WORDSIZE == 64 ? 0 : HWCAP_SPARC_V9) -#define HWCAP_IMPORTANT (HWCAP_IMPORTANT_V9 | HWCAP_SPARC_ULTRA3 \ - | HWCAP_SPARC_BLKINIT | HWCAP_SPARC_N2) - -/* There're no platforms to filter out. */ -#define _DL_HWCAP_PLATFORM 0 - -#define _dl_string_platform(str) (-1) - #endif /* dl-procinfo.h */ diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 2d490e0713..23523f094f 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -976,6 +976,26 @@ double: 2 float: 1 ldouble: 3 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 3 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 3 + Function: "exp2": double: 1 float: 1 @@ -996,6 +1016,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 2 + Function: "exp_downward": double: 1 float: 1 @@ -1170,6 +1210,26 @@ double: 2 float: 2 ldouble: 1 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1210,6 +1270,26 @@ double: 3 float: 3 ldouble: 1 +Function: "log2p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log2p1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "log2p1_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "log2p1_upward": +double: 1 +float: 2 +ldouble: 2 + Function: "log_downward": float: 2 ldouble: 1 @@ -1223,6 +1303,26 @@ double: 1 float: 2 ldouble: 1 +Function: "logp1": +double: 1 +float: 1 +ldouble: 3 + +Function: "logp1_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "logp1_upward": +double: 2 +float: 2 +ldouble: 2 + Function: "pow": double: 1 float: 3 diff --git a/sysdeps/sparc/sparc32/configure b/sysdeps/sparc/sparc32/configure index b6603ba2f9..5d2f4864d2 100644 --- a/sysdeps/sparc/sparc32/configure +++ b/sysdeps/sparc/sparc32/configure @@ -4,14 +4,14 @@ # Test if compiler targets at least sparcv8. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -25,13 +25,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -40,14 +41,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -55,35 +56,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -97,13 +87,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -112,14 +103,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -127,32 +118,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for at least sparcv8 support" >&5 printf %s "checking for at least sparcv8 support... " >&6; } if test ${libc_cv_sparcv8+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined (__sparc_v8__) || defined (__sparc_v9__) yes @@ -160,14 +152,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_sparcv8=yes -else $as_nop - libc_cv_sparcv8=no +else case e in #( + e) libc_cv_sparcv8=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparcv8" >&5 printf "%s\n" "$libc_cv_sparcv8" >&6; } @@ -183,8 +177,8 @@ printf %s "checking for external libatomic calls... " >&6; } if test ${libc_cv_cas_uses_libatomic+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF _Bool foo (int *ptr, int *expected, int desired) { return __atomic_compare_exchange_n (ptr, expected, desired, 0, @@ -203,7 +197,8 @@ EOF fi fi rm -f conftest.c conftest.s - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cas_uses_libatomic" >&5 printf "%s\n" "$libc_cv_cas_uses_libatomic" >&6; } diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index d855c66fe3..2c56d8a80e 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -39,13 +39,7 @@ elf_machine_matches_host (const Elf32_Ehdr *ehdr) return 1; else if (ehdr->e_machine == EM_SPARC32PLUS) { -#if defined SHARED - uint64_t hwcap_mask = TUNABLE_GET (glibc, cpu, hwcap_mask, uint64_t, - NULL); - return GLRO(dl_hwcap) & hwcap_mask & HWCAP_SPARC_V9; -#else return GLRO(dl_hwcap) & HWCAP_SPARC_V9; -#endif } else return 0; diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h index 6a3fb78c47..b85d4ad8a3 100644 --- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h @@ -27,9 +27,6 @@ /* We cannot provide a general printing function. */ #define _dl_procinfo(type, word) -1 -/* No additional library search paths. */ -#define HWCAP_IMPORTANT HWCAP_ATOMICS - static inline const char * __attribute__ ((unused)) _dl_hwcap_string (int idx) @@ -37,9 +34,4 @@ _dl_hwcap_string (int idx) return (unsigned)idx < _DL_HWCAP_COUNT ? GLRO(dl_aarch64_cap_flags)[idx] : ""; }; -/* There're no platforms to filter out. */ -#define _DL_HWCAP_PLATFORM 0 - -#define _dl_string_platform(str) (-1) - #endif /* dl-procinfo.h */ diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index a4bb539670..024cb8d31c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1149,6 +1149,30 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1157,3 +1181,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 8ff65e3f7e..4b7f756811 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1308,6 +1308,30 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1316,3 +1340,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist index af9df2673c..f6eb7a535b 100644 --- a/sysdeps/unix/sysv/linux/arc/libm.abilist +++ b/sysdeps/unix/sysv/linux/arc/libm.abilist @@ -757,9 +757,33 @@ GLIBC_2.35 fminimumf64 F GLIBC_2.35 fminimuml F GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 0e460259f3..78540e97d2 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.4 y1l F GLIBC_2.4 yn F GLIBC_2.4 ynf F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h index 49cf0008b2..7d26216718 100644 --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h @@ -30,9 +30,6 @@ /* Low 7 bits are allocated in HWCAP2. */ #define _DL_HWCAP2_LAST 6 -/* The kernel provides platform data but it is not interesting. */ -#define _DL_HWCAP_PLATFORM 0 - static inline const char * __attribute__ ((unused)) @@ -73,8 +70,4 @@ _dl_procinfo (unsigned int type, unsigned long int word) return 0; } -#define HWCAP_IMPORTANT (HWCAP_ARM_VFP | HWCAP_ARM_NEON) - -#define _dl_string_platform(str) (-1) - #endif /* dl-procinfo.h */ diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 0e460259f3..78540e97d2 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.4 y1l F GLIBC_2.4 yn F GLIBC_2.4 ynf F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/bits/mman-linux.h b/sysdeps/unix/sysv/linux/bits/mman-linux.h index 5c3d43b0f2..522333c50a 100644 --- a/sysdeps/unix/sysv/linux/bits/mman-linux.h +++ b/sysdeps/unix/sysv/linux/bits/mman-linux.h @@ -54,10 +54,29 @@ # define MAP_ANONYMOUS 0x20 /* Don't use a file. */ #endif #define MAP_ANON MAP_ANONYMOUS -/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ + +/* When MAP_HUGETLB is set, bits [26:31] encode the log2 of the huge page size. + The following definitions are associated with this huge page size encoding. + It is responsibility of the application to know which sizes are supported on + the running system. See mmap(2) man page for details. */ + #define MAP_HUGE_SHIFT 26 #define MAP_HUGE_MASK 0x3f +#define MAP_HUGE_16KB (14 << MAP_HUGE_SHIFT) +#define MAP_HUGE_64KB (16 << MAP_HUGE_SHIFT) +#define MAP_HUGE_512KB (19 << MAP_HUGE_SHIFT) +#define MAP_HUGE_1MB (20 << MAP_HUGE_SHIFT) +#define MAP_HUGE_2MB (21 << MAP_HUGE_SHIFT) +#define MAP_HUGE_8MB (23 << MAP_HUGE_SHIFT) +#define MAP_HUGE_16MB (24 << MAP_HUGE_SHIFT) +#define MAP_HUGE_32MB (25 << MAP_HUGE_SHIFT) +#define MAP_HUGE_256MB (28 << MAP_HUGE_SHIFT) +#define MAP_HUGE_512MB (29 << MAP_HUGE_SHIFT) +#define MAP_HUGE_1GB (30 << MAP_HUGE_SHIFT) +#define MAP_HUGE_2GB (31 << MAP_HUGE_SHIFT) +#define MAP_HUGE_16GB (34U << MAP_HUGE_SHIFT) + /* Flags to `msync'. */ #define MS_ASYNC 1 /* Sync memory asynchronously. */ #define MS_SYNC 4 /* Synchronous memory sync. */ diff --git a/sysdeps/unix/sysv/linux/bits/shm.h b/sysdeps/unix/sysv/linux/bits/shm.h index 95f7863913..76144f5ad4 100644 --- a/sysdeps/unix/sysv/linux/bits/shm.h +++ b/sysdeps/unix/sysv/linux/bits/shm.h @@ -58,6 +58,28 @@ typedef __syscall_ulong_t shmatt_t; # define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */ # define SHM_NORESERVE 010000 /* don't check for reservations */ +/* When SHM_HUGETLB is set, bits [26:31] encode the log2 of the huge page size. + The following definitions are associated with this huge page size encoding. + It is responsibility of the application to know which sizes are supported on + the running system. See shmget(2) man page for details. */ + +#define SHM_HUGE_SHIFT 26 +#define SHM_HUGE_MASK 0x3f + +#define SHM_HUGE_16KB (14 << SHM_HUGE_SHIFT) +#define SHM_HUGE_64KB (16 << SHM_HUGE_SHIFT) +#define SHM_HUGE_512KB (19 << SHM_HUGE_SHIFT) +#define SHM_HUGE_1MB (20 << SHM_HUGE_SHIFT) +#define SHM_HUGE_2MB (21 << SHM_HUGE_SHIFT) +#define SHM_HUGE_8MB (23 << SHM_HUGE_SHIFT) +#define SHM_HUGE_16MB (24 << SHM_HUGE_SHIFT) +#define SHM_HUGE_32MB (25 << SHM_HUGE_SHIFT) +#define SHM_HUGE_256MB (28 << SHM_HUGE_SHIFT) +#define SHM_HUGE_512MB (29 << SHM_HUGE_SHIFT) +#define SHM_HUGE_1GB (30 << SHM_HUGE_SHIFT) +#define SHM_HUGE_2GB (31 << SHM_HUGE_SHIFT) +#define SHM_HUGE_16GB (34U << SHM_HUGE_SHIFT) + struct shminfo { __syscall_ulong_t shmmax; diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure index 70f7937333..4d642e953b 100644 --- a/sysdeps/unix/sysv/linux/configure +++ b/sysdeps/unix/sysv/linux/configure @@ -12,8 +12,8 @@ printf %s "checking installed Linux kernel header files... " >&6; } if test ${libc_cv_linux320+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <linux/version.h> #if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < (3 *65536+ 2 *256+ 0) /* 3.2.0 */ @@ -30,10 +30,12 @@ _ACEOF if ac_fn_c_try_cpp "$LINENO" then : libc_cv_linux320='3.2.0 or later' -else $as_nop - libc_cv_linux320='missing or too old!' +else case e in #( + e) libc_cv_linux320='missing or too old!' ;; +esac fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_linux320" >&5 printf "%s\n" "$libc_cv_linux320" >&6; } @@ -91,8 +93,9 @@ _ACEOF if ac_fn_c_try_cpp "$LINENO" then : libc_minimum_kernel=ok -else $as_nop - libc_minimum_kernel='too old!' +else case e in #( + e) libc_minimum_kernel='too old!' ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_minimum_kernel" >&5 diff --git a/sysdeps/unix/sysv/linux/csky/libm.abilist b/sysdeps/unix/sysv/linux/csky/libm.abilist index 4c1216044d..7a68784a1d 100644 --- a/sysdeps/unix/sysv/linux/csky/libm.abilist +++ b/sysdeps/unix/sysv/linux/csky/libm.abilist @@ -823,9 +823,33 @@ GLIBC_2.35 fminimumf64 F GLIBC_2.35 fminimuml F GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.c b/sysdeps/unix/sysv/linux/dl-sysdep.c index e1b14e9eb3..a8ec2d7c18 100644 --- a/sysdeps/unix/sysv/linux/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/dl-sysdep.c @@ -40,6 +40,7 @@ #include <sys/utsname.h> #include <tls.h> #include <unistd.h> +#include <dl-symbol-redir-ifunc.h> #include <dl-machine.h> #include <dl-hwcap-check.h> diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 3ea5b611eb..d29139ebf1 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h index ee82fbd364..af62f7501e 100644 --- a/sysdeps/unix/sysv/linux/hppa/sysdep.h +++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h @@ -468,6 +468,18 @@ L(pre_end): ASM_LINE_SEP \ #define CLOB_ARGS_1 CLOB_ARGS_2, "%r25" #define CLOB_ARGS_0 CLOB_ARGS_1, "%r26" +#define VDSO_NAME "LINUX_6.11" +#define VDSO_HASH 182951793 + +#ifdef __LP64__ +# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime" +# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday" +#else +# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime" +# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime64" +# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday" +#endif /* __LP64__ */ + #endif /* __ASSEMBLER__ */ #endif /* _LINUX_HPPA_SYSDEP_H */ diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 696e52e65a..0797f3fb72 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1188,6 +1188,30 @@ GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F GLIBC_2.35 hypot F GLIBC_2.35 hypotf F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1196,3 +1220,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/loongarch/configure b/sysdeps/unix/sysv/linux/loongarch/configure index 0d1159e923..914943f914 100644 --- a/sysdeps/unix/sysv/linux/loongarch/configure +++ b/sysdeps/unix/sysv/linux/loongarch/configure @@ -6,14 +6,14 @@ arch_minimum_kernel=5.19.0 libc_cv_loongarch_int_abi=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -27,13 +27,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -42,14 +43,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -57,35 +58,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -99,13 +89,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -114,14 +105,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -129,24 +120,25 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -154,7 +146,7 @@ __SIZEOF_INT__ __SIZEOF_LONG__ __SIZEOF_POINTER__ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "4 8 8" >/dev/null 2>&1 + $EGREP_TRADITIONAL "4 8 8" >/dev/null 2>&1 then : libc_cv_loongarch_int_abi=lp64 fi @@ -173,7 +165,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_loongarch_float_abi=d fi @@ -187,7 +179,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_loongarch_float_abi=s fi diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist index 1c6f02ac5a..16bde437e9 100644 --- a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist +++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist @@ -1028,6 +1028,30 @@ GLIBC_2.36 ynf32x F GLIBC_2.36 ynf64 F GLIBC_2.36 ynf64x F GLIBC_2.36 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1036,3 +1060,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 0e460259f3..78540e97d2 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.4 y1l F GLIBC_2.4 yn F GLIBC_2.4 ynf F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index be8262bb48..6fd32e76e5 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -884,9 +884,33 @@ GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F GLIBC_2.35 hypot F GLIBC_2.35 hypotf F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index cc091b2d4e..d2c2cdbc6a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index cc091b2d4e..d2c2cdbc6a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure index a060901de4..6e3402c111 100644 --- a/sysdeps/unix/sysv/linux/mips/configure +++ b/sysdeps/unix/sysv/linux/mips/configure @@ -19,8 +19,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_abi=o32 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (_MIPS_SIM != _ABIN32) @@ -37,8 +37,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_abi=n32 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (_MIPS_SIM != _ABI64) @@ -56,9 +56,11 @@ if ac_fn_c_try_compile "$LINENO" then : libc_mips_abi=n64 fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -83,8 +85,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_float=soft -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if !defined(__mips_hard_float) @@ -102,7 +104,8 @@ if ac_fn_c_try_compile "$LINENO" then : libc_mips_float=hard fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -148,8 +151,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_o32_fp=32 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (__mips_fpr != 0) || !defined(_MIPS_SPFPSET) || (_MIPS_SPFPSET != 16) @@ -166,8 +169,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_o32_fp=xx -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (__mips_fpr != 0) @@ -184,8 +187,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_o32_fp=xxo -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (__mips_fpr != 64) || !defined(_MIPS_SPFPSET) || (_MIPS_SPFPSET != 16) @@ -202,8 +205,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_o32_fp=64a -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (__mips_fpr != 64) @@ -221,13 +224,17 @@ if ac_fn_c_try_compile "$LINENO" then : libc_mips_o32_fp=64 fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi @@ -241,8 +248,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext test $ac_status = 0; }; } then : libc_cv_mips_fp64=yes -else $as_nop - libc_cv_mips_fp64=no +else case e in #( + e) libc_cv_mips_fp64=no ;; +esac fi if { ac_try='${CC-cc} -Werror -modd-spreg -xc /dev/null -S -o /dev/null' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 @@ -252,8 +260,9 @@ fi test $ac_status = 0; }; } then : libc_cv_mips_modd_spreg=yes -else $as_nop - libc_cv_mips_modd_spreg=no +else case e in #( + e) libc_cv_mips_modd_spreg=no ;; +esac fi fi config_vars="$config_vars @@ -281,22 +290,23 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_mips_mode_switch=yes -else $as_nop - libc_mips_mode_switch=no +else case e in #( + e) libc_mips_mode_switch=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext config_vars="$config_vars mips-mode-switch = ${libc_mips_mode_switch}" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -310,13 +320,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -325,14 +336,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -340,35 +351,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -382,13 +382,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -397,14 +398,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -412,32 +413,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the 2008 NaN encoding" >&5 printf %s "checking whether the compiler is using the 2008 NaN encoding... " >&6; } if test ${libc_cv_mips_nan2008+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ dnl #ifdef __mips_nan2008 @@ -445,14 +447,16 @@ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_mips_nan2008=yes -else $as_nop - libc_cv_mips_nan2008=no +else case e in #( + e) libc_cv_mips_nan2008=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mips_nan2008" >&5 printf "%s\n" "$libc_cv_mips_nan2008" >&6; } @@ -515,8 +519,8 @@ printf %s "checking whether the compiler must use executable stack... " >&6; } if test ${libc_cv_mips_force_execstack+y} then : printf %s "(cached) " >&6 -else $as_nop - libc_cv_mips_force_execstack=no +else case e in #( + e) libc_cv_mips_force_execstack=no if test $libc_mips_float = hard; then if test -n "$minimum_kernel"; then @@ -528,7 +532,8 @@ else $as_nop else libc_cv_mips_force_execstack=yes fi - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mips_force_execstack" >&5 printf "%s\n" "$libc_cv_mips_force_execstack" >&6; } diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 4d442a989d..a7c8ca0aec 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index ae7b4a7558..8e36e16069 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1149,6 +1149,30 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1157,3 +1181,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index 9ed3fbdee4..c0df77f57d 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/or1k/libm.abilist b/sysdeps/unix/sysv/linux/or1k/libm.abilist index 69655f7d23..4db8702dbc 100644 --- a/sysdeps/unix/sysv/linux/or1k/libm.abilist +++ b/sysdeps/unix/sysv/linux/or1k/libm.abilist @@ -757,9 +757,33 @@ GLIBC_2.35 ynf32 F GLIBC_2.35 ynf32x F GLIBC_2.35 ynf64 F GLIBC_2.35 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/powerpc/configure b/sysdeps/unix/sysv/linux/powerpc/configure index d6d091a4c2..61ae675c1a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/configure +++ b/sysdeps/unix/sysv/linux/powerpc/configure @@ -7,8 +7,8 @@ printf %s "checking whether $CC $CFLAGS -mlong-double-128 uses IBM extended form if test ${libc_cv_mlong_double_128ibm+y} then : printf %s "(cached) " >&6 -else $as_nop - save_CFLAGS="$CFLAGS" +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mlong-double-128" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28,11 +28,13 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mlong_double_128ibm=yes -else $as_nop - libc_cv_mlong_double_128ibm=no +else case e in #( + e) libc_cv_mlong_double_128ibm=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -CFLAGS="$save_CFLAGS" +CFLAGS="$save_CFLAGS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mlong_double_128ibm" >&5 printf "%s\n" "$libc_cv_mlong_double_128ibm" >&6; } @@ -43,8 +45,8 @@ printf %s "checking whether $CC $CFLAGS supports -mabi=ibmlongdouble... " >&6; } if test ${libc_cv_mabi_ibmlongdouble+y} then : printf %s "(cached) " >&6 -else $as_nop - save_CFLAGS="$CFLAGS" +else case e in #( + e) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -64,11 +66,13 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : libc_cv_mabi_ibmlongdouble=yes -else $as_nop - libc_cv_mabi_ibmlongdouble=no +else case e in #( + e) libc_cv_mabi_ibmlongdouble=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - CFLAGS="$save_CFLAGS" + CFLAGS="$save_CFLAGS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mabi_ibmlongdouble" >&5 printf "%s\n" "$libc_cv_mabi_ibmlongdouble" >&6; } diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 564eb87d4b..cbadcefc59 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -995,9 +995,33 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index a57eedb779..d0078a41eb 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -994,9 +994,33 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 7564069a37..86fdb9f443 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -988,9 +988,33 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure index cf1b70c745..5dd70689fc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure @@ -17,14 +17,14 @@ esac # Define default-abi according to compiler flags. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -38,13 +38,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -53,14 +54,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -68,35 +69,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -110,13 +100,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -125,14 +116,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -140,32 +131,33 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the PowerPC64 ELFv2 ABI" >&5 printf %s "checking whether the compiler is using the PowerPC64 ELFv2 ABI... " >&6; } if test ${libc_cv_ppc64_elfv2_abi+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if _CALL_ELF == 2 yes @@ -173,14 +165,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_ppc64_elfv2_abi=yes -else $as_nop - libc_cv_ppc64_elfv2_abi=no +else case e in #( + e) libc_cv_ppc64_elfv2_abi=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_elfv2_abi" >&5 printf "%s\n" "$libc_cv_ppc64_elfv2_abi" >&6; } @@ -199,8 +193,8 @@ printf %s "checking whether the compiler defines _CALL_ELF... " >&6; } if test ${libc_cv_ppc64_def_call_elf+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _CALL_ELF yes @@ -208,14 +202,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_ppc64_def_call_elf=yes -else $as_nop - libc_cv_ppc64_def_call_elf=no +else case e in #( + e) libc_cv_ppc64_def_call_elf=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_def_call_elf" >&5 printf "%s\n" "$libc_cv_ppc64_def_call_elf" >&6; } @@ -229,8 +225,8 @@ printf %s "checking the machine type to set minimum kernel version... " >&6; } if test ${libc_cv_ppc64_le+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ yes @@ -238,14 +234,16 @@ else $as_nop _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : arch_minimum_kernel=3.10.0 -else $as_nop - libc_cv_ppc64_le=no +else case e in #( + e) libc_cv_ppc64_le=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ppc64_le" >&5 printf "%s\n" "$libc_cv_ppc64_le" >&6; } diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index b02a7115af..34568bd9dd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1321,7 +1321,35 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 __exp10m1ieee128 F +GLIBC_2.40 __exp2m1ieee128 F +GLIBC_2.40 __log10p1ieee128 F GLIBC_2.40 __log2p1ieee128 F +GLIBC_2.40 __logp1ieee128 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1330,3 +1358,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/riscv/atomic-machine.h b/sysdeps/unix/sysv/linux/riscv/atomic-machine.h index c1c9d949a0..90283d9746 100644 --- a/sysdeps/unix/sysv/linux/riscv/atomic-machine.h +++ b/sysdeps/unix/sysv/linux/riscv/atomic-machine.h @@ -178,4 +178,7 @@ # error "ISAs that do not subsume the A extension are not supported" #endif /* !__riscv_atomic */ +/* Execute a PAUSE hint when spinning. */ +#define atomic_spin_nop() __asm(".insn i 0x0f, 0, x0, x0, 0x010") + #endif /* bits/atomic.h */ diff --git a/sysdeps/unix/sysv/linux/riscv/configure b/sysdeps/unix/sysv/linux/riscv/configure index 79bf5efa25..08aed0d805 100755 --- a/sysdeps/unix/sysv/linux/riscv/configure +++ b/sysdeps/unix/sysv/linux/riscv/configure @@ -6,14 +6,14 @@ arch_minimum_kernel=4.15.0 libc_cv_riscv_int_abi=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -27,13 +27,14 @@ do for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -42,14 +43,14 @@ case `"$ac_path_GREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -57,35 +58,24 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -99,13 +89,14 @@ do for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -114,14 +105,14 @@ case `"$ac_path_EGREP" --version 2>&1` in cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -129,24 +120,25 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -154,7 +146,7 @@ __SIZEOF_INT__ __SIZEOF_LONG__ __SIZEOF_POINTER__ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "4 8 8" >/dev/null 2>&1 + $EGREP_TRADITIONAL "4 8 8" >/dev/null 2>&1 then : libc_cv_riscv_int_abi=lp64 fi @@ -166,7 +158,7 @@ __SIZEOF_INT__ __SIZEOF_LONG__ __SIZEOF_POINTER__ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "4 4 4" >/dev/null 2>&1 + $EGREP_TRADITIONAL "4 4 4" >/dev/null 2>&1 then : libc_cv_riscv_int_abi=ilp32 fi @@ -189,7 +181,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_riscv_float_abi=d fi @@ -203,7 +195,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : libc_cv_riscv_float_abi= fi diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist index 7bf0bd7c7a..248ca383b4 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist @@ -1028,6 +1028,30 @@ GLIBC_2.35 fminimumf64x F GLIBC_2.35 fminimuml F GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1036,3 +1060,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist index c22d9bb7c6..c8f976c077 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist @@ -1125,6 +1125,30 @@ GLIBC_2.35 fminimumf64x F GLIBC_2.35 fminimuml F GLIBC_2.35 fsqrt F GLIBC_2.35 fsqrtl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1133,3 +1157,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 2fb712ec71..81f186f383 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1252,6 +1252,30 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1260,3 +1284,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 40489589a7..ee54f8d4a4 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1252,6 +1252,30 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1260,3 +1284,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index a5363e90d6..b21a3ba387 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index a5363e90d6..b21a3ba387 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -848,9 +848,33 @@ GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f32 F GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 9bda9bdeb5..15c958e345 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1259,6 +1259,30 @@ GLIBC_2.4 truncl F GLIBC_2.4 y0l F GLIBC_2.4 y1l F GLIBC_2.4 ynl F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1267,3 +1291,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 61d2aa05a9..bf608f5d62 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1149,6 +1149,30 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1157,3 +1181,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c index e8ed2babb9..f57e92815e 100644 --- a/sysdeps/unix/sysv/linux/spawni.c +++ b/sysdeps/unix/sysv/linux/spawni.c @@ -449,13 +449,22 @@ __spawnix (int *pid, const char *file, caller to actually collect it. */ ec = args.err; if (ec > 0) - /* There still an unlikely case where the child is cancelled after - setting args.err, due to a positive error value. Also there is - possible pid reuse race (where the kernel allocated the same pid - to an unrelated process). Unfortunately due synchronization - issues where the kernel might not have the process collected - the waitpid below can not use WNOHANG. */ - __waitpid (new_pid, NULL, 0); + { + /* There still an unlikely case where the child is cancelled after + setting args.err, due to a positive error value. Also there is + possible pid reuse race (where the kernel allocated the same pid + to an unrelated process). Unfortunately due synchronization + issues where the kernel might not have the process collected + the waitpid below can not use WNOHANG. */ + __waitid (use_pidfd ? P_PIDFD : P_PID, + use_pidfd ? args.pidfd : new_pid, + NULL, + WEXITED); + /* For pidfd we need to also close the file descriptor for the case + where execve fails. */ + if (use_pidfd) + __close_nocancel_nostatus (args.pidfd); + } } else ec = errno; diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py index 4a8f4e8919..441261c945 100644 --- a/sysdeps/unix/sysv/linux/tst-mman-consts.py +++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py @@ -41,8 +41,7 @@ def main(): '#include <linux/mman.h>\n', args.cc, 'MAP_.*', - # A series of MAP_HUGE_<size> macros are defined by the kernel - # but not by glibc. MAP_UNINITIALIZED is kernel-only. + # MAP_UNINITIALIZED is defined by the kernel but not by glibc. # MAP_FAILED is not a MAP_* flag and is glibc-only, as is the # MAP_ANON alias for MAP_ANONYMOUS. MAP_RENAME, MAP_AUTOGROW, # MAP_LOCAL and MAP_AUTORSRV are in the kernel header for @@ -50,9 +49,8 @@ def main(): # in the kernel header, but does not use it. The kernel # header for HPPA removed a define of MAP_VARIABLE to 0 in # Linux 6.2. - 'MAP_HUGE_[0-9].*|MAP_UNINITIALIZED|MAP_FAILED|MAP_ANON' - '|MAP_RENAME|MAP_AUTOGROW|MAP_LOCAL|MAP_AUTORSRV|MAP_INHERIT' - '|MAP_VARIABLE', + 'MAP_UNINITIALIZED|MAP_FAILED|MAP_ANON|MAP_RENAME|MAP_AUTOGROW' + '|MAP_LOCAL|MAP_AUTORSRV|MAP_INHERIT|MAP_VARIABLE', linux_version_glibc > linux_version_headers, linux_version_headers > linux_version_glibc)) diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index bbf646fe7f..0ba4ef54c4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1182,6 +1182,30 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1190,3 +1214,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 7c7b884dde..405711559a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1182,6 +1182,30 @@ GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F GLIBC_2.39 exp10 F +GLIBC_2.40 exp10m1 F +GLIBC_2.40 exp10m1f F +GLIBC_2.40 exp10m1f128 F +GLIBC_2.40 exp10m1f32 F +GLIBC_2.40 exp10m1f32x F +GLIBC_2.40 exp10m1f64 F +GLIBC_2.40 exp10m1f64x F +GLIBC_2.40 exp10m1l F +GLIBC_2.40 exp2m1 F +GLIBC_2.40 exp2m1f F +GLIBC_2.40 exp2m1f128 F +GLIBC_2.40 exp2m1f32 F +GLIBC_2.40 exp2m1f32x F +GLIBC_2.40 exp2m1f64 F +GLIBC_2.40 exp2m1f64x F +GLIBC_2.40 exp2m1l F +GLIBC_2.40 log10p1 F +GLIBC_2.40 log10p1f F +GLIBC_2.40 log10p1f128 F +GLIBC_2.40 log10p1f32 F +GLIBC_2.40 log10p1f32x F +GLIBC_2.40 log10p1f64 F +GLIBC_2.40 log10p1f64x F +GLIBC_2.40 log10p1l F GLIBC_2.40 log2p1 F GLIBC_2.40 log2p1f F GLIBC_2.40 log2p1f128 F @@ -1190,3 +1214,11 @@ GLIBC_2.40 log2p1f32x F GLIBC_2.40 log2p1f64 F GLIBC_2.40 log2p1f64x F GLIBC_2.40 log2p1l F +GLIBC_2.40 logp1 F +GLIBC_2.40 logp1f F +GLIBC_2.40 logp1f128 F +GLIBC_2.40 logp1f32 F +GLIBC_2.40 logp1f32x F +GLIBC_2.40 logp1f64 F +GLIBC_2.40 logp1f64x F +GLIBC_2.40 logp1l F diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure index 04c6ba3e6c..a6d37778d1 100644 --- a/sysdeps/x86/configure +++ b/sysdeps/x86/configure @@ -7,8 +7,8 @@ printf %s "checking for linker x86 ISA level support... " >&6; } if test ${libc_cv_include_x86_isa_level+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest1.S <<EOF +else case e in #( + e) cat > conftest1.S <<EOF #ifdef __LP64__ # define P2ALIGN 3 #else @@ -70,7 +70,8 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest c libc_cv_include_x86_isa_level=yes fi fi -rm -f conftest* +rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_include_x86_isa_level" >&5 printf "%s\n" "$libc_cv_include_x86_isa_level" >&6; } @@ -82,8 +83,8 @@ printf %s "checking for LAHF/SAHF instruction support... " >&6; } if test ${libc_cv_have_x86_lahf_sahf+y} then : printf %s "(cached) " >&6 -else $as_nop - libc_cv_have_x86_lahf_sahf=no +else case e in #( + e) libc_cv_have_x86_lahf_sahf=no if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fverbose-asm -S -o - -x c /dev/null' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 @@ -91,7 +92,8 @@ else $as_nop printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } | grep -qE '(-msahf\b|-march=x86-64-v)'; then libc_cv_have_x86_lahf_sahf=yes - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_x86_lahf_sahf" >&5 printf "%s\n" "$libc_cv_have_x86_lahf_sahf" >&6; } @@ -105,8 +107,8 @@ printf %s "checking for MOVBE instruction support... " >&6; } if test ${libc_cv_have_x86_movbe+y} then : printf %s "(cached) " >&6 -else $as_nop - libc_cv_have_x86_movbe=no +else case e in #( + e) libc_cv_have_x86_movbe=no if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fverbose-asm -S -o - -x c /dev/null' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 @@ -114,7 +116,8 @@ else $as_nop printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } | grep -qE '(-mmovbe\b|-march=x86-64-v([3-9]|[1-9][0-9]))'; then libc_cv_have_x86_movbe=yes - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_x86_movbe" >&5 printf "%s\n" "$libc_cv_have_x86_movbe" >&6; } @@ -130,8 +133,8 @@ printf %s "checking for ISA level support... " >&6; } if test ${libc_cv_have_x86_isa_level+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF #include <sysdeps/x86/isa-level.h> #if MINIMUM_X86_ISA_LEVEL >= 4 libc_cv_have_x86_isa_level=4 @@ -148,7 +151,8 @@ libc_cv_have_x86_isa_level=0 #endif EOF eval `${CC-cc} $CFLAGS $CPPFLAGS $ISAFLAG -I$srcdir -E conftest.c | grep libc_cv_have_x86_isa_level` - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_x86_isa_level" >&5 printf "%s\n" "$libc_cv_have_x86_isa_level" >&6; } diff --git a/sysdeps/x86/dl-hwcap.h b/sysdeps/x86/dl-hwcap.h index 21dd24d5d2..325f1c467c 100644 --- a/sysdeps/x86/dl-hwcap.h +++ b/sysdeps/x86/dl-hwcap.h @@ -18,31 +18,6 @@ #ifndef _DL_HWCAP_H #define _DL_HWCAP_H -#if IS_IN (ldconfig) -/* Since ldconfig processes both i386 and x86-64 libraries, it needs - to cover all platforms and hardware capabilities. */ -# define HWCAP_PLATFORMS_START 0 -# define HWCAP_PLATFORMS_COUNT 4 -# define HWCAP_START 0 -# define HWCAP_COUNT 3 -# define HWCAP_IMPORTANT \ - (HWCAP_X86_SSE2 | HWCAP_X86_64 | HWCAP_X86_AVX512_1) -#elif defined __x86_64__ -/* For 64 bit, only cover x86-64 platforms and capabilities. */ -# define HWCAP_PLATFORMS_START 2 -# define HWCAP_PLATFORMS_COUNT 4 -# define HWCAP_START 1 -# define HWCAP_COUNT 3 -# define HWCAP_IMPORTANT (HWCAP_X86_64 | HWCAP_X86_AVX512_1) -#else -/* For 32 bit, only cover i586, i686 and SSE2. */ -# define HWCAP_PLATFORMS_START 0 -# define HWCAP_PLATFORMS_COUNT 2 -# define HWCAP_START 0 -# define HWCAP_COUNT 1 -# define HWCAP_IMPORTANT (HWCAP_X86_SSE2) -#endif - enum { HWCAP_X86_SSE2 = 1 << 0, diff --git a/sysdeps/x86/dl-procinfo.c b/sysdeps/x86/dl-procinfo.c index 5920d4b320..b791fd3e92 100644 --- a/sysdeps/x86/dl-procinfo.c +++ b/sysdeps/x86/dl-procinfo.c @@ -16,9 +16,8 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ -/* This information must be kept in sync with the _DL_HWCAP_COUNT, - HWCAP_PLATFORMS_START and HWCAP_PLATFORMS_COUNT definitions in - dl-hwcap.h. +/* This information must be kept in sync with the _DL_HWCAP_COUNT + definition in dl-hwcap.h. If anything should be added here check whether the size of each string is still ok with the given array size. @@ -71,22 +70,6 @@ PROCINFO_CLASS const char _dl_x86_hwcap_flags[3][9] , #endif -#if !defined PROCINFO_DECL && defined SHARED - ._dl_x86_platforms -#else -PROCINFO_CLASS const char _dl_x86_platforms[4][9] -#endif -#ifndef PROCINFO_DECL -= { - "i586", "i686", "haswell", "xeon_phi" - } -#endif -#if !defined SHARED || defined PROCINFO_DECL -; -#else -, -#endif - #if defined SHARED && !IS_IN (ldconfig) # if !defined PROCINFO_DECL ._dl_x86_tlsdesc_dynamic diff --git a/sysdeps/x86/dl-procinfo.h b/sysdeps/x86/dl-procinfo.h index 3902925be4..ea0f33bbad 100644 --- a/sysdeps/x86/dl-procinfo.h +++ b/sysdeps/x86/dl-procinfo.h @@ -22,27 +22,5 @@ #include <dl-hwcap.h> #define _DL_HWCAP_COUNT HWCAP_COUNT -#define _DL_PLATFORMS_COUNT HWCAP_PLATFORMS_COUNT - -/* Start at 48 to reserve spaces for hardware capabilities. */ -#define _DL_FIRST_PLATFORM 48 -/* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (((1ULL << _DL_PLATFORMS_COUNT) - 1) \ - << _DL_FIRST_PLATFORM) - -static inline int -__attribute__ ((unused, always_inline)) -_dl_string_platform (const char *str) -{ - int i; - - if (str != NULL) - for (i = HWCAP_PLATFORMS_START; i < HWCAP_PLATFORMS_COUNT; ++i) - { - if (strcmp (str, GLRO(dl_x86_platforms)[i]) == 0) - return _DL_FIRST_PLATFORM + i; - } - return -1; -}; #endif /* dl-procinfo.h */ diff --git a/sysdeps/x86_64/configure b/sysdeps/x86_64/configure index 07bdd40a37..231e6ff128 100755 --- a/sysdeps/x86_64/configure +++ b/sysdeps/x86_64/configure @@ -6,8 +6,8 @@ printf %s "checking -mprefer-vector-width=128... " >&6; } if test ${libc_cv_cc_mprefer_vector_width+y} then : printf %s "(cached) " >&6 -else $as_nop - if { ac_try='${CC-cc} -mprefer-vector-width=128 -xc /dev/null -S -o /dev/null' +else case e in #( + e) if { ac_try='${CC-cc} -mprefer-vector-width=128 -xc /dev/null -S -o /dev/null' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15,10 +15,12 @@ else $as_nop test $ac_status = 0; }; } then : libc_cv_cc_mprefer_vector_width=yes -else $as_nop - libc_cv_cc_mprefer_vector_width=no +else case e in #( + e) libc_cv_cc_mprefer_vector_width=no ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_mprefer_vector_width" >&5 printf "%s\n" "$libc_cv_cc_mprefer_vector_width" >&6; } @@ -71,8 +73,8 @@ printf %s "checking whether CET can be enabled... " >&6; } if test ${libc_cv_x86_cet_available+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF #if !defined __CET__ || __CET__ != 3 # error CET isn't available. #endif @@ -87,7 +89,8 @@ EOF else libc_cv_x86_cet_available=no fi - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_cet_available" >&5 printf "%s\n" "$libc_cv_x86_cet_available" >&6; } @@ -102,8 +105,8 @@ printf %s "checking whether assembler supports CET... " >&6; } if test ${libc_cv_x86_cet_as+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.s <<EOF +else case e in #( + e) cat > conftest.s <<EOF incsspd %ecx EOF if { ac_try='${CC-cc} -c $CFLAGS conftest.s -o conftest.o 1>&5' @@ -116,7 +119,8 @@ EOF else libc_cv_x86_cet_as=no fi - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_cet_as" >&5 printf "%s\n" "$libc_cv_x86_cet_as" >&6; } @@ -140,8 +144,8 @@ printf %s "checking whether -mamx-tile works properly... " >&6; } if test ${libc_cv_x86_have_amx_tile+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF #include <x86intrin.h> EOF libc_cv_x86_have_amx_tile=no @@ -155,7 +159,8 @@ EOF libc_cv_x86_have_amx_tile=yes fi fi - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_have_amx_tile" >&5 printf "%s\n" "$libc_cv_x86_have_amx_tile" >&6; } @@ -168,8 +173,8 @@ printf %s "checking whether -mapxf is enabled... " >&6; } if test ${libc_cv_x86_have_apx+y} then : printf %s "(cached) " >&6 -else $as_nop - cat > conftest.c <<EOF +else case e in #( + e) cat > conftest.c <<EOF #ifndef __APX_F__ # error APX isn't enabled #endif @@ -183,7 +188,8 @@ EOF test $ac_status = 0; }; }; then libc_cv_x86_have_apx=yes fi - rm -rf conftest* + rm -rf conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_have_apx" >&5 printf "%s\n" "$libc_cv_x86_have_apx" >&6; } diff --git a/sysdeps/x86_64/dl-procruntime.c b/sysdeps/x86_64/dl-procruntime.c index 7078581778..0859438ed0 100644 --- a/sysdeps/x86_64/dl-procruntime.c +++ b/sysdeps/x86_64/dl-procruntime.c @@ -16,9 +16,8 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ -/* This information must be kept in sync with the _DL_HWCAP_COUNT, - HWCAP_PLATFORMS_START and HWCAP_PLATFORMS_COUNT definitions in - dl-hwcap.h. +/* This information must be kept in sync with the _DL_HWCAP_COUNT + definition in dl-hwcap.h. If anything should be added here check whether the size of each string is still ok with the given array size. diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 893c22b19b..3592dfae1d 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1429,6 +1429,30 @@ float: 1 Function: "exp10_vlen8_avx2": float: 1 +Function: "exp10m1": +double: 2 +float: 1 +float128: 1 +ldouble: 1 + +Function: "exp10m1_downward": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "exp10m1_upward": +double: 3 +float: 1 +float128: 3 +ldouble: 2 + Function: "exp2": double: 1 float: 1 @@ -1473,6 +1497,30 @@ float: 1 Function: "exp2_vlen8_avx2": float: 1 +Function: "exp2m1": +double: 1 +float: 1 +float128: 1 +ldouble: 1 + +Function: "exp2m1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 3 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +float128: 2 +ldouble: 3 + +Function: "exp2m1_upward": +double: 1 +float: 1 +float128: 2 +ldouble: 3 + Function: "exp_downward": double: 1 float: 1 @@ -1759,6 +1807,30 @@ float: 1 Function: "log10_vlen8_avx2": float: 1 +Function: "log10p1": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "log10p1_downward": +double: 2 +float: 1 +float128: 2 +ldouble: 4 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +float128: 2 +ldouble: 4 + +Function: "log10p1_upward": +double: 2 +float: 1 +float128: 3 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1907,6 +1979,30 @@ float: 3 Function: "log_vlen8_avx2": float: 3 +Function: "logp1": +double: 1 +float: 1 +float128: 3 +ldouble: 2 + +Function: "logp1_downward": +double: 2 +float: 2 +float128: 3 +ldouble: 4 + +Function: "logp1_towardzero": +double: 2 +float: 2 +float128: 3 +ldouble: 4 + +Function: "logp1_upward": +double: 2 +float: 2 +float128: 2 +ldouble: 3 + Function: "pow": double: 1 float: 1 |