Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/machine')
-rw-r--r--newlib/libm/machine/spu/configure3425
-rw-r--r--newlib/libm/machine/spu/headers/acosd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/acosf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/acoshd2.h107
-rw-r--r--newlib/libm/machine/spu/headers/acoshf4.h87
-rw-r--r--newlib/libm/machine/spu/headers/asind2.h14
-rw-r--r--newlib/libm/machine/spu/headers/asinf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/asinhd2.h70
-rw-r--r--newlib/libm/machine/spu/headers/asinhf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/atan2d2.h14
-rw-r--r--newlib/libm/machine/spu/headers/atan2f4.h14
-rw-r--r--newlib/libm/machine/spu/headers/atand2.h14
-rw-r--r--newlib/libm/machine/spu/headers/atanf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/atanhd2.h93
-rw-r--r--newlib/libm/machine/spu/headers/atanhf4.h67
-rw-r--r--newlib/libm/machine/spu/headers/cbrt.h8
-rw-r--r--newlib/libm/machine/spu/headers/cbrtf.h8
-rw-r--r--newlib/libm/machine/spu/headers/cos_sin.h14
-rw-r--r--newlib/libm/machine/spu/headers/cosd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/cosf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/coshd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/coshf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/divd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/divf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/erf_utils.h14
-rw-r--r--newlib/libm/machine/spu/headers/erfcd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/erfcf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/erfd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/erff4.h369
-rw-r--r--newlib/libm/machine/spu/headers/exp2d2.h14
-rw-r--r--newlib/libm/machine/spu/headers/exp2f4.h14
-rw-r--r--newlib/libm/machine/spu/headers/expd2.h81
-rw-r--r--newlib/libm/machine/spu/headers/expf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/expm1d2.h14
-rw-r--r--newlib/libm/machine/spu/headers/expm1f4.h14
-rw-r--r--newlib/libm/machine/spu/headers/floord2.h14
-rw-r--r--newlib/libm/machine/spu/headers/floorf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/hypotd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/hypotf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/isnand2.h14
-rw-r--r--newlib/libm/machine/spu/headers/isnanf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/ldexpd2.h19
-rw-r--r--newlib/libm/machine/spu/headers/ldexpf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/lgammad2.h14
-rw-r--r--newlib/libm/machine/spu/headers/lgammaf4.h509
-rw-r--r--newlib/libm/machine/spu/headers/log10d2.h14
-rw-r--r--newlib/libm/machine/spu/headers/log1pd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/log1pf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/log2d2.h14
-rw-r--r--newlib/libm/machine/spu/headers/log2f4.h14
-rw-r--r--newlib/libm/machine/spu/headers/logbf4.h33
-rw-r--r--newlib/libm/machine/spu/headers/logd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/logf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/nearbyintf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/nextafterd2.h29
-rw-r--r--newlib/libm/machine/spu/headers/nextafterf4.h18
-rw-r--r--newlib/libm/machine/spu/headers/powd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/powf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/recipd2.h37
-rw-r--r--newlib/libm/machine/spu/headers/recipf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/rintf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/scalbnf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/signbitd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/simdmath.h23
-rw-r--r--newlib/libm/machine/spu/headers/sincosd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/sincosf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/sind2.h14
-rw-r--r--newlib/libm/machine/spu/headers/sinf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/sinhd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/sinhf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/sqrtd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/sqrtf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/tand2.h14
-rw-r--r--newlib/libm/machine/spu/headers/tanf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/tanhd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/tanhf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/tgammad2.h14
-rw-r--r--newlib/libm/machine/spu/headers/tgammaf4.h14
-rw-r--r--newlib/libm/machine/spu/headers/truncd2.h14
-rw-r--r--newlib/libm/machine/spu/headers/truncf4.h14
80 files changed, 2712 insertions, 3153 deletions
diff --git a/newlib/libm/machine/spu/configure b/newlib/libm/machine/spu/configure
index 6af7c73f1..9d37c00ad 100644
--- a/newlib/libm/machine/spu/configure
+++ b/newlib/libm/machine/spu/configure
@@ -1,54 +1,25 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for newlib 1.16.0.
+# Generated by GNU Autoconf 2.59 for newlib 1.15.0.
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
+# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -58,43 +29,8 @@ else
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
+$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
@@ -108,19 +44,18 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -128,388 +63,157 @@ fi
# Name of the executable.
-as_me=`$as_basename -- "$0" ||
+as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
fi
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-test \$exitcode = 0) || { (exit 1); exit 1; }
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- case $as_dir in
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
/*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
+ if ("$as_dir/$as_base" -c '
as_lineno_1=$LINENO
as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
t loop
- s/-\n.*//
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
+ chmod +x $as_me.lineno ||
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
# Exit status is that of the last command.
exit
}
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
+rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -518,28 +222,7 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -548,153 +231,49 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
-exec 7<&0 </dev/null 6>&1
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+exec 6>&1
+
#
# Initializations.
#
ac_default_prefix=/usr/local
-ac_clean_files=
ac_config_libobj_dir=.
-LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
# Identity of this package.
PACKAGE_NAME='newlib'
PACKAGE_TARNAME='newlib'
-PACKAGE_VERSION='1.16.0'
-PACKAGE_STRING='newlib 1.16.0'
+PACKAGE_VERSION='1.15.0'
+PACKAGE_STRING='newlib 1.15.0'
PACKAGE_BUGREPORT=''
ac_unique_file="Makefile.am"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-MAY_SUPPLY_SYSCALLS_TRUE
-MAY_SUPPLY_SYSCALLS_FALSE
-newlib_basedir
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-CC
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-AS
-AR
-RANLIB
-READELF
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-CCAS
-CCASFLAGS
-NEWLIB_CFLAGS
-LDFLAGS
-ELIX_LEVEL_0_TRUE
-ELIX_LEVEL_0_FALSE
-ELIX_LEVEL_1_TRUE
-ELIX_LEVEL_1_FALSE
-ELIX_LEVEL_2_TRUE
-ELIX_LEVEL_2_FALSE
-ELIX_LEVEL_3_TRUE
-ELIX_LEVEL_3_FALSE
-ELIX_LEVEL_4_TRUE
-ELIX_LEVEL_4_FALSE
-USE_LIBTOOL_TRUE
-USE_LIBTOOL_FALSE
-OBJEXT
-oext
-aext
-lpfx
-libm_machine_dir
-machine_dir
-sys_dir
-LIBOBJS
-LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS'
ac_subst_files=''
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS'
-
# Initialize some variables set by options.
ac_init_help=
@@ -721,48 +300,34 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
+datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
ac_prev=
-ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
+ eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
- case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
- esac
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
+ case $ac_option in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -784,45 +349,33 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad)
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
datadir=$ac_optarg ;;
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
-disable-* | --disable-*)
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
-enable-* | --enable-*)
ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -849,12 +402,6 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -879,16 +426,13 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -953,16 +497,6 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -1015,20 +549,24 @@ do
-with-* | --with-*)
ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid package name: $ac_package" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
--x)
# Obsolete; use --with-x.
@@ -1059,7 +597,8 @@ Try \`$0 --help' for more information." >&2
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
{ echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
- eval $ac_envvar=\$ac_optarg
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
export $ac_envvar ;;
*)
@@ -1079,19 +618,27 @@ if test -n "$ac_prev"; then
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute directory names.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
do
- eval ac_val=\$$ac_var
+ eval ac_val=$`echo $ac_var`
case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1118,76 +665,62 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
-
-
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$0" : 'X\(//\)[^/]' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
+ if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
+ fi
fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
{ (exit 1); exit 1; }; }
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CCAS_set=${CCAS+set}
+ac_env_CCAS_value=$CCAS
+ac_cv_env_CCAS_set=${CCAS+set}
+ac_cv_env_CCAS_value=$CCAS
+ac_env_CCASFLAGS_set=${CCASFLAGS+set}
+ac_env_CCASFLAGS_value=$CCASFLAGS
+ac_cv_env_CCASFLAGS_set=${CCASFLAGS+set}
+ac_cv_env_CCASFLAGS_value=$CCASFLAGS
#
# Report the --help message.
@@ -1196,7 +729,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures newlib 1.16.0 to adapt to many kinds of systems.
+\`configure' configures newlib 1.15.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1216,6 +749,9 @@ Configuration:
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
+_ACEOF
+
+ cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
@@ -1233,22 +769,15 @@ Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/newlib]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
_ACEOF
cat <<\_ACEOF
@@ -1266,7 +795,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of newlib 1.16.0:";;
+ short | recursive ) echo "Configuration of newlib 1.15.0:";;
esac
cat <<\_ACEOF
@@ -1294,86 +823,120 @@ Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
-ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d $ac_dir || continue
ac_builddir=.
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
+if test "$ac_dir" != .; then
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
case $srcdir in
- .) # We are building in place.
+ .) # No --srcdir option. We are building in place.
ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
+ fi
+ cd $ac_popdir
done
fi
-test -n "$ac_init_help" && exit $ac_status
+test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-newlib configure 1.16.0
-generated by GNU Autoconf 2.61
+newlib configure 1.15.0
+generated by GNU Autoconf 2.59
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit
+ exit 0
fi
-cat >config.log <<_ACEOF
+exec 5>config.log
+cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by newlib $as_me 1.16.0, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+It was created by newlib $as_me 1.15.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
_ACEOF
-exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1392,7 +955,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1406,7 +969,6 @@ do
test -z "$as_dir" && as_dir=.
echo "PATH: $as_dir"
done
-IFS=$as_save_IFS
} >&5
@@ -1428,6 +990,7 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
+ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1438,7 +1001,7 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *\'*)
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
@@ -1460,7 +1023,9 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
;;
esac
done
@@ -1471,8 +1036,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
@@ -1485,34 +1050,20 @@ trap 'exit_status=$?
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
+{
(set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
*)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
- esac |
- sort
-)
+ esac;
+}
echo
cat <<\_ASBOX
@@ -1523,28 +1074,22 @@ _ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
+## ------------- ##
+## Output files. ##
+## ------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
fi
@@ -1556,24 +1101,26 @@ _ASBOX
## ----------- ##
_ASBOX
echo
- cat confdefs.h
+ sed "/^$/d" confdefs.h | sort
echo
fi
test "$ac_signal" != 0 &&
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
-' 0
+ ' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
# Predefined preprocessor variables.
@@ -1604,17 +1151,14 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
fi
-shift
-for ac_site_file
-do
+for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
{ echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1630,8 +1174,8 @@ if test -r "$cache_file"; then
{ echo "$as_me:$LINENO: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
esac
fi
else
@@ -1643,11 +1187,12 @@ fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
case $ac_old_set,$ac_new_set in
set,)
{ echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1672,7 +1217,8 @@ echo "$as_me: current value: $ac_new_val" >&2;}
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1689,6 +1235,12 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
{ (exit 1); exit 1; }; }
fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
@@ -1713,92 +1265,67 @@ fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_aux_dir=
-for ac_dir in ../../../.. "$srcdir"/../../../..; do
- if test -f "$ac_dir/install-sh"; then
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
- elif test -f "$ac_dir/install.sh"; then
+ elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
- elif test -f "$ac_dir/shtool"; then
+ elif test -f $ac_dir/shtool; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../../../.. \"$srcdir\"/../../../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in ../../../.. \"$srcdir\"/../../../.." >&2;}
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../../../.. $srcdir/../../../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ../../../.. $srcdir/../../../.." >&2;}
{ (exit 1); exit 1; }; }
fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
if test "${ac_cv_build+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
+ ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
-esac
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
am__api_version="1.9"
@@ -1815,8 +1342,8 @@ am__api_version="1.9"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1838,7 +1365,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -1857,22 +1384,21 @@ case $as_dir/ in
;;
esac
done
-IFS=$as_save_IFS
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
+ # removed, or if the path is relative.
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -1882,8 +1408,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -1925,20 +1451,20 @@ echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
# Double any \ or $. echo might interpret backslashes.
# By default was `s,x,x', remove it if useless.
cat <<\_ACEOF >conftest.sed
s/[\\$]/&&/g;s/;s,x,x,$//
_ACEOF
program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+rm conftest.sed
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1990,8 +1516,8 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_AWK+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2004,57 +1530,54 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
test -n "$AWK" && break
done
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
+ @echo 'ac_maketemp="$(MAKE)"'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
rm -f conftest.make
fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -2069,7 +1592,7 @@ rmdir .tst 2>/dev/null
DEPDIR="${am__leading_dot}deps"
-ac_config_commands="$ac_config_commands depfiles"
+ ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
@@ -2079,8 +1602,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
am__include="#"
am__quote=
_am_result=none
@@ -2107,15 +1630,15 @@ if test "$am__include" = "#"; then
fi
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
rm -f confinc confmf
-# Check whether --enable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
- enableval=$enable_dependency_tracking;
-fi
+ enableval="$enable_dependency_tracking"
+fi;
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -2133,9 +1656,10 @@ fi
-# Check whether --enable-multilib was given.
+# Check whether --enable-multilib or --disable-multilib was given.
if test "${enable_multilib+set}" = set; then
- enableval=$enable_multilib; case "${enableval}" in
+ enableval="$enable_multilib"
+ case "${enableval}" in
yes) multilib=yes ;;
no) multilib=no ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
@@ -2144,11 +1668,11 @@ echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
esac
else
multilib=yes
-fi
-
-# Check whether --enable-target-optspace was given.
+fi;
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
if test "${enable_target_optspace+set}" = set; then
- enableval=$enable_target_optspace; case "${enableval}" in
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
yes) target_optspace=yes ;;
no) target_optspace=no ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for target-optspace option" >&5
@@ -2157,11 +1681,11 @@ echo "$as_me: error: bad value ${enableval} for target-optspace option" >&2;}
esac
else
target_optspace=
-fi
-
-# Check whether --enable-malloc-debugging was given.
+fi;
+# Check whether --enable-malloc-debugging or --disable-malloc-debugging was given.
if test "${enable_malloc_debugging+set}" = set; then
- enableval=$enable_malloc_debugging; case "${enableval}" in
+ enableval="$enable_malloc_debugging"
+ case "${enableval}" in
yes) malloc_debugging=yes ;;
no) malloc_debugging=no ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for malloc-debugging option" >&5
@@ -2170,11 +1694,11 @@ echo "$as_me: error: bad value ${enableval} for malloc-debugging option" >&2;}
esac
else
malloc_debugging=
-fi
-
-# Check whether --enable-newlib-multithread was given.
+fi;
+# Check whether --enable-newlib-multithread or --disable-newlib-multithread was given.
if test "${enable_newlib_multithread+set}" = set; then
- enableval=$enable_newlib_multithread; case "${enableval}" in
+ enableval="$enable_newlib_multithread"
+ case "${enableval}" in
yes) newlib_multithread=yes ;;
no) newlib_multithread=no ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for newlib-multithread option" >&5
@@ -2183,11 +1707,11 @@ echo "$as_me: error: bad value ${enableval} for newlib-multithread option" >&2;}
esac
else
newlib_multithread=yes
-fi
-
-# Check whether --enable-newlib-iconv was given.
+fi;
+# Check whether --enable-newlib-iconv or --disable-newlib-iconv was given.
if test "${enable_newlib_iconv+set}" = set; then
- enableval=$enable_newlib_iconv; if test "${newlib_iconv+set}" != set; then
+ enableval="$enable_newlib_iconv"
+ if test "${newlib_iconv+set}" != set; then
case "${enableval}" in
yes) newlib_iconv=yes ;;
no) newlib_iconv=no ;;
@@ -2198,11 +1722,11 @@ echo "$as_me: error: bad value ${enableval} for newlib-iconv option" >&2;}
fi
else
newlib_iconv=${newlib_iconv}
-fi
-
-# Check whether --enable-newlib-elix-level was given.
+fi;
+# Check whether --enable-newlib-elix-level or --disable-newlib-elix-level was given.
if test "${enable_newlib_elix_level+set}" = set; then
- enableval=$enable_newlib_elix_level; case "${enableval}" in
+ enableval="$enable_newlib_elix_level"
+ case "${enableval}" in
0) newlib_elix_level=0 ;;
1) newlib_elix_level=1 ;;
2) newlib_elix_level=2 ;;
@@ -2214,11 +1738,11 @@ echo "$as_me: error: bad value ${enableval} for newlib-elix-level option" >&2;}
esac
else
newlib_elix_level=0
-fi
-
-# Check whether --enable-newlib-io-float was given.
+fi;
+# Check whether --enable-newlib-io-float or --disable-newlib-io-float was given.
if test "${enable_newlib_io_float+set}" = set; then
- enableval=$enable_newlib_io_float; case "${enableval}" in
+ enableval="$enable_newlib_io_float"
+ case "${enableval}" in
yes) newlib_io_float=yes ;;
no) newlib_io_float=no ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for newlib-io-float option" >&5
@@ -2227,11 +1751,11 @@ echo "$as_me: error: bad value ${enableval} for newlib-io-float option" >&2;}
esac
else
newlib_io_float=yes
-fi
-
-# Check whether --enable-newlib-supplied-syscalls was given.
+fi;
+# Check whether --enable-newlib-supplied-syscalls or --disable-newlib-supplied-syscalls was given.
if test "${enable_newlib_supplied_syscalls+set}" = set; then
- enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in
+ enableval="$enable_newlib_supplied_syscalls"
+ case "${enableval}" in
yes) newlib_may_supply_syscalls=yes ;;
no) newlib_may_supply_syscalls=no ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for newlib-supplied-syscalls option" >&5
@@ -2240,8 +1764,7 @@ echo "$as_me: error: bad value ${enableval} for newlib-supplied-syscalls option"
esac
else
newlib_may_supply_syscalls=yes
-fi
-
+fi;
if test x${newlib_may_supply_syscalls} = xyes; then
@@ -2267,41 +1790,26 @@ else
fi
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
if test "${ac_cv_host+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
-fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
-esac
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
@@ -2325,7 +1833,7 @@ fi
# Define the identity of the package.
PACKAGE='newlib'
- VERSION='1.16.0'
+ VERSION='1.15.0'
# Some tools Automake needs.
@@ -2354,8 +1862,8 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2368,34 +1876,32 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2408,41 +1914,27 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
+ STRIP=$ac_ct_STRIP
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -2477,8 +1969,8 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2491,32 +1983,30 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="gcc"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
depcc="$CC" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2605,8 +2095,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
@@ -2625,8 +2115,8 @@ fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2640,7 +2130,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -2651,7 +2141,6 @@ do
fi
done
done
-IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -2669,21 +2158,20 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: checking whether we are using GNU C" >&5
-echo $ECHO_N "checking whether we are using GNU C... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking whether we are using GNU C" >&5
+echo $ECHO_N "checking whether we are using GNU C... $ECHO_C" >&6
if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2703,8 +2191,8 @@ else
ac_cv_c_compiler_gnu=no
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
if test $ac_cv_c_compiler_gnu = yes; then
GCC=yes
@@ -2713,16 +2201,13 @@ if test $ac_cv_c_compiler_gnu = yes; then
CFLAGS=
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2738,118 +2223,38 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+ (exit $ac_status); }; }; then
ac_cv_prog_cc_g=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_prog_cc_g=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2881,8 +2286,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_AS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2895,34 +2300,32 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AS="${ac_tool_prefix}as"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
AS=$ac_cv_prog_AS
if test -n "$AS"; then
- { echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6; }
+ echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_AS"; then
ac_ct_AS=$AS
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2935,41 +2338,26 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AS="as"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
ac_ct_AS=$ac_cv_prog_ac_ct_AS
if test -n "$ac_ct_AS"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+echo "${ECHO_T}$ac_ct_AS" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_AS" = x; then
- AS=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AS=$ac_ct_AS
- fi
+ AS=$ac_ct_AS
else
AS="$ac_cv_prog_AS"
fi
@@ -2977,8 +2365,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -2991,34 +2379,32 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
+ echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3031,41 +2417,26 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="ar"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_AR" = x; then
- AR=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
+ AR=$ac_ct_AR
else
AR="$ac_cv_prog_AR"
fi
@@ -3073,8 +2444,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3087,34 +2458,32 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
+ echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3127,41 +2496,27 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
+ test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
+ RANLIB=$ac_ct_RANLIB
else
RANLIB="$ac_cv_prog_RANLIB"
fi
@@ -3169,8 +2524,8 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
set dummy ${ac_tool_prefix}readelf; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_READELF+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3183,34 +2538,32 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_READELF="${ac_tool_prefix}readelf"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
fi
fi
READELF=$ac_cv_prog_READELF
if test -n "$READELF"; then
- { echo "$as_me:$LINENO: result: $READELF" >&5
-echo "${ECHO_T}$READELF" >&6; }
+ echo "$as_me:$LINENO: result: $READELF" >&5
+echo "${ECHO_T}$READELF" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_READELF"; then
ac_ct_READELF=$READELF
# Extract the first word of "readelf", so it can be a program name with args.
set dummy readelf; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_READELF+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -3223,41 +2576,27 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_READELF="readelf"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
-IFS=$as_save_IFS
+ test -z "$ac_cv_prog_ac_ct_READELF" && ac_cv_prog_ac_ct_READELF=":"
fi
fi
ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
if test -n "$ac_ct_READELF"; then
- { echo "$as_me:$LINENO: result: $ac_ct_READELF" >&5
-echo "${ECHO_T}$ac_ct_READELF" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_READELF" >&5
+echo "${ECHO_T}$ac_ct_READELF" >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_READELF" = x; then
- READELF=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- READELF=$ac_ct_READELF
- fi
+ READELF=$ac_ct_READELF
else
READELF="$ac_cv_prog_READELF"
fi
@@ -3276,8 +2615,8 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3299,7 +2638,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -3318,22 +2657,21 @@ case $as_dir/ in
;;
esac
done
-IFS=$as_save_IFS
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
+ # removed, or if the path is relative.
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -3347,17 +2685,17 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# Hack to ensure that INSTALL won't be set to "../" with autoconf 2.13. */
ac_given_INSTALL=$INSTALL
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
- # Check whether --enable-maintainer-mode was given.
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
-fi
-
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+fi;
+ echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
if test $USE_MAINTAINER_MODE = yes; then
@@ -3477,7 +2815,7 @@ OBJEXT=${oext}
-ac_config_files="$ac_config_files Makefile"
+ ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -3497,58 +2835,39 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
+# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
-
+{
(set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
+ ;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
- esac |
- sort
-) |
+ esac;
+} |
sed '
- /^ac_cv_env_/b end
t clear
- :clear
+ : clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
cat confcache >$cache_file
else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
@@ -3557,48 +2876,63 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
+# take arguments), then we branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
-ac_script='
+cat >confdef2opt.sed <<\_ACEOF
t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -3699,45 +3033,17 @@ cat >>$CONFIG_STATUS <<\_ACEOF
## M4sh Initialization. ##
## --------------------- ##
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
+# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -3747,43 +3053,8 @@ else
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
+$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
@@ -3797,19 +3068,18 @@ do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ $as_unset $as_var
fi
done
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -3817,120 +3087,159 @@ fi
# Name of the executable.
-as_me=`$as_basename -- "$0" ||
+as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
-# CDPATH.
-$as_unset CDPATH
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
as_lineno_1=$LINENO
as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
t loop
- s/-\n.*//
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
# Exit status is that of the last command.
exit
}
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
+rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -3939,28 +3248,7 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -3969,14 +3257,31 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
exec 6>&1
-# Save the log message, to keep $[0] and so on meaningful, and to
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by newlib $as_me 1.16.0, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by newlib $as_me 1.15.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -3984,19 +3289,30 @@ generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
# Files that config.status was made for.
-config_files="$ac_config_files"
-config_commands="$ac_config_commands"
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
-_ACEOF
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
cat >>$CONFIG_STATUS <<\_ACEOF
+
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
@@ -4004,7 +3320,7 @@ current configuration.
Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
+ -V, --version print version number, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
@@ -4018,21 +3334,19 @@ Configuration commands:
$config_commands
Report bugs to <bug-autoconf@gnu.org>."
-
_ACEOF
+
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-newlib config.status 1.16.0
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+newlib config.status 1.15.0
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
+srcdir=$srcdir
+INSTALL="$INSTALL"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -4043,42 +3357,60 @@ while test $# != 0
do
case $1 in
--*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
ac_shift=:
;;
- *)
+ -*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
CONFIG_FILES="$CONFIG_FILES $ac_optarg"
ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
{ (exit 1); exit 1; }; } ;;
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
+ *) ac_config_targets="$ac_config_targets $1" ;;
esac
shift
@@ -4094,48 +3426,36 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
- export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- echo "$ac_log"
-} >&5
-_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
#
-# INIT-COMMANDS
+# INIT-COMMANDS section.
#
+
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# Handling of arguments.
+
+cat >>$CONFIG_STATUS <<\_ACEOF
for ac_config_target in $ac_config_targets
do
- case $ac_config_target in
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
-
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -4146,466 +3466,363 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
+# simply because there is no reason to put it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
+# Create a temporary directory, and hook for its removal unless debugging.
$debug ||
{
- tmp=
- trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
+
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
} ||
{
echo "$me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
#
-# Set up the sed scripts for CONFIG_FILES section.
+# CONFIG_FILES section.
#
# No need to generate the scripts if there are no CONFIG_FILES.
# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-MAY_SUPPLY_SYSCALLS_TRUE!$MAY_SUPPLY_SYSCALLS_TRUE$ac_delim
-MAY_SUPPLY_SYSCALLS_FALSE!$MAY_SUPPLY_SYSCALLS_FALSE$ac_delim
-newlib_basedir!$newlib_basedir$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-CC!$CC$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-AS!$AS$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-READELF!$READELF$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-CCAS!$CCAS$ac_delim
-CCASFLAGS!$CCASFLAGS$ac_delim
-NEWLIB_CFLAGS!$NEWLIB_CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-ELIX_LEVEL_0_TRUE!$ELIX_LEVEL_0_TRUE$ac_delim
-ELIX_LEVEL_0_FALSE!$ELIX_LEVEL_0_FALSE$ac_delim
-ELIX_LEVEL_1_TRUE!$ELIX_LEVEL_1_TRUE$ac_delim
-ELIX_LEVEL_1_FALSE!$ELIX_LEVEL_1_FALSE$ac_delim
-ELIX_LEVEL_2_TRUE!$ELIX_LEVEL_2_TRUE$ac_delim
-ELIX_LEVEL_2_FALSE!$ELIX_LEVEL_2_FALSE$ac_delim
-ELIX_LEVEL_3_TRUE!$ELIX_LEVEL_3_TRUE$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
-
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@MAY_SUPPLY_SYSCALLS_TRUE@,$MAY_SUPPLY_SYSCALLS_TRUE,;t t
+s,@MAY_SUPPLY_SYSCALLS_FALSE@,$MAY_SUPPLY_SYSCALLS_FALSE,;t t
+s,@newlib_basedir@,$newlib_basedir,;t t
+s,@build@,$build,;t t
+s,@build_cpu@,$build_cpu,;t t
+s,@build_vendor@,$build_vendor,;t t
+s,@build_os@,$build_os,;t t
+s,@host@,$host,;t t
+s,@host_cpu@,$host_cpu,;t t
+s,@host_vendor@,$host_vendor,;t t
+s,@host_os@,$host_os,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@mkdir_p@,$mkdir_p,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@am__tar@,$am__tar,;t t
+s,@am__untar@,$am__untar,;t t
+s,@CC@,$CC,;t t
+s,@DEPDIR@,$DEPDIR,;t t
+s,@am__include@,$am__include,;t t
+s,@am__quote@,$am__quote,;t t
+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s,@CCDEPMODE@,$CCDEPMODE,;t t
+s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s,@AS@,$AS,;t t
+s,@ac_ct_AS@,$ac_ct_AS,;t t
+s,@AR@,$AR,;t t
+s,@ac_ct_AR@,$ac_ct_AR,;t t
+s,@RANLIB@,$RANLIB,;t t
+s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s,@READELF@,$READELF,;t t
+s,@ac_ct_READELF@,$ac_ct_READELF,;t t
+s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s,@MAINT@,$MAINT,;t t
+s,@CCAS@,$CCAS,;t t
+s,@CCASFLAGS@,$CCASFLAGS,;t t
+s,@NEWLIB_CFLAGS@,$NEWLIB_CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@ELIX_LEVEL_0_TRUE@,$ELIX_LEVEL_0_TRUE,;t t
+s,@ELIX_LEVEL_0_FALSE@,$ELIX_LEVEL_0_FALSE,;t t
+s,@ELIX_LEVEL_1_TRUE@,$ELIX_LEVEL_1_TRUE,;t t
+s,@ELIX_LEVEL_1_FALSE@,$ELIX_LEVEL_1_FALSE,;t t
+s,@ELIX_LEVEL_2_TRUE@,$ELIX_LEVEL_2_TRUE,;t t
+s,@ELIX_LEVEL_2_FALSE@,$ELIX_LEVEL_2_FALSE,;t t
+s,@ELIX_LEVEL_3_TRUE@,$ELIX_LEVEL_3_TRUE,;t t
+s,@ELIX_LEVEL_3_FALSE@,$ELIX_LEVEL_3_FALSE,;t t
+s,@ELIX_LEVEL_4_TRUE@,$ELIX_LEVEL_4_TRUE,;t t
+s,@ELIX_LEVEL_4_FALSE@,$ELIX_LEVEL_4_FALSE,;t t
+s,@USE_LIBTOOL_TRUE@,$USE_LIBTOOL_TRUE,;t t
+s,@USE_LIBTOOL_FALSE@,$USE_LIBTOOL_FALSE,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@oext@,$oext,;t t
+s,@aext@,$aext,;t t
+s,@lpfx@,$lpfx,;t t
+s,@libm_machine_dir@,$libm_machine_dir,;t t
+s,@machine_dir@,$machine_dir,;t t
+s,@sys_dir@,$sys_dir,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-ELIX_LEVEL_3_FALSE!$ELIX_LEVEL_3_FALSE$ac_delim
-ELIX_LEVEL_4_TRUE!$ELIX_LEVEL_4_TRUE$ac_delim
-ELIX_LEVEL_4_FALSE!$ELIX_LEVEL_4_FALSE$ac_delim
-USE_LIBTOOL_TRUE!$USE_LIBTOOL_TRUE$ac_delim
-USE_LIBTOOL_FALSE!$USE_LIBTOOL_FALSE$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-oext!$oext$ac_delim
-aext!$aext$ac_delim
-lpfx!$lpfx$ac_delim
-libm_machine_dir!$libm_machine_dir$ac_delim
-machine_dir!$machine_dir$ac_delim
-sys_dir!$sys_dir$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 14; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+fi # test -n "$CONFIG_FILES"
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
_ACEOF
-
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in :F $CONFIG_FILES :C $CONFIG_COMMANDS
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
- { (exit 1); exit 1; }; };;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- ac_file_inputs="$ac_file_inputs $ac_f"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- fi
-
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
- esac
- ;;
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
esac
- ac_dir=`$as_dirname -- "$ac_file" ||
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
{ (exit 1); exit 1; }; }; }
+
ac_builddir=.
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
+if test "$ac_dir" != .; then
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
case $srcdir in
- .) # We are building in place.
+ .) # No --srcdir option. We are building in place.
ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-case `sed -n '/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
$extrasub
@@ -4613,43 +3830,142 @@ _ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
- ;;
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_dest" : 'X\(//\)[^/]' \| \
+ X"$ac_dest" : 'X\(//\)$' \| \
+ X"$ac_dest" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+ case $ac_dest in
+ depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
@@ -4659,29 +3975,18 @@ echo "$as_me: executing $ac_file commands" >&6;}
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
+ dirpart=`(dirname "$mf") 2>/dev/null ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$mf" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
else
continue
fi
@@ -4703,79 +4008,53 @@ echo X"$mf" |
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
+ fdir=`(dirname "$file") 2>/dev/null ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir=$dirpart/$fdir
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p $dirpart/$fdir
+ else
+ as_dir=$dirpart/$fdir
as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
{ (exit 1); exit 1; }; }; }
+
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
;;
-
esac
-done # for ac_tag
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
{ (exit 0); exit 0; }
_ACEOF
diff --git a/newlib/libm/machine/spu/headers/acosd2.h b/newlib/libm/machine/spu/headers/acosd2.h
index fb702e81b..8c8095564 100644
--- a/newlib/libm/machine/spu/headers/acosd2.h
+++ b/newlib/libm/machine/spu/headers/acosd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/acosf4.h b/newlib/libm/machine/spu/headers/acosf4.h
index 4b76fda23..bb4dba658 100644
--- a/newlib/libm/machine/spu/headers/acosf4.h
+++ b/newlib/libm/machine/spu/headers/acosf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/acoshd2.h b/newlib/libm/machine/spu/headers/acoshd2.h
index a60eaccb6..b9bfd0cb2 100644
--- a/newlib/libm/machine/spu/headers/acoshd2.h
+++ b/newlib/libm/machine/spu/headers/acoshd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -79,78 +91,79 @@
* Taylor Series Coefficients
* for x around 1.
*/
-#define SDM_ACOSHD2_TAY01 1.000000000000000000000000000000000E0 /* 1 / 1 */
-#define SDM_ACOSHD2_TAY02 -8.333333333333333333333333333333333E-2 /* 1 / 12 */
-#define SDM_ACOSHD2_TAY03 1.875000000000000000000000000000000E-2 /* 3 / 160 */
-#define SDM_ACOSHD2_TAY04 -5.580357142857142857142857142857142E-3 /* 5 / 896 */
-#define SDM_ACOSHD2_TAY05 1.898871527777777777777777777777777E-3 /* 35 / 18432 */
-#define SDM_ACOSHD2_TAY06 -6.991299715909090909090909090909090E-4 /* 63 / 90112 */
-#define SDM_ACOSHD2_TAY07 2.711369441105769230769230769230769E-4 /* 231 / 851968 */
-#define SDM_ACOSHD2_TAY08 -1.091003417968750000000000000000000E-4 /* 143 / 1310720 */
-#define SDM_ACOSHD2_TAY09 4.512422225054572610294117647058823E-5 /* 6435 / 142606336 */
-#define SDM_ACOSHD2_TAY10 -1.906564361170718544407894736842105E-5 /* 12155 / 637534208 */
-#define SDM_ACOSHD2_TAY11 8.193687314078921363467261904761904E-6 /* 46189 / 5637144576 */
-#define SDM_ACOSHD2_TAY12 -3.570569274218186088230298913043478E-6 /* 88179 / 24696061952 */
-#define SDM_ACOSHD2_TAY13 1.574025955051183700561523437500000E-6 /* 676039 / 429496729600 */
-#define SDM_ACOSHD2_TAY14 -7.006881922414457356488263165509259E-7 /* 1300075 / 1855425871872 */
-#define SDM_ACOSHD2_TAY15 3.145330616650332150788142763335129E-7 /* 5014575 / 15942918602752 */
+#define ACOSH_TAY01 1.0000000000000000000000000000000000000000000000000000000000000000000000E0 /* 1 / 1 */
+#define ACOSH_TAY02 -8.3333333333333333333333333333333333333333333333333333333333333333333333E-2 /* 1 / 12 */
+#define ACOSH_TAY03 1.8750000000000000000000000000000000000000000000000000000000000000000000E-2 /* 3 / 160 */
+#define ACOSH_TAY04 -5.5803571428571428571428571428571428571428571428571428571428571428571429E-3 /* 5 / 896 */
+#define ACOSH_TAY05 1.8988715277777777777777777777777777777777777777777777777777777777777778E-3 /* 35 / 18432 */
+#define ACOSH_TAY06 -6.9912997159090909090909090909090909090909090909090909090909090909090909E-4 /* 63 / 90112 */
+#define ACOSH_TAY07 2.7113694411057692307692307692307692307692307692307692307692307692307692E-4 /* 231 / 851968 */
+#define ACOSH_TAY08 -1.0910034179687500000000000000000000000000000000000000000000000000000000E-4 /* 143 / 1310720 */
+#define ACOSH_TAY09 4.5124222250545726102941176470588235294117647058823529411764705882352941E-5 /* 6435 / 142606336 */
+#define ACOSH_TAY10 -1.9065643611707185444078947368421052631578947368421052631578947368421053E-5 /* 12155 / 637534208 */
+#define ACOSH_TAY11 8.1936873140789213634672619047619047619047619047619047619047619047619048E-6 /* 46189 / 5637144576 */
+#define ACOSH_TAY12 -3.5705692742181860882302989130434782608695652173913043478260869565217391E-6 /* 88179 / 24696061952 */
+#define ACOSH_TAY13 1.5740259550511837005615234375000000000000000000000000000000000000000000E-6 /* 676039 / 429496729600 */
+#define ACOSH_TAY14 -7.0068819224144573564882631655092592592592592592592592592592592592592593E-7 /* 1300075 / 1855425871872 */
+#define ACOSH_TAY15 3.1453306166503321507881427633351293103448275862068965517241379310344828E-7 /* 5014575 / 15942918602752 */
+#if 0
+#define ACOSH_TAY16 -1.4221629293564136230176494967552923387096774193548387096774193548387097E-7 /* 9694845 / 68169720922112 */
+#define ACOSH_TAY17 6.4711106776113328206437555226412686434659090909090909090909090909090909E-8 /* 100180065 / 1548112371908608 */
+#define ACOSH_TAY18 -2.9609409781171182528071637664522443498883928571428571428571428571428571E-8 /* 116680311 / 3940649673949184 */
+#define ACOSH_TAY19 1.3615438056281793767600509061201198680980785472972972972972972972972973E-8 /* 2268783825 / 166633186212708352 */
+#endif
static __inline vector double _acoshd2(vector double x)
{
vec_uchar16 dup_even = ((vec_uchar16) { 0,1,2,3, 0,1,2,3, 8,9,10,11, 8,9,10,11 });
vec_double2 minus_oned = spu_splats(-1.0);
vec_double2 twod = spu_splats(2.0);
+ vec_double2 xminus1;
+ vec_float4 xf;
/* Where we switch from taylor to formula */
vec_float4 switch_approx = spu_splats(1.15f);
+ vec_uint4 use_form;
vec_double2 result, fresult, mresult;;
- vec_double2 xminus1 = spu_add(x, minus_oned);
- vec_float4 xf = spu_roundtf(x);
+ xf = spu_roundtf(x);
xf = spu_shuffle(xf, xf, dup_even);
- vec_ullong2 use_form = (vec_ullong2)spu_cmpgt(xf, switch_approx);
-
- vec_double2 sqrtargformula = spu_madd(x, x, minus_oned);
- vec_double2 sqrtargtaylor = spu_mul(xminus1, twod);
- vec_double2 sqrtarg = spu_sel(sqrtargtaylor, sqrtargformula, use_form);
-
- vec_double2 sqrtresult = _sqrtd2(sqrtarg);
-
/*
* Formula:
* acosh = ln(x + sqrt(x^2 - 1))
*/
- fresult = spu_add(x, sqrtresult);
+ fresult = _sqrtd2(spu_madd(x, x, minus_oned));
+ fresult = spu_add(x, fresult);
fresult = _logd2(fresult);
/*
* Taylor Series
*/
- mresult = spu_splats(SDM_ACOSHD2_TAY15);
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY14));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY13));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY12));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY11));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY10));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY09));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY08));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY07));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY06));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY05));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY04));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY03));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY02));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHD2_TAY01));
-
-
- mresult = spu_mul(mresult, sqrtresult);
-
+ xminus1 = spu_add(x, minus_oned);
+
+ mresult = spu_madd(xminus1, spu_splats(ACOSH_TAY15), spu_splats(ACOSH_TAY14));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY13));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY12));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY11));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY10));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY09));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY08));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY07));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY06));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY05));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY04));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY03));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY02));
+ mresult = spu_madd(xminus1, mresult, spu_splats(ACOSH_TAY01));
+
+ mresult = spu_mul(mresult, _sqrtd2(spu_mul(xminus1, twod)));
/*
* Select series or formula
*/
- result = spu_sel(mresult, fresult, use_form);
+ use_form = spu_cmpgt(xf, switch_approx);
+ result = spu_sel(mresult, fresult, (vec_ullong2)use_form);
return result;
}
diff --git a/newlib/libm/machine/spu/headers/acoshf4.h b/newlib/libm/machine/spu/headers/acoshf4.h
index 4a364b640..3efc35ffc 100644
--- a/newlib/libm/machine/spu/headers/acoshf4.h
+++ b/newlib/libm/machine/spu/headers/acoshf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -77,26 +89,26 @@
* Taylor Series Coefficients
* for x around 1.
*/
-#define SDM_ACOSHF4_TAY01 1.00000000000000000000000000000000000E0f /* 1 / 1 */
-#define SDM_ACOSHF4_TAY02 -8.33333333333333333333333333333333333E-2f /* 1 / 12 */
-#define SDM_ACOSHF4_TAY03 1.87500000000000000000000000000000000E-2f /* 3 / 160 */
-#define SDM_ACOSHF4_TAY04 -5.58035714285714285714285714285714286E-3f /* 5 / 896 */
-#define SDM_ACOSHF4_TAY05 1.89887152777777777777777777777777778E-3f /* 35 / 18432 */
-#define SDM_ACOSHF4_TAY06 -6.99129971590909090909090909090909091E-4f /* 63 / 90112 */
-#define SDM_ACOSHF4_TAY07 2.71136944110576923076923076923076923E-4f /* 231 / 851968 */
-#define SDM_ACOSHF4_TAY08 -1.09100341796875000000000000000000000E-4f /* 143 / 1310720 */
-#define SDM_ACOSHF4_TAY09 4.51242222505457261029411764705882353E-5f /* 6435 / 142606336 */
-#define SDM_ACOSHF4_TAY10 -1.90656436117071854440789473684210526E-5f /* 12155 / 637534208 */
-#define SDM_ACOSHF4_TAY11 8.19368731407892136346726190476190476E-6f /* 46189 / 5637144576 */
-#define SDM_ACOSHF4_TAY12 -3.57056927421818608823029891304347826E-6f /* 88179 / 24696061952 */
-#define SDM_ACOSHF4_TAY13 1.57402595505118370056152343750000000E-6f /* 676039 / 429496729600 */
-#define SDM_ACOSHF4_TAY14 -7.00688192241445735648826316550925926E-7f /* 1300075 / 1855425871872 */
-#define SDM_ACOSHF4_TAY15 3.14533061665033215078814276333512931E-7f /* 5014575 / 15942918602752 */
+#define ACOSH_TAY01 1.0000000000000000000000000000000000000000000000000000000000000000000000E0 /* 1 / 1 */
+#define ACOSH_TAY02 -8.3333333333333333333333333333333333333333333333333333333333333333333333E-2 /* 1 / 12 */
+#define ACOSH_TAY03 1.8750000000000000000000000000000000000000000000000000000000000000000000E-2 /* 3 / 160 */
+#define ACOSH_TAY04 -5.5803571428571428571428571428571428571428571428571428571428571428571429E-3 /* 5 / 896 */
+#define ACOSH_TAY05 1.8988715277777777777777777777777777777777777777777777777777777777777778E-3 /* 35 / 18432 */
+#define ACOSH_TAY06 -6.9912997159090909090909090909090909090909090909090909090909090909090909E-4 /* 63 / 90112 */
+#define ACOSH_TAY07 2.7113694411057692307692307692307692307692307692307692307692307692307692E-4 /* 231 / 851968 */
+#define ACOSH_TAY08 -1.0910034179687500000000000000000000000000000000000000000000000000000000E-4 /* 143 / 1310720 */
+#define ACOSH_TAY09 4.5124222250545726102941176470588235294117647058823529411764705882352941E-5 /* 6435 / 142606336 */
+#define ACOSH_TAY10 -1.9065643611707185444078947368421052631578947368421052631578947368421053E-5 /* 12155 / 637534208 */
+#define ACOSH_TAY11 8.1936873140789213634672619047619047619047619047619047619047619047619048E-6 /* 46189 / 5637144576 */
+#define ACOSH_TAY12 -3.5705692742181860882302989130434782608695652173913043478260869565217391E-6 /* 88179 / 24696061952 */
+#define ACOSH_TAY13 1.5740259550511837005615234375000000000000000000000000000000000000000000E-6 /* 676039 / 429496729600 */
+#define ACOSH_TAY14 -7.0068819224144573564882631655092592592592592592592592592592592592592593E-7 /* 1300075 / 1855425871872 */
+#define ACOSH_TAY15 3.1453306166503321507881427633351293103448275862068965517241379310344828E-7 /* 5014575 / 15942918602752 */
#if 0
-#define SDM_ACOSHF4_TAY16 -1.42216292935641362301764949675529234E-7f /* 9694845 / 68169720922112 */
-#define SDM_ACOSHF4_TAY17 6.47111067761133282064375552264126864E-8f /* 100180065 / 1548112371908608 */
-#define SDM_ACOSHF4_TAY18 -2.96094097811711825280716376645224435E-8f /* 116680311 / 3940649673949184 */
-#define SDM_ACOSHF4_TAY19 1.36154380562817937676005090612011987E-8f /* 2268783825 / 166633186212708352 */
+#define ACOSH_TAY16 -1.4221629293564136230176494967552923387096774193548387096774193548387097E-7 /* 9694845 / 68169720922112 */
+#define ACOSH_TAY17 6.4711106776113328206437555226412686434659090909090909090909090909090909E-8 /* 100180065 / 1548112371908608 */
+#define ACOSH_TAY18 -2.9609409781171182528071637664522443498883928571428571428571428571428571E-8 /* 116680311 / 3940649673949184 */
+#define ACOSH_TAY19 1.3615438056281793767600509061201198680980785472972972972972972972972973E-8 /* 2268783825 / 166633186212708352 */
#endif
@@ -105,7 +117,6 @@ static __inline vector float _acoshf4(vector float x)
{
vec_float4 minus_onef = spu_splats(-1.0f);
vec_float4 twof = spu_splats(2.0f);
- vec_float4 largef = spu_splats(2.5e19f);
vec_float4 xminus1;
/* Where we switch from taylor to formula */
vec_float4 switch_approx = spu_splats(2.0f);
@@ -118,33 +129,30 @@ static __inline vector float _acoshf4(vector float x)
* acosh = ln(x + sqrt(x^2 - 1))
*/
fresult = _sqrtf4(spu_madd(x, x, minus_onef));
- fresult = spu_add(x, spu_sel(fresult, x, spu_cmpgt(x, largef)));
+ fresult = spu_add(x, fresult);
fresult = _logf4(fresult);
- fresult = (vec_float4)spu_add((vec_uint4)fresult, spu_splats(2u));
/*
* Taylor Series
*/
xminus1 = spu_add(x, minus_onef);
- mresult = spu_splats(SDM_ACOSHF4_TAY15);
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY14));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY13));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY12));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY11));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY10));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY09));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY08));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY07));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY06));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY05));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY04));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY03));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY02));
- mresult = spu_madd(xminus1, mresult, spu_splats(SDM_ACOSHF4_TAY01));
+ mresult = spu_madd(xminus1, spu_splats((float)ACOSH_TAY15), spu_splats((float)ACOSH_TAY14));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY13));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY12));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY11));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY10));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY09));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY08));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY07));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY06));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY05));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY04));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY03));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY02));
+ mresult = spu_madd(xminus1, mresult, spu_splats((float)ACOSH_TAY01));
mresult = spu_mul(mresult, _sqrtf4(spu_mul(xminus1, twof)));
- mresult = (vec_float4)spu_add((vec_uint4)mresult, spu_splats(1u));
/*
* Select series or formula
@@ -152,7 +160,6 @@ static __inline vector float _acoshf4(vector float x)
use_form = spu_cmpgt(x, switch_approx);
result = spu_sel(mresult, fresult, use_form);
-
return result;
}
diff --git a/newlib/libm/machine/spu/headers/asind2.h b/newlib/libm/machine/spu/headers/asind2.h
index bfa5c7554..ad414a287 100644
--- a/newlib/libm/machine/spu/headers/asind2.h
+++ b/newlib/libm/machine/spu/headers/asind2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/asinf4.h b/newlib/libm/machine/spu/headers/asinf4.h
index e9db1408b..fefee5703 100644
--- a/newlib/libm/machine/spu/headers/asinf4.h
+++ b/newlib/libm/machine/spu/headers/asinf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/asinhd2.h b/newlib/libm/machine/spu/headers/asinhd2.h
index 8a0b97c4d..542d59858 100644
--- a/newlib/libm/machine/spu/headers/asinhd2.h
+++ b/newlib/libm/machine/spu/headers/asinhd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -81,27 +93,43 @@
* Maclaurin Series Coefficients
* for x near 0.
*/
-#define SDM_ASINHD2_MAC01 1.000000000000000000000000000000000000000000E0
-#define SDM_ASINHD2_MAC03 -1.666666666666666666666666666666666666666667E-1
-#define SDM_ASINHD2_MAC05 7.500000000000000000000000000000000000000000E-2
-#define SDM_ASINHD2_MAC07 -4.464285714285714285714285714285714285714286E-2
-#define SDM_ASINHD2_MAC09 3.038194444444444444444444444444444444444444E-2
-#define SDM_ASINHD2_MAC11 -2.237215909090909090909090909090909090909091E-2
-#define SDM_ASINHD2_MAC13 1.735276442307692307692307692307692307692308E-2
-#define SDM_ASINHD2_MAC15 -1.396484375000000000000000000000000000000000E-2
-#define SDM_ASINHD2_MAC17 1.155180089613970588235294117647058823529412E-2
+#define ASINH_MAC01 1.0000000000000000000000000000000000000000000000000000000000000000000000E0
+#define ASINH_MAC03 -1.6666666666666666666666666666666666666666666666666666666666666666666667E-1
+#define ASINH_MAC05 7.5000000000000000000000000000000000000000000000000000000000000000000000E-2
+#define ASINH_MAC07 -4.4642857142857142857142857142857142857142857142857142857142857142857143E-2
+#define ASINH_MAC09 3.0381944444444444444444444444444444444444444444444444444444444444444444E-2
+#define ASINH_MAC11 -2.2372159090909090909090909090909090909090909090909090909090909090909091E-2
+#define ASINH_MAC13 1.7352764423076923076923076923076923076923076923076923076923076923076923E-2
+#define ASINH_MAC15 -1.3964843750000000000000000000000000000000000000000000000000000000000000E-2
+#define ASINH_MAC17 1.1551800896139705882352941176470588235294117647058823529411764705882353E-2
+#if 0
+#define ASINH_MAC19 -9.7616095291940789473684210526315789473684210526315789473684210526315789E-3
+#define ASINH_MAC21 8.3903358096168154761904761904761904761904761904761904761904761904761905E-3
+#define ASINH_MAC23 -7.3125258735988451086956521739130434782608695652173913043478260869565217E-3
+#define ASINH_MAC25 6.4472103118896484375000000000000000000000000000000000000000000000000000E-3
+#define ASINH_MAC27 -5.7400376708419234664351851851851851851851851851851851851851851851851852E-3
+#define ASINH_MAC29 5.1533096823199041958512931034482758620689655172413793103448275862068966E-3
+#define ASINH_MAC31 -4.6601434869150961599042338709677419354838709677419354838709677419354839E-3
+#define ASINH_MAC33 4.2409070936793630773370916193181818181818181818181818181818181818181818E-3
+#define ASINH_MAC35 -3.8809645588376692363194056919642857142857142857142857142857142857142857E-3
+#define ASINH_MAC37 3.5692053938259345454138678473395270270270270270270270270270270270270270E-3
+#define ASINH_MAC39 -3.2970595034734847453924325796274038461538461538461538461538461538461538E-3
+#define ASINH_MAC41 3.0578216492580306693548109473251714939024390243902439024390243902439024E-3
+#define ASINH_MAC43 -2.8461784011089421678767647854117460029069767441860465116279069767441860E-3
+#endif
static __inline vector double _asinhd2(vector double x)
{
vec_double2 sign_mask = spu_splats(-0.0);
vec_double2 oned = spu_splats(1.0);
- vec_uchar16 dup_even = ((vec_uchar16) { 0,1,2,3, 0,1,2,3, 8,9,10,11, 8,9,10,11 });
+ vec_uchar16 dup_even = ((vec_uchar16) { 0,1,2,3, 0,1,2,3, 8,9,10,11, 8,9,10,11 });
vec_uint4 infminus1 = spu_splats(0x7FEFFFFFU);
vec_uint4 isinfnan;
vec_double2 xabs, xsqu;
vec_uint4 xabshigh;
- vec_float4 switch_approx = spu_splats(0.165f); /* Where we switch from maclaurin to formula */
+ /* Where we switch from maclaurin to formula */
+ vec_float4 switch_approx = spu_splats(0.165f);
vec_uint4 use_form;
vec_float4 xf;
vec_double2 result, fresult, mresult;
@@ -125,16 +153,14 @@ static __inline vector double _asinhd2(vector double x)
/*
* Maclaurin Series approximation
*/
-
- mresult = spu_splats(SDM_ASINHD2_MAC17);
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC15));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC13));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC11));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC09));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC07));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC05));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC03));
- mresult = spu_madd(xsqu, mresult, spu_splats(SDM_ASINHD2_MAC01));
+ mresult = spu_madd(xsqu, spu_splats(ASINH_MAC17), spu_splats(ASINH_MAC15));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC13));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC11));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC09));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC07));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC05));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC03));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ASINH_MAC01));
mresult = spu_mul(xabs, mresult);
diff --git a/newlib/libm/machine/spu/headers/asinhf4.h b/newlib/libm/machine/spu/headers/asinhf4.h
index 6a8a3b5da..c6e317a7c 100644
--- a/newlib/libm/machine/spu/headers/asinhf4.h
+++ b/newlib/libm/machine/spu/headers/asinhf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/atan2d2.h b/newlib/libm/machine/spu/headers/atan2d2.h
index 4a25756d3..2c8e576af 100644
--- a/newlib/libm/machine/spu/headers/atan2d2.h
+++ b/newlib/libm/machine/spu/headers/atan2d2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/atan2f4.h b/newlib/libm/machine/spu/headers/atan2f4.h
index 1899ce0c8..58293fbeb 100644
--- a/newlib/libm/machine/spu/headers/atan2f4.h
+++ b/newlib/libm/machine/spu/headers/atan2f4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/atand2.h b/newlib/libm/machine/spu/headers/atand2.h
index 244c15d3e..27d55c9b3 100644
--- a/newlib/libm/machine/spu/headers/atand2.h
+++ b/newlib/libm/machine/spu/headers/atand2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/atanf4.h b/newlib/libm/machine/spu/headers/atanf4.h
index 3fd803ce9..a62b88c28 100644
--- a/newlib/libm/machine/spu/headers/atanf4.h
+++ b/newlib/libm/machine/spu/headers/atanf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/atanhd2.h b/newlib/libm/machine/spu/headers/atanhd2.h
index 85e78580f..b1bc33ef9 100644
--- a/newlib/libm/machine/spu/headers/atanhd2.h
+++ b/newlib/libm/machine/spu/headers/atanhd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -60,7 +72,7 @@
* Special Cases:
* - atanh(1) = Infinity
* - atanh(-1) = -Infinity
- * - atanh(x) for |x| > 1 = Undefined
+ * - atanh(x) for |x| > 1 = NaN
*
*/
@@ -68,27 +80,37 @@
* Maclaurin Series Coefficients
* for x near 0.
*/
-#define SMD_DP_ATANH_MAC01 1.000000000000000000000000000000E0
-#define SMD_DP_ATANH_MAC03 3.333333333333333333333333333333E-1
-#define SMD_DP_ATANH_MAC05 2.000000000000000000000000000000E-1
-#define SMD_DP_ATANH_MAC07 1.428571428571428571428571428571E-1
-#define SMD_DP_ATANH_MAC09 1.111111111111111111111111111111E-1
-#define SMD_DP_ATANH_MAC11 9.090909090909090909090909090909E-2
-#define SMD_DP_ATANH_MAC13 7.692307692307692307692307692308E-2
-#define SMD_DP_ATANH_MAC15 6.666666666666666666666666666667E-2
-#define SMD_DP_ATANH_MAC17 5.882352941176470588235294117647E-2
+#define ATANH_MAC01 1.0000000000000000000000000000000000000000000000000000000000000000000000E0
+#define ATANH_MAC03 3.3333333333333333333333333333333333333333333333333333333333333333333333E-1
+#define ATANH_MAC05 2.0000000000000000000000000000000000000000000000000000000000000000000000E-1
+#define ATANH_MAC07 1.4285714285714285714285714285714285714285714285714285714285714285714286E-1
+#define ATANH_MAC09 1.1111111111111111111111111111111111111111111111111111111111111111111111E-1
+#define ATANH_MAC11 9.0909090909090909090909090909090909090909090909090909090909090909090909E-2
+#define ATANH_MAC13 7.6923076923076923076923076923076923076923076923076923076923076923076923E-2
#if 0
-#define SMD_DP_ATANH_MAC19 5.263157894736842105263157894737E-2
-#define SMD_DP_ATANH_MAC21 4.761904761904761904761904761905E-2
-#define SMD_DP_ATANH_MAC23 4.347826086956521739130434782609E-2
-#define SMD_DP_ATANH_MAC25 4.000000000000000000000000000000E-2
-#define SMD_DP_ATANH_MAC27 3.703703703703703703703703703704E-2
-#define SMD_DP_ATANH_MAC29 3.448275862068965517241379310345E-2
-#define SMD_DP_ATANH_MAC31 3.225806451612903225806451612903E-2
-#define SMD_DP_ATANH_MAC33 3.030303030303030303030303030303E-2
-#define SMD_DP_ATANH_MAC35 2.857142857142857142857142857143E-2
-#define SMD_DP_ATANH_MAC37 2.702702702702702702702702702703E-2
-#define SMD_DP_ATANH_MAC39 2.564102564102564102564102564103E-2
+#define ATANH_MAC15 6.6666666666666666666666666666666666666666666666666666666666666666666667E-2
+#define ATANH_MAC17 5.8823529411764705882352941176470588235294117647058823529411764705882353E-2
+#define ATANH_MAC19 5.2631578947368421052631578947368421052631578947368421052631578947368421E-2
+#define ATANH_MAC21 4.7619047619047619047619047619047619047619047619047619047619047619047619E-2
+#define ATANH_MAC23 4.3478260869565217391304347826086956521739130434782608695652173913043478E-2
+#define ATANH_MAC25 4.0000000000000000000000000000000000000000000000000000000000000000000000E-2
+#define ATANH_MAC27 3.7037037037037037037037037037037037037037037037037037037037037037037037E-2
+#define ATANH_MAC29 3.4482758620689655172413793103448275862068965517241379310344827586206897E-2
+#define ATANH_MAC31 3.2258064516129032258064516129032258064516129032258064516129032258064516E-2
+#define ATANH_MAC33 3.0303030303030303030303030303030303030303030303030303030303030303030303E-2
+#define ATANH_MAC35 2.8571428571428571428571428571428571428571428571428571428571428571428571E-2
+#define ATANH_MAC37 2.7027027027027027027027027027027027027027027027027027027027027027027027E-2
+#define ATANH_MAC39 2.5641025641025641025641025641025641025641025641025641025641025641025641E-2
+#define ATANH_MAC41 2.4390243902439024390243902439024390243902439024390243902439024390243902E-2
+#define ATANH_MAC43 2.3255813953488372093023255813953488372093023255813953488372093023255814E-2
+#define ATANH_MAC45 2.2222222222222222222222222222222222222222222222222222222222222222222222E-2
+#define ATANH_MAC47 2.1276595744680851063829787234042553191489361702127659574468085106382979E-2
+#define ATANH_MAC49 2.0408163265306122448979591836734693877551020408163265306122448979591837E-2
+#define ATANH_MAC51 1.9607843137254901960784313725490196078431372549019607843137254901960784E-2
+#define ATANH_MAC53 1.8867924528301886792452830188679245283018867924528301886792452830188679E-2
+#define ATANH_MAC55 1.8181818181818181818181818181818181818181818181818181818181818181818182E-2
+#define ATANH_MAC57 1.7543859649122807017543859649122807017543859649122807017543859649122807E-2
+#define ATANH_MAC59 1.6949152542372881355932203389830508474576271186440677966101694915254237E-2
#endif
@@ -98,9 +120,12 @@ static __inline vector double _atanhd2(vector double x)
vec_double2 sign_mask = spu_splats(-0.0);
vec_double2 oned = spu_splats(1.0);
vec_double2 onehalfd = spu_splats(0.5);
+ vec_uint4 infminus1 = spu_splats(0x7FEFFFFFU);
+ vec_uint4 isinfnan;
+ vec_uint4 xabshigh;
vec_double2 xabs, xsqu;
/* Where we switch from maclaurin to formula */
- vec_float4 switch_approx = spu_splats(0.125f);
+ vec_float4 switch_approx = spu_splats(0.08f);
vec_uint4 use_form;
vec_float4 xf;
vec_double2 result, fresult, mresult;;
@@ -122,14 +147,12 @@ static __inline vector double _atanhd2(vector double x)
/*
* Taylor Series
*/
- mresult = spu_madd(xsqu, spu_splats(SMD_DP_ATANH_MAC17), spu_splats(SMD_DP_ATANH_MAC15));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC13));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC11));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC09));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC07));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC05));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC03));
- mresult = spu_madd(xsqu, mresult, spu_splats(SMD_DP_ATANH_MAC01));
+ mresult = spu_madd(xsqu, spu_splats(ATANH_MAC13), spu_splats(ATANH_MAC11));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ATANH_MAC09));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ATANH_MAC07));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ATANH_MAC05));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ATANH_MAC03));
+ mresult = spu_madd(xsqu, mresult, spu_splats(ATANH_MAC01));
mresult = spu_mul(xabs, mresult);
@@ -139,10 +162,10 @@ static __inline vector double _atanhd2(vector double x)
use_form = spu_cmpgt(xf, switch_approx);
result = spu_sel(mresult, fresult, (vec_ullong2)use_form);
- /*
- * Spec says results are undefined for |x| > 1, so
- * no boundary tests needed here.
- */
+ /* Infinity and NaN */
+ xabshigh = (vec_uint4)spu_shuffle(xabs, xabs, dup_even);
+ isinfnan = spu_cmpgt(xabshigh, infminus1);
+ result = spu_sel(result, x, (vec_ullong2)isinfnan);
/* Restore sign - atanh is an anti-symmetric */
result = spu_sel(result, x, (vec_ullong2)sign_mask);
diff --git a/newlib/libm/machine/spu/headers/atanhf4.h b/newlib/libm/machine/spu/headers/atanhf4.h
index b9d14b42d..d29ef74d4 100644
--- a/newlib/libm/machine/spu/headers/atanhf4.h
+++ b/newlib/libm/machine/spu/headers/atanhf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -40,7 +52,6 @@
#define _ATANHF4_H_ 1
#include <spu_intrinsics.h>
-#include <math.h>
#include "logf4.h"
/*
@@ -61,7 +72,8 @@
* Special Cases:
* - atanh(1) = HUGE_VALF
* - atanh(-1) = -HUGE_VALF
- * - The result is undefined for x outside of the domain [-1,1].
+ * - The result is undefined for x outside of the domain [-1,1],
+ * since single-precision NaN is not supported on the SPU.
*
*/
@@ -69,28 +81,34 @@
* Maclaurin Series Coefficients
* for x near 0.
*/
-#define SDM_SP_ATANH_MAC01 1.000000000000000000000000000000E0
-#define SDM_SP_ATANH_MAC03 3.333333333333333333333333333333E-1
-#define SDM_SP_ATANH_MAC05 2.000000000000000000000000000000E-1
-#define SDM_SP_ATANH_MAC07 1.428571428571428571428571428571E-1
+#define ATANH_MAC01 1.0000000000000000000000000000000000000000000000000000000000000000000000E0
+#define ATANH_MAC03 3.3333333333333333333333333333333333333333333333333333333333333333333333E-1
+#define ATANH_MAC05 2.0000000000000000000000000000000000000000000000000000000000000000000000E-1
+#define ATANH_MAC07 1.4285714285714285714285714285714285714285714285714285714285714285714286E-1
#if 0
-#define SDM_SP_ATANH_MAC09 1.111111111111111111111111111111E-1
-#define SDM_SP_ATANH_MAC11 9.090909090909090909090909090909E-2
-#define SDM_SP_ATANH_MAC13 7.692307692307692307692307692308E-2
-#define SDM_SP_ATANH_MAC15 6.666666666666666666666666666667E-2
+#define ATANH_MAC09 1.1111111111111111111111111111111111111111111111111111111111111111111111E-1
+#define ATANH_MAC11 9.0909090909090909090909090909090909090909090909090909090909090909090909E-2
+#define ATANH_MAC13 7.6923076923076923076923076923076923076923076923076923076923076923076923E-2
+#define ATANH_MAC15 6.6666666666666666666666666666666666666666666666666666666666666666666667E-2
+#define ATANH_MAC17 5.8823529411764705882352941176470588235294117647058823529411764705882353E-2
+#define ATANH_MAC19 5.2631578947368421052631578947368421052631578947368421052631578947368421E-2
+#define ATANH_MAC21 4.7619047619047619047619047619047619047619047619047619047619047619047619E-2
+#define ATANH_MAC23 4.3478260869565217391304347826086956521739130434782608695652173913043478E-2
+#define ATANH_MAC25 4.0000000000000000000000000000000000000000000000000000000000000000000000E-2
+#define ATANH_MAC27 3.7037037037037037037037037037037037037037037037037037037037037037037037E-2
+#define ATANH_MAC29 3.4482758620689655172413793103448275862068965517241379310344827586206897E-2
#endif
static __inline vector float _atanhf4(vector float x)
{
- vec_uint4 one = spu_splats(1u);
vec_float4 sign_mask = spu_splats(-0.0f);
vec_float4 onef = spu_splats(1.0f);
vec_float4 onehalff = spu_splats(0.5f);
- vec_float4 huge = spu_splats(HUGE_VALF);
vec_float4 result, fresult, mresult;;
vec_float4 xabs, xsqu;
/* Where we switch from maclaurin to formula */
+ //vec_float4 switch_approx = spu_splats(0.4661f);
vec_float4 switch_approx = spu_splats(0.165f);
vec_uint4 use_form;
@@ -108,33 +126,18 @@ static __inline vector float _atanhf4(vector float x)
/*
* Taylor Series
*/
- mresult = spu_madd(xsqu, spu_splats((float)SDM_SP_ATANH_MAC07), spu_splats((float)SDM_SP_ATANH_MAC05));
- mresult = spu_madd(xsqu, mresult, spu_splats((float)SDM_SP_ATANH_MAC03));
- mresult = spu_madd(xsqu, mresult, spu_splats((float)SDM_SP_ATANH_MAC01));
+ mresult = spu_madd(xsqu, spu_splats((float)ATANH_MAC07), spu_splats((float)ATANH_MAC05));
+ mresult = spu_madd(xsqu, mresult, spu_splats((float)ATANH_MAC03));
+ mresult = spu_madd(xsqu, mresult, spu_splats((float)ATANH_MAC01));
mresult = spu_mul(xabs, mresult);
+
/*
* Choose between series and formula
*/
use_form = spu_cmpgt(xabs, switch_approx);
result = spu_sel(mresult, fresult, use_form);
- /*
- * Correct for accumulated truncation error. Currently reduces rms of
- * absolute error by about 50%
- */
- result = (vec_float4)spu_add((vec_uint4)result, spu_and(one, spu_cmpgt(xabs, spu_splats(0.0f))));
- result = (vec_float4)spu_add((vec_uint4)result, spu_and(one, spu_cmpgt(xabs, spu_splats(0.25f))));
-
- /*
- * Check Boundary Conditions
- */
- result = spu_sel(result, huge, spu_cmpeq(xabs, onef));
-
- /*
- * Spec says |x| > 1, result is undefined, so no additional
- * boundary checks needed.
- */
/* Preserve sign - atanh is anti-symmetric */
result = spu_sel(result, x, (vec_uint4)sign_mask);
diff --git a/newlib/libm/machine/spu/headers/cbrt.h b/newlib/libm/machine/spu/headers/cbrt.h
index 896b4e1bf..de0977028 100644
--- a/newlib/libm/machine/spu/headers/cbrt.h
+++ b/newlib/libm/machine/spu/headers/cbrt.h
@@ -37,13 +37,7 @@
#include <spu_intrinsics.h>
#include "headers/vec_literal.h"
-static double cbrt_factors[5] = {
- 0.629960524947436484311, /* 2^(-2/3) */
- 0.793700525984099680699, /* 2^(-1/3) */
- 1.0, /* 2^(0) */
- 1.259921049894873164666, /* 2^(1/3) */
- 1.587401051968199583441 /* 2^(2/3) */
-};
+extern double cbrt_factors[5];
/* Compute the cube root of x to double precision.
*/
diff --git a/newlib/libm/machine/spu/headers/cbrtf.h b/newlib/libm/machine/spu/headers/cbrtf.h
index 2fd95af01..fb9553ad7 100644
--- a/newlib/libm/machine/spu/headers/cbrtf.h
+++ b/newlib/libm/machine/spu/headers/cbrtf.h
@@ -36,13 +36,7 @@
#include <spu_intrinsics.h>
#include "headers/vec_literal.h"
-static double cbrt_factors[5] = {
- 0.629960524947436484311, /* 2^(-2/3) */
- 0.793700525984099680699, /* 2^(-1/3) */
- 1.0, /* 2^(0) */
- 1.259921049894873164666, /* 2^(1/3) */
- 1.587401051968199583441 /* 2^(2/3) */
-};
+extern double cbrt_factors[5];
/* Compute the cube root of the floating point input x.
*/
diff --git a/newlib/libm/machine/spu/headers/cos_sin.h b/newlib/libm/machine/spu/headers/cos_sin.h
index f0f6910ce..4769d06a3 100644
--- a/newlib/libm/machine/spu/headers/cos_sin.h
+++ b/newlib/libm/machine/spu/headers/cos_sin.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/cosd2.h b/newlib/libm/machine/spu/headers/cosd2.h
index db33a1ddb..3ca12efd1 100644
--- a/newlib/libm/machine/spu/headers/cosd2.h
+++ b/newlib/libm/machine/spu/headers/cosd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/cosf4.h b/newlib/libm/machine/spu/headers/cosf4.h
index 062ec12ee..693c12219 100644
--- a/newlib/libm/machine/spu/headers/cosf4.h
+++ b/newlib/libm/machine/spu/headers/cosf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/coshd2.h b/newlib/libm/machine/spu/headers/coshd2.h
index f35f8079c..e68d134fb 100644
--- a/newlib/libm/machine/spu/headers/coshd2.h
+++ b/newlib/libm/machine/spu/headers/coshd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/coshf4.h b/newlib/libm/machine/spu/headers/coshf4.h
index 453fad4a5..ca43748ca 100644
--- a/newlib/libm/machine/spu/headers/coshf4.h
+++ b/newlib/libm/machine/spu/headers/coshf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/divd2.h b/newlib/libm/machine/spu/headers/divd2.h
index 7bcf366eb..b04d3c592 100644
--- a/newlib/libm/machine/spu/headers/divd2.h
+++ b/newlib/libm/machine/spu/headers/divd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/divf4.h b/newlib/libm/machine/spu/headers/divf4.h
index cf4b7c3ac..226ca493c 100644
--- a/newlib/libm/machine/spu/headers/divf4.h
+++ b/newlib/libm/machine/spu/headers/divf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/erf_utils.h b/newlib/libm/machine/spu/headers/erf_utils.h
index 9e825393f..06edc13db 100644
--- a/newlib/libm/machine/spu/headers/erf_utils.h
+++ b/newlib/libm/machine/spu/headers/erf_utils.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/erfcd2.h b/newlib/libm/machine/spu/headers/erfcd2.h
index 2615faccf..c31acd5b2 100644
--- a/newlib/libm/machine/spu/headers/erfcd2.h
+++ b/newlib/libm/machine/spu/headers/erfcd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/erfcf4.h b/newlib/libm/machine/spu/headers/erfcf4.h
index cb621f3ae..2f4774424 100644
--- a/newlib/libm/machine/spu/headers/erfcf4.h
+++ b/newlib/libm/machine/spu/headers/erfcf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/erfd2.h b/newlib/libm/machine/spu/headers/erfd2.h
index ba7567e5b..2ee71feaf 100644
--- a/newlib/libm/machine/spu/headers/erfd2.h
+++ b/newlib/libm/machine/spu/headers/erfd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/erff4.h b/newlib/libm/machine/spu/headers/erff4.h
index fa9c0655d..eafd9be12 100644
--- a/newlib/libm/machine/spu/headers/erff4.h
+++ b/newlib/libm/machine/spu/headers/erff4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -41,6 +53,11 @@
#include <spu_intrinsics.h>
+#include "expf4.h"
+#include "recipf4.h"
+#include "divf4.h"
+#include "erf_utils.h"
+
/*
* FUNCTION
* vector float _erff4(vector float x)
@@ -58,346 +75,54 @@
static __inline vector float _erff4(vector float x)
{
- vec_float4 sign_maskf = spu_splats(-0.0f);
- vec_float4 zerof = spu_splats(0.0f);
- vec_float4 onef = spu_splats(1.0f);
- vec_float4 clamp = spu_splats(3.9199876f);
- vec_float4 xabs = spu_andc(x, sign_maskf);
- vec_float4 xsign = spu_and(x, sign_maskf);
- vec_float4 result;
-
-
- /*
- * First thing we do is setup the description of each partition.
- * This consists of:
- * - Start x of partition
- * - Offset (used for evaluating power series expanded around a point)
- * - Truncation adjustment.
- */
-
-
- /***************************************************************
- * REGION 0: Approximation Near 0 from Above
- *
- */
-#define SDM_ERFF4_0_START 0.0f
-#define SDM_ERFF4_0_OFF 0.0f
-#define SDM_ERFF4_0_TRUNC 2u
-
-#define SDM_ERFF4_0_00 0.0f
-#define SDM_ERFF4_0_01 1.12837916709551257389615890312154f
-#define SDM_ERFF4_0_02 0.0f
-#define SDM_ERFF4_0_03 -0.37612638903183752463205296770955f
-#define SDM_ERFF4_0_04 0.0f
-#define SDM_ERFF4_0_05 0.11283791670955125738961589031073f
-#define SDM_ERFF4_0_06 0.0f
-#define SDM_ERFF4_0_07 -0.02686617064513125175943235483588f
-#define SDM_ERFF4_0_08 0.0f
-#define SDM_ERFF4_0_09 0.00522397762544218784211184677371f
-#define SDM_ERFF4_0_10 0.0f
-//#define SDM_ERFF4_0_11 -0.00085483270234508528325466583569f
-
-
-
- /***************************************************************
- * REGION 1: Above 0 and Below 1
- */
-#define SDM_ERFF4_1_START 0.07f
-#define SDM_ERFF4_1_OFF 0.0625f
-#define SDM_ERFF4_1_TRUNC 1u
-
-#define SDM_ERFF4_1_00 0.0704319777223870780505900559232967439190042883f
-#define SDM_ERFF4_1_01 1.1239800336253906104888456836298420746260842545f
-#define SDM_ERFF4_1_02 -0.0702487521015869131555528552268651296641302713f
-#define SDM_ERFF4_1_03 -0.3717329798708974154481338589088279778060226856f
-#define SDM_ERFF4_1_04 0.0350329063214945152846051348331892508611482993f
-#define SDM_ERFF4_1_05 0.1106440713032318617523250293018186620702780982f
-#define SDM_ERFF4_1_06 -0.0116471931712158678624014740659716890227703402f
-#define SDM_ERFF4_1_07 -0.0261358409084263503958678377968739965222786482f
-#define SDM_ERFF4_1_08 0.0029041996223118476954500365511415181291113910f
-#define SDM_ERFF4_1_09 0.0050416329596619035812041623972929782386498567f
-#define SDM_ERFF4_1_10 -0.0005793225670734356072895029723913210064918149f
-//#define SDM_ERFF4_1_11 -0.0008184112733188406359323913130525859730689332f
-
-
-
- /***************************************************************
- * REGION 2:
- */
-#define SDM_ERFF4_2_START 0.13f
-#define SDM_ERFF4_2_OFF 0.1875f
-#define SDM_ERFF4_2_TRUNC 1u
-
-#define SDM_ERFF4_2_00 0.2091176770593758483008706390019410965937912290f
-#define SDM_ERFF4_2_01 1.0893988034775673230502318110338693557898033315f
-#define SDM_ERFF4_2_02 -0.2042622756520438730719184645688505042105881396f
-#define SDM_ERFF4_2_03 -0.3376001500360169568827541289401834722369442864f
-#define SDM_ERFF4_2_04 0.0997374392832245473983976877777590352590762400f
-#define SDM_ERFF4_2_05 0.0937997370645632460099464120987231140266525679f
-#define SDM_ERFF4_2_06 -0.0324591340420617488485277008302392706957527828f
-#define SDM_ERFF4_2_07 -0.0205943885488331791711970665266474471714543313f
-#define SDM_ERFF4_2_08 0.0079208906865255014554772269570592999495375181f
-#define SDM_ERFF4_2_09 0.0036744273281123333893101007014150883409965011f
-#define SDM_ERFF4_2_10 -0.0015459493690754127608506357908913858038162608f
-//#define SDM_ERFF4_2_11 -0.0005485671070180836650399266219057172124875094f
-
-
-
- /***************************************************************
- * REGION 3:
- */
-#define SDM_ERFF4_3_START 0.25f
-#define SDM_ERFF4_3_OFF 0.5f
-#define SDM_ERFF4_3_TRUNC 2u
-
-#define SDM_ERFF4_3_00 0.5204998778130465376827466538919645287364515699f
-#define SDM_ERFF4_3_01 0.8787825789354447940937239548244578983625218956f
-#define SDM_ERFF4_3_02 -0.4393912894677223970468619774122289491812609947f
-#define SDM_ERFF4_3_03 -0.1464637631559074656822873258040763163937536583f
-#define SDM_ERFF4_3_04 0.1830797039448843321028591572550953954921920811f
-#define SDM_ERFF4_3_05 0.0073231881577953732841143662902038158196876832f
-#define SDM_ERFF4_3_06 -0.0500417857449350507747815029830594081011991688f
-#define SDM_ERFF4_3_07 0.0054052103069442040906558417856266259621504328f
-#define SDM_ERFF4_3_08 0.0100475885141180567975497704160236877764167320f
-#define SDM_ERFF4_3_09 -0.0021674118390300459951330548378744759122422210f
-#define SDM_ERFF4_3_10 -0.0015694967741624277200510981457278746801387524f
-//#define SDM_ERFF4_3_11 0.0004973489167651373192082360776274483020158863f
-
-
-
- /***************************************************************
- * REGION 4:
- */
-#define SDM_ERFF4_4_START 0.77f
-#define SDM_ERFF4_4_OFF 1.0f
-#define SDM_ERFF4_4_TRUNC 1u
-
-#define SDM_ERFF4_4_00 0.8427007929497148693412206350826092590442f
-#define SDM_ERFF4_4_01 0.4151074974205947033402682494413373653605f
-#define SDM_ERFF4_4_02 -0.4151074974205947033402682494413373653605f
-#define SDM_ERFF4_4_03 0.1383691658068649011134227498137791217898f
-#define SDM_ERFF4_4_04 0.0691845829034324505567113749068895608946f
-#define SDM_ERFF4_4_05 -0.0691845829034324505567113749068895608946f
-#define SDM_ERFF4_4_06 0.0046123055268954967037807583271259707263f
-#define SDM_ERFF4_4_07 0.0151547181597994891695653487891281895293f
-#define SDM_ERFF4_4_08 -0.0047770307242846215860586425530947553951f
-#define SDM_ERFF4_4_09 -0.0018851883701199847638468972527538689873f
-#define SDM_ERFF4_4_10 0.0012262875805634852347353603488787303121f
-//#define SDM_ERFF4_4_11 0.0000855239913717274641321540324726821411f
-
-
-
- /***************************************************************
- * REGION 5:
- */
-#define SDM_ERFF4_5_START 1.36f
-#define SDM_ERFF4_5_OFF 1.875f
-#define SDM_ERFF4_5_TRUNC 1u
-
-#define SDM_ERFF4_5_00 0.99199005767011997029646305969122440092668f
-#define SDM_ERFF4_5_01 0.03354582842421607459425032786195496507386f
-#define SDM_ERFF4_5_02 -0.06289842829540513986421936474116555951979f
-#define SDM_ERFF4_5_03 0.06744109256118439996552409663913862770819f
-#define SDM_ERFF4_5_04 -0.04225988151097532834627238568547061029869f
-#define SDM_ERFF4_5_05 0.01146258336487617627004706027236136941544f
-#define SDM_ERFF4_5_06 0.00410518713321247739022655684589964019683f
-#define SDM_ERFF4_5_07 -0.00492839390823910723763257456562751425198f
-#define SDM_ERFF4_5_08 0.00143050168737012207687743571780226012058f
-#define SDM_ERFF4_5_09 0.00036225644575338665306295794978774160986f
-#define SDM_ERFF4_5_10 -0.00039015757824554169745459780322413823624f
-//#define SDM_ERFF4_5_11 0.00007372993782406230817649249567932577159f
+ vector float onehalff = spu_splats(0.5f);
+ vector float zerof = spu_splats(0.0f);
+ vector float onef = spu_splats(1.0f);
+ vector float sign_mask = spu_splats(-0.0f);
+ /* This is where we switch from Taylor Series to Continued Fraction approximation */
+ vec_float4 approx_point = spu_splats(0.89f);
+ vec_float4 xabs, xsqu, xsign;
+ vec_uint4 isinf;
+ vec_float4 tresult, presult, result;
- /***************************************************************
- * REGION 6:
- */
-#define SDM_ERFF4_6_START 2.0f
-#define SDM_ERFF4_6_OFF 2.5f
-#define SDM_ERFF4_6_TRUNC 1u
-
-#define SDM_ERFF4_6_00 0.999593047982555041060435784260025087279f
-#define SDM_ERFF4_6_01 0.002178284230352709720386678564097264007f
-#define SDM_ERFF4_6_02 -0.005445710575881774300966696410243160031f
-#define SDM_ERFF4_6_03 0.008350089549685387261482267829039512051f
-#define SDM_ERFF4_6_04 -0.008622375078479475976530602649551670054f
-#define SDM_ERFF4_6_05 0.006117348213573859798085922300839816434f
-#define SDM_ERFF4_6_06 -0.002798490157050356237996774544152735014f
-#define SDM_ERFF4_6_07 0.000542410061327906884739143174194854432f
-#define SDM_ERFF4_6_08 0.000260670173895134533751630061303802055f
-#define SDM_ERFF4_6_09 -0.000250285386311056635227961206817778392f
-#define SDM_ERFF4_6_10 0.000078801328907504400502579703621546608f
-//#define SDM_ERFF4_6_11 5.137004620216358263402877651297096663210e-6f
-
-
-
- /***************************************************************
- * REGION 7:
- */
-#define SDM_ERFF4_7_START 2.75f
-#define SDM_ERFF4_7_OFF 3.5f
-#define SDM_ERFF4_7_TRUNC 1u
-
-#define SDM_ERFF4_7_00 0.999999256901627658587254476316243904363263f
-#define SDM_ERFF4_7_01 5.399426777384782511586818937495781413007869e-6f
-#define SDM_ERFF4_7_02 -0.000018897993720846738790553866281235234945f
-#define SDM_ERFF4_7_03 0.000042295509756180796340763415010383621069f
-#define SDM_ERFF4_7_04 -0.000067717810833034147332818020841092925222f
-#define SDM_ERFF4_7_05 0.000082116282239393567363716204674415008991f
-#define SDM_ERFF4_7_06 -0.000077744246390483389302250766562526063763f
-#define SDM_ERFF4_7_07 0.000058192750619199206596604051163855823527f
-#define SDM_ERFF4_7_08 -0.000034259175422410008064403380504975403351f
-#define SDM_ERFF4_7_09 0.000015330768263696827211862952666453348031f
-#define SDM_ERFF4_7_10 -4.641017709492666503521243665632827470977627e-6f
-//#define SDM_ERFF4_7_11 4.447037356176705948450355327103423490366212e-7f
-
-
-
-
-
- /***************************************************************
- * Now we load the description of each partition.
- */
-
- /* Start point for each partition */
- vec_float4 r1start = spu_splats(SDM_ERFF4_1_START);
- vec_float4 r2start = spu_splats(SDM_ERFF4_2_START);
- vec_float4 r3start = spu_splats(SDM_ERFF4_3_START);
- vec_float4 r4start = spu_splats(SDM_ERFF4_4_START);
- vec_float4 r5start = spu_splats(SDM_ERFF4_5_START);
- vec_float4 r6start = spu_splats(SDM_ERFF4_6_START);
- vec_float4 r7start = spu_splats(SDM_ERFF4_7_START);
-
- /* X Offset for each partition */
- vec_float4 xoffseta = (vec_float4) {SDM_ERFF4_0_OFF, SDM_ERFF4_1_OFF, SDM_ERFF4_2_OFF, SDM_ERFF4_3_OFF};
- vec_float4 xoffsetb = (vec_float4) {SDM_ERFF4_4_OFF, SDM_ERFF4_5_OFF, SDM_ERFF4_6_OFF, SDM_ERFF4_7_OFF};
-
- /* Truncation Correction for each partition */
- vec_uint4 tcorra = (vec_uint4) {SDM_ERFF4_0_TRUNC, SDM_ERFF4_1_TRUNC, SDM_ERFF4_2_TRUNC, SDM_ERFF4_3_TRUNC};
- vec_uint4 tcorrb = (vec_uint4) {SDM_ERFF4_4_TRUNC, SDM_ERFF4_5_TRUNC, SDM_ERFF4_6_TRUNC, SDM_ERFF4_7_TRUNC};
-
- /* The coefficients for each partition */
- vec_float4 c00a = (vec_float4) {SDM_ERFF4_0_00, SDM_ERFF4_1_00, SDM_ERFF4_2_00, SDM_ERFF4_3_00};
- vec_float4 c01a = (vec_float4) {SDM_ERFF4_0_01, SDM_ERFF4_1_01, SDM_ERFF4_2_01, SDM_ERFF4_3_01};
- vec_float4 c02a = (vec_float4) {SDM_ERFF4_0_02, SDM_ERFF4_1_02, SDM_ERFF4_2_02, SDM_ERFF4_3_02};
- vec_float4 c03a = (vec_float4) {SDM_ERFF4_0_03, SDM_ERFF4_1_03, SDM_ERFF4_2_03, SDM_ERFF4_3_03};
- vec_float4 c04a = (vec_float4) {SDM_ERFF4_0_04, SDM_ERFF4_1_04, SDM_ERFF4_2_04, SDM_ERFF4_3_04};
- vec_float4 c05a = (vec_float4) {SDM_ERFF4_0_05, SDM_ERFF4_1_05, SDM_ERFF4_2_05, SDM_ERFF4_3_05};
- vec_float4 c06a = (vec_float4) {SDM_ERFF4_0_06, SDM_ERFF4_1_06, SDM_ERFF4_2_06, SDM_ERFF4_3_06};
- vec_float4 c07a = (vec_float4) {SDM_ERFF4_0_07, SDM_ERFF4_1_07, SDM_ERFF4_2_07, SDM_ERFF4_3_07};
- vec_float4 c08a = (vec_float4) {SDM_ERFF4_0_08, SDM_ERFF4_1_08, SDM_ERFF4_2_08, SDM_ERFF4_3_08};
- vec_float4 c09a = (vec_float4) {SDM_ERFF4_0_09, SDM_ERFF4_1_09, SDM_ERFF4_2_09, SDM_ERFF4_3_09};
- vec_float4 c10a = (vec_float4) {SDM_ERFF4_0_10, SDM_ERFF4_1_10, SDM_ERFF4_2_10, SDM_ERFF4_3_10};
-
- vec_float4 c00b = (vec_float4) {SDM_ERFF4_4_00, SDM_ERFF4_5_00, SDM_ERFF4_6_00, SDM_ERFF4_7_00};
- vec_float4 c01b = (vec_float4) {SDM_ERFF4_4_01, SDM_ERFF4_5_01, SDM_ERFF4_6_01, SDM_ERFF4_7_01};
- vec_float4 c02b = (vec_float4) {SDM_ERFF4_4_02, SDM_ERFF4_5_02, SDM_ERFF4_6_02, SDM_ERFF4_7_02};
- vec_float4 c03b = (vec_float4) {SDM_ERFF4_4_03, SDM_ERFF4_5_03, SDM_ERFF4_6_03, SDM_ERFF4_7_03};
- vec_float4 c04b = (vec_float4) {SDM_ERFF4_4_04, SDM_ERFF4_5_04, SDM_ERFF4_6_04, SDM_ERFF4_7_04};
- vec_float4 c05b = (vec_float4) {SDM_ERFF4_4_05, SDM_ERFF4_5_05, SDM_ERFF4_6_05, SDM_ERFF4_7_05};
- vec_float4 c06b = (vec_float4) {SDM_ERFF4_4_06, SDM_ERFF4_5_06, SDM_ERFF4_6_06, SDM_ERFF4_7_06};
- vec_float4 c07b = (vec_float4) {SDM_ERFF4_4_07, SDM_ERFF4_5_07, SDM_ERFF4_6_07, SDM_ERFF4_7_07};
- vec_float4 c08b = (vec_float4) {SDM_ERFF4_4_08, SDM_ERFF4_5_08, SDM_ERFF4_6_08, SDM_ERFF4_7_08};
- vec_float4 c09b = (vec_float4) {SDM_ERFF4_4_09, SDM_ERFF4_5_09, SDM_ERFF4_6_09, SDM_ERFF4_7_09};
- vec_float4 c10b = (vec_float4) {SDM_ERFF4_4_10, SDM_ERFF4_5_10, SDM_ERFF4_6_10, SDM_ERFF4_7_10};
+ xsign = spu_and(x, sign_mask);
+ /* Force Denorms to 0 */
+ x = spu_add(x, zerof);
- vec_uchar16 shuffle0 = (vec_uchar16) spu_splats(0x00010203);
- vec_uchar16 shuffle1 = (vec_uchar16) spu_splats(0x04050607);
- vec_uchar16 shuffle2 = (vec_uchar16) spu_splats(0x08090A0B);
- vec_uchar16 shuffle3 = (vec_uchar16) spu_splats(0x0C0D0E0F);
- vec_uchar16 shuffle4 = (vec_uchar16) spu_splats(0x10111213);
- vec_uchar16 shuffle5 = (vec_uchar16) spu_splats(0x14151617);
- vec_uchar16 shuffle6 = (vec_uchar16) spu_splats(0x18191A1B);
- vec_uchar16 shuffle7 = (vec_uchar16) spu_splats(0x1C1D1E1F);
-
+ xabs = spu_andc(x, sign_mask);
+ xsqu = spu_mul(x, x);
/*
- * Determine the shuffle pattern based on which partition
- * each element of x is in.
+ * Taylor Series Expansion near Zero
*/
-
- vec_uchar16 gt_r1start = (vec_uchar16)spu_cmpabsgt(x, r1start);
- vec_uchar16 gt_r2start = (vec_uchar16)spu_cmpabsgt(x, r2start);
- vec_uchar16 gt_r3start = (vec_uchar16)spu_cmpabsgt(x, r3start);
- vec_uchar16 gt_r4start = (vec_uchar16)spu_cmpabsgt(x, r4start);
- vec_uchar16 gt_r5start = (vec_uchar16)spu_cmpabsgt(x, r5start);
- vec_uchar16 gt_r6start = (vec_uchar16)spu_cmpabsgt(x, r6start);
- vec_uchar16 gt_r7start = (vec_uchar16)spu_cmpabsgt(x, r7start);
-
- vec_uchar16 shufflepattern;
- shufflepattern = spu_sel(shuffle0, shuffle1, gt_r1start);
- shufflepattern = spu_sel(shufflepattern, shuffle2, gt_r2start);
- shufflepattern = spu_sel(shufflepattern, shuffle3, gt_r3start);
- shufflepattern = spu_sel(shufflepattern, shuffle4, gt_r4start);
- shufflepattern = spu_sel(shufflepattern, shuffle5, gt_r5start);
- shufflepattern = spu_sel(shufflepattern, shuffle6, gt_r6start);
- shufflepattern = spu_sel(shufflepattern, shuffle7, gt_r7start);
-
-
-
- /* Use the shuffle pattern to select the coefficients */
-
- vec_float4 coeff_10 = spu_shuffle(c10a, c10b, shufflepattern);
- vec_float4 coeff_09 = spu_shuffle(c09a, c09b, shufflepattern);
- vec_float4 coeff_08 = spu_shuffle(c08a, c08b, shufflepattern);
- vec_float4 coeff_07 = spu_shuffle(c07a, c07b, shufflepattern);
- vec_float4 coeff_06 = spu_shuffle(c06a, c06b, shufflepattern);
- vec_float4 coeff_05 = spu_shuffle(c05a, c05b, shufflepattern);
- vec_float4 coeff_04 = spu_shuffle(c04a, c04b, shufflepattern);
- vec_float4 coeff_03 = spu_shuffle(c03a, c03b, shufflepattern);
- vec_float4 coeff_02 = spu_shuffle(c02a, c02b, shufflepattern);
- vec_float4 coeff_01 = spu_shuffle(c01a, c01b, shufflepattern);
- vec_float4 coeff_00 = spu_shuffle(c00a, c00b, shufflepattern);
-
- vec_float4 xoffset = spu_shuffle(xoffseta, xoffsetb, shufflepattern);
- vec_uint4 tcorrection = spu_shuffle(tcorra, tcorrb, shufflepattern);
-
+ TAYLOR_ERFF4(xabs, xsqu, tresult);
/*
- * We've completed the coeff. setup. Now we actually do the
- * approximation below.
+ * Continued Fraction Approximation of Erfc().
+ * erf = 1 - erfc
*/
+ CONTFRAC_ERFCF4(xabs, xsqu, presult);
+ presult = spu_sub(onef, presult);
- /* Adjust x value here (for approximations about a point) */
- vec_float4 xappr = spu_sub(xabs, xoffset);
-
-
- /* Now we do the multiplies.
- * Use Horner's method.
+ /*
+ * Select the appropriate approximation.
*/
- result = coeff_10;
- result = spu_madd(xappr, result, coeff_09);
- result = spu_madd(xappr, result, coeff_08);
- result = spu_madd(xappr, result, coeff_07);
- result = spu_madd(xappr, result, coeff_06);
- result = spu_madd(xappr, result, coeff_05);
- result = spu_madd(xappr, result, coeff_04);
- result = spu_madd(xappr, result, coeff_03);
- result = spu_madd(xappr, result, coeff_02);
- result = spu_madd(xappr, result, coeff_01);
- result = spu_madd(xappr, result, coeff_00);
+ result = spu_sel(tresult, presult, spu_cmpgt(xabs, approx_point));
-
- /* Adjust due to systematic truncation. Note that the correction
- * value is always non-negative, so the result is cast as uint
- * to do the adjustment.
+ /*
+ * Special cases/errors.
*/
- result = (vec_float4)spu_add((vec_uint4)result, tcorrection);
+ /* x = +/- infinite, return +/-1 */
+ isinf = spu_cmpeq((vec_uint4)xabs, 0x7F800000);
+ result = spu_sel(result, onef, isinf);
/*
- * Special Cases
+ * Preserve sign in result, since erf(-x) = -erf(x)
*/
-
- /* Erf(0) = 0 */
- result = spu_sel(result, zerof, spu_cmpeq(xabs, zerof));
-
- /* Erf(infinity) = 1 */
- result = spu_sel(result, onef, spu_cmpgt(xabs, clamp));
-
-
- /* Preserve sign in result, since erf(-x) = -erf(x) */
result = spu_or(result, xsign);
return result;
diff --git a/newlib/libm/machine/spu/headers/exp2d2.h b/newlib/libm/machine/spu/headers/exp2d2.h
index c7de4e880..27b0f31c9 100644
--- a/newlib/libm/machine/spu/headers/exp2d2.h
+++ b/newlib/libm/machine/spu/headers/exp2d2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/exp2f4.h b/newlib/libm/machine/spu/headers/exp2f4.h
index e9de71be0..71cc3fea7 100644
--- a/newlib/libm/machine/spu/headers/exp2f4.h
+++ b/newlib/libm/machine/spu/headers/exp2f4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/expd2.h b/newlib/libm/machine/spu/headers/expd2.h
index c35bf22cd..19d77dd51 100644
--- a/newlib/libm/machine/spu/headers/expd2.h
+++ b/newlib/libm/machine/spu/headers/expd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -44,6 +56,7 @@
#include <spu_intrinsics.h>
#include "floord2.h"
+#include "ldexpd2.h"
#define LOG2E 1.4426950408889634073599 // 1/log(2)
@@ -88,12 +101,15 @@
static __inline vector double _expd2(vector double x)
{
+ vec_uchar16 even2odd = ((vec_uchar16){0x80, 0x80, 0x80, 0x80, 0, 1, 2, 3,
+ 0x80, 0x80, 0x80, 0x80, 8, 9, 10, 11});
+
// log(2) in extended machine representable precision
vec_double2 ln2_hi = spu_splats(6.9314575195312500E-1); // 3FE62E4000000000
vec_double2 ln2_lo = spu_splats(1.4286068203094172E-6); // 3EB7F7D1CF79ABCA
+
// coefficients for the power series
- // vec_double2 f01 = spu_splats(1.00000000000000000000E0); // 1/(1!)
vec_double2 f02 = spu_splats(5.00000000000000000000E-1); // 1/(2!)
vec_double2 f03 = spu_splats(1.66666666666666666667E-1); // 1/(3!)
vec_double2 f04 = spu_splats(4.16666666666666666667E-2); // 1/(4!)
@@ -110,42 +126,19 @@ static __inline vector double _expd2(vector double x)
vec_double2 rx = _floord2(spu_madd(x,spu_splats(LOG2E),spu_splats(0.5)));
// extract the exponent of reduction
- vec_int4 exp = spu_convts(spu_roundtf(rx),0);
+ vec_int4 nint = spu_convts(spu_roundtf(rx),0);
+ vec_llong2 n = spu_extend(spu_shuffle(nint, nint, even2odd));
// reduce the input to within [ -ln(2)/2 ... ln(2)/2 ]
vec_double2 r;
r = spu_nmsub(rx,ln2_hi,x);
r = spu_nmsub(rx,ln2_lo,r);
+
vec_double2 result;
vec_double2 r2 = spu_mul(r,r);
// Use Horner's method on the power series
- /* result = ((((c12*x + c11)*x + c10)*x + c9)*x + c8)*x + c7)*x + c6)*x^6 +
- ((((((c5*x + c4)*x + c3)*x + c2)*x + c1)*x + c0
- */
-
-#ifdef __SPU_EDP__
- vec_double2 p1, p2, r4, r6;
-
- p1 = spu_madd(f12, r, f11);
- p2 = spu_madd(f05, r, f04);
- r4 = spu_mul(r2, r2);
- p1 = spu_madd(p1, r, f10);
- p2 = spu_madd(p2, r, f03);
- p1 = spu_madd(p1, r, f09);
- p2 = spu_madd(p2, r, f02);
- p1 = spu_madd(p1, r, f08);
- r6 = spu_mul(r2, r4);
- p1 = spu_madd(p1, r, f07);
- p2 = spu_madd(p2, r2, r);
- p1 = spu_madd(p1, r, f06);
-
- result = spu_madd(r6, p1, p2);
- result = spu_add(result, spu_splats(1.0));
-
-#else
-
result = spu_madd(r,f12,f11);
result = spu_madd(result,r,f10);
result = spu_madd(result,r,f09);
@@ -159,38 +152,14 @@ static __inline vector double _expd2(vector double x)
result = spu_madd(result,r2,r);
result = spu_add(result,spu_splats(1.0));
-#endif /* __SPU_EDP__ */
-
+ // Scale the result
+ result = _ldexpd2(result, n);
- // Scale the result - basically a call to ldexpd2()
- vec_int4 e1, e2;
- vec_int4 min = spu_splats(-2044);
- vec_int4 max = spu_splats(2046);
- vec_uint4 cmp_min, cmp_max;
- vec_uint4 shift = (vec_uint4) { 20, 32, 20, 32 };
- vec_double2 f1, f2;
-
- /* Clamp the specified exponent to the range -2044 to 2046.
- */
- cmp_min = spu_cmpgt(exp, min);
- cmp_max = spu_cmpgt(exp, max);
- exp = spu_sel(min, exp, cmp_min);
- exp = spu_sel(exp, max, cmp_max);
-
- /* Generate the factors f1 = 2^e1 and f2 = 2^e2
- */
- e1 = spu_rlmaska(exp, -1);
- e2 = spu_sub(exp, e1);
-
- f1 = (vec_double2)spu_sl(spu_add(e1, 1023), shift);
- f2 = (vec_double2)spu_sl(spu_add(e2, 1023), shift);
+ return result;
- /* Compute the product x * 2^e1 * 2^e2
- */
- result = spu_mul(spu_mul(result, f1), f2);
- return result;
}
+
#endif /* _EXPD2_H_ */
#endif /* __SPU__ */
diff --git a/newlib/libm/machine/spu/headers/expf4.h b/newlib/libm/machine/spu/headers/expf4.h
index 7dac9217c..e8c68c163 100644
--- a/newlib/libm/machine/spu/headers/expf4.h
+++ b/newlib/libm/machine/spu/headers/expf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/expm1d2.h b/newlib/libm/machine/spu/headers/expm1d2.h
index ba2369a1d..18149f7e0 100644
--- a/newlib/libm/machine/spu/headers/expm1d2.h
+++ b/newlib/libm/machine/spu/headers/expm1d2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/expm1f4.h b/newlib/libm/machine/spu/headers/expm1f4.h
index 519da1d2c..f7d0a368e 100644
--- a/newlib/libm/machine/spu/headers/expm1f4.h
+++ b/newlib/libm/machine/spu/headers/expm1f4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/floord2.h b/newlib/libm/machine/spu/headers/floord2.h
index 247884d51..baf5083ce 100644
--- a/newlib/libm/machine/spu/headers/floord2.h
+++ b/newlib/libm/machine/spu/headers/floord2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/floorf4.h b/newlib/libm/machine/spu/headers/floorf4.h
index e816f0359..779bd3225 100644
--- a/newlib/libm/machine/spu/headers/floorf4.h
+++ b/newlib/libm/machine/spu/headers/floorf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/hypotd2.h b/newlib/libm/machine/spu/headers/hypotd2.h
index c0f3f747e..e8f659579 100644
--- a/newlib/libm/machine/spu/headers/hypotd2.h
+++ b/newlib/libm/machine/spu/headers/hypotd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/hypotf4.h b/newlib/libm/machine/spu/headers/hypotf4.h
index bc46b8ba0..4c4fb40c1 100644
--- a/newlib/libm/machine/spu/headers/hypotf4.h
+++ b/newlib/libm/machine/spu/headers/hypotf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/isnand2.h b/newlib/libm/machine/spu/headers/isnand2.h
index 2d05e80c6..7fb44bebe 100644
--- a/newlib/libm/machine/spu/headers/isnand2.h
+++ b/newlib/libm/machine/spu/headers/isnand2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/isnanf4.h b/newlib/libm/machine/spu/headers/isnanf4.h
index d877a6523..5c16b4cde 100644
--- a/newlib/libm/machine/spu/headers/isnanf4.h
+++ b/newlib/libm/machine/spu/headers/isnanf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/ldexpd2.h b/newlib/libm/machine/spu/headers/ldexpd2.h
index 145e4371e..f00afceb2 100644
--- a/newlib/libm/machine/spu/headers/ldexpd2.h
+++ b/newlib/libm/machine/spu/headers/ldexpd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -58,7 +70,10 @@ static __inline vector double _ldexpd2(vector double x, vector signed long long
{
vec_uchar16 odd_to_even = ((vec_uchar16) { 4,5,6,7, 0x80,0x80,0x80,0x80,
12,13,14,15, 0x80,0x80,0x80,0x80 });
+ vec_uchar16 dup_even = ((vec_uchar16) { 0,1,2,3, 0,1,2,3,
+ 8,9,10,11, 8,9,10,11});
vec_int4 exp;
+ vec_uint4 exphi;
vec_int4 e1, e2;
vec_int4 min = spu_splats(-2044);
vec_int4 max = spu_splats(2046);
@@ -69,6 +84,8 @@ static __inline vector double _ldexpd2(vector double x, vector signed long long
exp = (vec_int4)spu_shuffle(llexp, llexp, odd_to_even);
+ exphi = (vec_uint4)spu_shuffle(llexp, llexp, dup_even);
+
/* Clamp the specified exponent to the range -2044 to 2046.
*/
diff --git a/newlib/libm/machine/spu/headers/ldexpf4.h b/newlib/libm/machine/spu/headers/ldexpf4.h
index 9933e5431..88e13b32b 100644
--- a/newlib/libm/machine/spu/headers/ldexpf4.h
+++ b/newlib/libm/machine/spu/headers/ldexpf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/lgammad2.h b/newlib/libm/machine/spu/headers/lgammad2.h
index 2e8a31a98..2644c770e 100644
--- a/newlib/libm/machine/spu/headers/lgammad2.h
+++ b/newlib/libm/machine/spu/headers/lgammad2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/lgammaf4.h b/newlib/libm/machine/spu/headers/lgammaf4.h
index 3142c7755..956a0e1c4 100644
--- a/newlib/libm/machine/spu/headers/lgammaf4.h
+++ b/newlib/libm/machine/spu/headers/lgammaf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -41,13 +53,11 @@
#define _LGAMMAF4_H_ 1
#include <spu_intrinsics.h>
-
-#include "logf4.h"
-#include "divf4.h"
+#include "lgammad2.h"
#include "recipf4.h"
-#include "truncf4.h"
+#include "logf4.h"
#include "sinf4.h"
-
+#include "truncf4.h"
/*
* FUNCTION
@@ -58,423 +68,129 @@
* function for the corresponding elements of the input vector.
*
* C99 Special Cases:
- * lgamma(0) returns +infinity
+ * lgamma(0) returns +infinite
* lgamma(1) returns +0
* lgamma(2) returns +0
- * lgamma(negative integer) returns +infinity
- * lgamma(+infinity) returns +infinity
- * lgamma(-infinity) returns +infinity
+ * lgamma(negative integer) returns +infinite
+ * lgamma(+infinite) returns +infinite
+ * lgamma(-infinite) returns +infinite
*
* Other Cases:
* lgamma(Nan) returns Nan
- * lgamma(Denorm) treated as lgamma(0) and returns +infinity
+ * lgamma(Denorm) treated as lgamma(0) and returns +infinite
*
*/
+
static __inline vector float _lgammaf4(vector float x)
{
- vec_float4 result;
- vec_float4 halflog2pi = spu_splats(9.189385332046727417803297364056E-1f);
- vec_float4 logpi = spu_splats(1.1447298858494001741434273513530587116472948129153f);
vec_float4 inff = (vec_float4)spu_splats(0x7F800000);
vec_float4 zerof = spu_splats(0.0f);
- vec_float4 onef = spu_splats(1.0f);
- vec_float4 twof = spu_splats(2.0f);
+ vec_float4 pi = spu_splats((float)PI);
vec_float4 sign_maskf = spu_splats(-0.0f);
- vec_float4 pi = spu_splats(3.14159265358979323846264338328f);
+ vector unsigned int gt0;
- /*
- * Unfortunately, some of the approximation methods for lgamma require
- * other basic math computations. Get those out of the way now. The
- * compiler seems to good a good job of scheduling this code with
- * the code that follows.
- */
- vec_uint4 gt0 = spu_cmpgt(x, zerof);
- vec_float4 xabs = spu_andc(x, sign_maskf);
- vec_float4 ln_x = _logf4(xabs);
- vec_float4 inv_x = _recipf4(xabs);
- vec_float4 xtrunc = _truncf4(x);
- vec_float4 inv_xsqu = spu_mul(inv_x, inv_x);
- vec_uint4 isnaninf = spu_cmpgt((vec_uint4)xabs, 0x7F7FFFFF);
- vec_uint4 ret_zero = spu_or(spu_cmpeq(x, onef), spu_cmpeq(x, twof));
+ /* This is where we switch from near zero approx. */
+ vec_float4 mac_switch = spu_splats(0.16f);
+ vec_float4 shift_switch = spu_splats(6.0f);
+ vec_float4 inv_x, inv_xsqu;
+ vec_float4 xtrunc, xstirling;
+ vec_float4 sum, xabs;
+ vec_uint4 isnaninf, isshifted;
+ vec_float4 result, stresult, shresult, mresult, nresult;
- /*
- * First thing we do is setup the description of each partition.
- * This consists of:
- * - Start x of partition
- * - Offset (used for evaluating power series expanded around a point)
- * - Truncation adjustment.
- * - Is approx method in region a rational approximation or just a polynomial
- * - The coefficients used in the poly or rational approximation
- */
+ /* Force Denorms to 0 */
+ x = spu_add(x, zerof);
+
+ xabs = spu_andc(x, sign_maskf);
- /***************************************************************
- * REGION 0: Approximation Near 0 from Above
+ gt0 = spu_cmpgt(x, zerof);
+ xtrunc = _truncf4(x);
+
+ /*
+ * For 0 < x <= 0.16.
+ * Approximation Near Zero
*
* Use Maclaurin Expansion of lgamma()
*
* lgamma(z) = -ln(z) - z * EulerMascheroni + Sum[(-1)^n * z^n * Zeta(n)/n]
*/
-
-#define SDM_LGF4_0_START 0.0f
-#define SDM_LGF4_0_OFF 0.0f
-#define SDM_LGF4_0_TRUNC 2u
-#define SDM_LGF4_0_RATIONAL 0x0u
-
-#define SDM_LGF4_0_00 0.0f
-#define SDM_LGF4_0_01 -0.5772156649015328606065121f
-#define SDM_LGF4_0_02 0.8224670334241132182362076f
-#define SDM_LGF4_0_03 -0.4006856343865314284665794f
-#define SDM_LGF4_0_04 0.2705808084277845478790009f
-#define SDM_LGF4_0_05 -0.2073855510286739852662731f
-#define SDM_LGF4_0_06 1.6955717699740818995241965496515E-1f
-#define SDM_LGF4_0_07 -1.4404989676884611811997107854997E-1f
-#define SDM_LGF4_0_08 1.2550966952474304242233565481358E-1f
-#define SDM_LGF4_0_09 -1.1133426586956469049087252991471E-1f
-#define SDM_LGF4_0_10 1.0009945751278180853371459589003E-1f
-#define SDM_LGF4_0_11 -9.0954017145829042232609298411497E-2f
-
-
-
- /***************************************************************
- * REGION 1: Above 0 and Below 1
- */
-#define SDM_LGF4_1_START 0.20f
-#define SDM_LGF4_1_OFF 0.0f
-#define SDM_LGF4_1_TRUNC 0u
-#define SDM_LGF4_1_RATIONAL 0xFFFFFFFFu
-
-/* Numerator */
-#define SDM_LGF4_1_06 5.5247592697706124892083167601451981186889952720891079f
-#define SDM_LGF4_1_07 188.42248906442882644741346270888237140890625699348872f
-#define SDM_LGF4_1_08 730.89115027907050579364152184942040244662318995470771f
-#define SDM_LGF4_1_09 -517.93391251349155395618464682404141737699116911423096f
-#define SDM_LGF4_1_10 -866.81293419754982917624255525168901081630973644141406f
-#define SDM_LGF4_1_11 459.90872804523394478152324135956113729930154636775805f
-
-/* Denominator */
-#define SDM_LGF4_1_00 1.0f
-#define SDM_LGF4_1_01 62.356015559548850893358835861387218304619374633480009f
-#define SDM_LGF4_1_02 553.64875642095755724931612658933597252336243693499682f
-#define SDM_LGF4_1_03 997.28805670393557265195865662557219661414263910835386f
-#define SDM_LGF4_1_04 257.10520661440946455560646958565998121417179154677712f
-#define SDM_LGF4_1_05 -15.398409585547124178878369413880017200739911288666830f
-
-
-
- /***************************************************************
- * REGION 2: Above 0 and Below 1
- */
-#define SDM_LGF4_2_START 0.60f
-#define SDM_LGF4_2_OFF 0.69f
-#define SDM_LGF4_2_TRUNC 1u
-#define SDM_LGF4_2_RATIONAL 0x0u
-
-/* This is a power series expanson of LogGamma around 0.69 */
-#define SDM_LGF4_2_00 0.27321026793030387025442491383648273204234f
-#define SDM_LGF4_2_01 -1.24869016926209356266849815723905575347988f
-#define SDM_LGF4_2_02 1.44985879780363867173410158693003578927407f
-#define SDM_LGF4_2_03 -1.11686573274718166516744313082147691068190f
-#define SDM_LGF4_2_04 1.14079150485439143731395820215710950729505f
-#define SDM_LGF4_2_05 -1.29512166953091144888197173527810141620764f
-#define SDM_LGF4_2_06 1.55206382120790061136858894716459302629069f
-#define SDM_LGF4_2_07 -1.92227237154565289482911310272968704445560f
-#define SDM_LGF4_2_08 2.43478939488445894670349784581009987461638f
-#define SDM_LGF4_2_09 -3.13512449573283650741385084753752461908870f
-#define SDM_LGF4_2_10 4.08851456399492725127969680590409811177590f
-#define SDM_LGF4_2_11 5.38629680478093362448042704719642976375265f
-
-
-
- /***************************************************************
- * REGION 3: Around 1
- */
-#define SDM_LGF4_3_START 0.74f
-#define SDM_LGF4_3_OFF 1.0f
-#define SDM_LGF4_3_TRUNC 2u
-#define SDM_LGF4_3_RATIONAL 0x0u
-
-#define SDM_LGF4_3_11 -0.90954017145829042232609298411497266951691494159836e-1f
-#define SDM_LGF4_3_10 0.10009945751278180853371459589003190170060195315645f
-#define SDM_LGF4_3_09 -0.11133426586956469049087252991471245116506731682165f
-#define SDM_LGF4_3_08 0.12550966952474304242233565481358155815737009883123f
-#define SDM_LGF4_3_07 -0.14404989676884611811997107854997096565712336579503f
-#define SDM_LGF4_3_06 0.16955717699740818995241965496515342131696958167214f
-#define SDM_LGF4_3_05 -0.20738555102867398526627309729140683361141618390038f
-#define SDM_LGF4_3_04 0.27058080842778454787900092413529197569368773797968f
-#define SDM_LGF4_3_03 -0.40068563438653142846657938717048333025499543078016f
-#define SDM_LGF4_3_02 0.82246703342411321823620758332301259460947495060340f
-#define SDM_LGF4_3_01 -0.57721566490153286060651209008240243104215933593992f
-#define SDM_LGF4_3_00 0.0f
-
-
-
- /***************************************************************
- * REGION 4: Above 1 to Below 2
- */
-
-#define SDM_LGF4_4_START 1.25f
-#define SDM_LGF4_4_OFF 1.4616321449683623412626595423257213284681962040064f
-#define SDM_LGF4_4_TRUNC 1u
-#define SDM_LGF4_4_RATIONAL 0x0u
-
-#define SDM_LGF4_4_00 -0.12148629053584960809551455717769158215135617313000f
-#define SDM_LGF4_4_01 0.0f
-#define SDM_LGF4_4_02 0.48383612272381058521372238085482537020562860838860f
-#define SDM_LGF4_4_03 -0.14758772299453070203095509395083641661852764909458f
-#define SDM_LGF4_4_04 0.064624940238912752656100346425238557063086033931734f
-#define SDM_LGF4_4_05 -0.032788541088481305500850258549331278505894787737970f
-#define SDM_LGF4_4_06 0.017970675115210394292863824811126161810628596070981f
-#define SDM_LGF4_4_07 -0.010314223036636387275160254800730296612070784399082f
-#define SDM_LGF4_4_08 0.0061005360205178884031365656884883648099463048507839f
-#define SDM_LGF4_4_09 -0.0036845696083163732546953776004972425913603137160767f
-#define SDM_LGF4_4_10 0.00225976482322181046596248251178293952686321035f
-#define SDM_LGF4_4_11 -0.00140225144590445083080002880374741201782467331f
-
-
-
- /***************************************************************
- * REGION 5: Around 2
- */
-
-#define SDM_LGF4_5_START 1.50f
-#define SDM_LGF4_5_OFF 2.0f
-#define SDM_LGF4_5_TRUNC 1u
-#define SDM_LGF4_5_RATIONAL 0x0u
-
-#define SDM_LGF4_5_00 0.0f
-#define SDM_LGF4_5_01 0.42278433509846713939348790991759756895784066406008f
-#define SDM_LGF4_5_02 0.32246703342411321823620758332301259460947495060340f
-#define SDM_LGF4_5_03 -0.6735230105319809513324605383714999692166209744683e-1f
-#define SDM_LGF4_5_04 0.2058080842778454787900092413529197569368773797968e-1f
-#define SDM_LGF4_5_05 -0.738555102867398526627309729140683361141618390038e-2f
-#define SDM_LGF4_5_06 0.289051033074152328575298829848675465030291500547e-2f
-#define SDM_LGF4_5_07 -0.119275391170326097711393569282810851426622293789e-2f
-#define SDM_LGF4_5_08 0.50966952474304242233565481358155815737009883123e-3f
-#define SDM_LGF4_5_09 -0.22315475845357937976141880360134005395620571054e-3f
-#define SDM_LGF4_5_10 0.9945751278180853371459589003190170060195315645e-4f
-#define SDM_LGF4_5_11 -0.44926236738133141700207502406357860782403250745e-4f
-
-
-
- /***************************************************************
- * REGION 6: Above 2 to Below Stirlings
- */
-
-#define SDM_LGF4_6_START 2.48f
-#define SDM_LGF4_6_OFF 0.0f
-#define SDM_LGF4_6_TRUNC 2u
-#define SDM_LGF4_6_RATIONAL 0xFFFFFFFFu
-
-/* Numerator */
-#define SDM_LGF4_6_06 2.8952045264375719070927153893062450394256201846894266f
-#define SDM_LGF4_6_07 0.9017557380149600532583460408941390566399250566546766f
-#define SDM_LGF4_6_08 -5.0120743649109868270726470406381462995568837028633266f
-#define SDM_LGF4_6_09 0.5723176665030477945174549923532715487712277062412760f
-#define SDM_LGF4_6_10 0.6107282478237180956153912232438073421489100296366786f
-#define SDM_LGF4_6_11 0.0312308625200519550078820867041868696010490562277303f
-
-/* Denominator */
-#define SDM_LGF4_6_00 1.0f
-#define SDM_LGF4_6_01 4.3592151369378598515798083402849838078885877442021500f
-#define SDM_LGF4_6_02 2.6245676641191702420707093818412405820501009602499853f
-#define SDM_LGF4_6_03 0.3438846837443412565179153619145215759074092780311669f
-#define SDM_LGF4_6_04 0.0078092905528158343621764949220712317164193605131159f
-#define SDM_LGF4_6_05 -0.000015217018272713076443927141674684568030697337620f
-
-
-
- /***************************************************************
- * REGION 7: Stirlings - Above 6.0
- *
- */
-
-#define SDM_LGF4_7_START 7.80f
-#define SDM_LGF4_7_OFF 0.0f
-#define SDM_LGF4_7_TRUNC 5u
-#define SDM_LGF4_7_RATIONAL 0x0u
-
-#define SDM_LGF4_7_00 8.3333333333333333333333333333333333333333333333333333333333333333333333E-2f
-#define SDM_LGF4_7_01 -2.7777777777777777777777777777777777777777777777777777777777777777777778E-3f
-#define SDM_LGF4_7_02 7.9365079365079365079365079365079365079365079365079365079365079365079365E-4f
-#define SDM_LGF4_7_03 -5.9523809523809523809523809523809523809523809523809523809523809523809524E-4f
-#define SDM_LGF4_7_04 8.4175084175084175084175084175084175084175084175084175084175084175084175E-4f
-#define SDM_LGF4_7_05 -1.9175269175269175269175269175269175269175269175269175269175269175269175E-3f
-#define SDM_LGF4_7_06 6.4102564102564102564102564102564102564102564102564102564102564102564103E-3f
-#define SDM_LGF4_7_07 0.0f
-#define SDM_LGF4_7_08 0.0f
-#define SDM_LGF4_7_09 0.0f
-#define SDM_LGF4_7_10 0.0f
-#define SDM_LGF4_7_11 0.0f
+ mresult = spu_madd(xabs, spu_splats((float)ZETA_06_DIV_06), spu_splats((float)ZETA_05_DIV_05));
+ mresult = spu_madd(xabs, mresult, spu_splats((float)ZETA_04_DIV_04));
+ mresult = spu_madd(xabs, mresult, spu_splats((float)ZETA_03_DIV_03));
+ mresult = spu_madd(xabs, mresult, spu_splats((float)ZETA_02_DIV_02));
+ mresult = spu_mul(xabs, spu_mul(xabs, mresult));
+ mresult = spu_sub(mresult, spu_add(_logf4(xabs), spu_mul(xabs, spu_splats((float)EULER_MASCHERONI))));
/*
- * Now we load the description of each partition.
+ * For 0.16 < x <= 6.0, we are going to push value
+ * out to an area where Stirling's approximation is
+ * accurate. Let's use a constant of 6.
+ *
+ * Use the recurrence relation:
+ * lgamma(x + 1) = ln(x) + lgamma(x)
+ *
+ * Note that we shift x here, before Stirling's calculation,
+ * then after Stirling's, we adjust the result.
+ *
*/
- /* Start point for each partition */
- vec_float4 r1start = spu_splats(SDM_LGF4_1_START);
- vec_float4 r2start = spu_splats(SDM_LGF4_2_START);
- vec_float4 r3start = spu_splats(SDM_LGF4_3_START);
- vec_float4 r4start = spu_splats(SDM_LGF4_4_START);
- vec_float4 r5start = spu_splats(SDM_LGF4_5_START);
- vec_float4 r6start = spu_splats(SDM_LGF4_6_START);
- vec_float4 r7start = spu_splats(SDM_LGF4_7_START);
-
- /* X Offset for each partition */
- vec_float4 xoffseta = (vec_float4) {SDM_LGF4_0_OFF, SDM_LGF4_1_OFF, SDM_LGF4_2_OFF, SDM_LGF4_3_OFF};
- vec_float4 xoffsetb = (vec_float4) {SDM_LGF4_4_OFF, SDM_LGF4_5_OFF, SDM_LGF4_6_OFF, SDM_LGF4_7_OFF};
-
- /* Truncation Correction for each partition */
- vec_uint4 tcorra = (vec_uint4) {SDM_LGF4_0_TRUNC, SDM_LGF4_1_TRUNC, SDM_LGF4_2_TRUNC, SDM_LGF4_3_TRUNC};
- vec_uint4 tcorrb = (vec_uint4) {SDM_LGF4_4_TRUNC, SDM_LGF4_5_TRUNC, SDM_LGF4_6_TRUNC, SDM_LGF4_7_TRUNC};
-
- /* Is partition a Rational Approximation */
- vec_uint4 israta = (vec_uint4) {SDM_LGF4_0_RATIONAL, SDM_LGF4_1_RATIONAL, SDM_LGF4_2_RATIONAL, SDM_LGF4_3_RATIONAL};
- vec_uint4 isratb = (vec_uint4) {SDM_LGF4_4_RATIONAL, SDM_LGF4_5_RATIONAL, SDM_LGF4_6_RATIONAL, SDM_LGF4_7_RATIONAL};
-
- /* The polynomial coefficients for all partitions */
- vec_float4 c00a = (vec_float4) {SDM_LGF4_0_00, SDM_LGF4_1_00, SDM_LGF4_2_00, SDM_LGF4_3_00};
- vec_float4 c01a = (vec_float4) {SDM_LGF4_0_01, SDM_LGF4_1_01, SDM_LGF4_2_01, SDM_LGF4_3_01};
- vec_float4 c02a = (vec_float4) {SDM_LGF4_0_02, SDM_LGF4_1_02, SDM_LGF4_2_02, SDM_LGF4_3_02};
- vec_float4 c03a = (vec_float4) {SDM_LGF4_0_03, SDM_LGF4_1_03, SDM_LGF4_2_03, SDM_LGF4_3_03};
- vec_float4 c04a = (vec_float4) {SDM_LGF4_0_04, SDM_LGF4_1_04, SDM_LGF4_2_04, SDM_LGF4_3_04};
- vec_float4 c05a = (vec_float4) {SDM_LGF4_0_05, SDM_LGF4_1_05, SDM_LGF4_2_05, SDM_LGF4_3_05};
- vec_float4 c06a = (vec_float4) {SDM_LGF4_0_06, SDM_LGF4_1_06, SDM_LGF4_2_06, SDM_LGF4_3_06};
- vec_float4 c07a = (vec_float4) {SDM_LGF4_0_07, SDM_LGF4_1_07, SDM_LGF4_2_07, SDM_LGF4_3_07};
- vec_float4 c08a = (vec_float4) {SDM_LGF4_0_08, SDM_LGF4_1_08, SDM_LGF4_2_08, SDM_LGF4_3_08};
- vec_float4 c09a = (vec_float4) {SDM_LGF4_0_09, SDM_LGF4_1_09, SDM_LGF4_2_09, SDM_LGF4_3_09};
- vec_float4 c10a = (vec_float4) {SDM_LGF4_0_10, SDM_LGF4_1_10, SDM_LGF4_2_10, SDM_LGF4_3_10};
- vec_float4 c11a = (vec_float4) {SDM_LGF4_0_11, SDM_LGF4_1_11, SDM_LGF4_2_11, SDM_LGF4_3_11};
-
- vec_float4 c00b = (vec_float4) {SDM_LGF4_4_00, SDM_LGF4_5_00, SDM_LGF4_6_00, SDM_LGF4_7_00};
- vec_float4 c01b = (vec_float4) {SDM_LGF4_4_01, SDM_LGF4_5_01, SDM_LGF4_6_01, SDM_LGF4_7_01};
- vec_float4 c02b = (vec_float4) {SDM_LGF4_4_02, SDM_LGF4_5_02, SDM_LGF4_6_02, SDM_LGF4_7_02};
- vec_float4 c03b = (vec_float4) {SDM_LGF4_4_03, SDM_LGF4_5_03, SDM_LGF4_6_03, SDM_LGF4_7_03};
- vec_float4 c04b = (vec_float4) {SDM_LGF4_4_04, SDM_LGF4_5_04, SDM_LGF4_6_04, SDM_LGF4_7_04};
- vec_float4 c05b = (vec_float4) {SDM_LGF4_4_05, SDM_LGF4_5_05, SDM_LGF4_6_05, SDM_LGF4_7_05};
- vec_float4 c06b = (vec_float4) {SDM_LGF4_4_06, SDM_LGF4_5_06, SDM_LGF4_6_06, SDM_LGF4_7_06};
- vec_float4 c07b = (vec_float4) {SDM_LGF4_4_07, SDM_LGF4_5_07, SDM_LGF4_6_07, SDM_LGF4_7_07};
- vec_float4 c08b = (vec_float4) {SDM_LGF4_4_08, SDM_LGF4_5_08, SDM_LGF4_6_08, SDM_LGF4_7_08};
- vec_float4 c09b = (vec_float4) {SDM_LGF4_4_09, SDM_LGF4_5_09, SDM_LGF4_6_09, SDM_LGF4_7_09};
- vec_float4 c10b = (vec_float4) {SDM_LGF4_4_10, SDM_LGF4_5_10, SDM_LGF4_6_10, SDM_LGF4_7_10};
- vec_float4 c11b = (vec_float4) {SDM_LGF4_4_11, SDM_LGF4_5_11, SDM_LGF4_6_11, SDM_LGF4_7_11};
-
-
- vec_uchar16 shuffle0 = (vec_uchar16) spu_splats(0x00010203);
- vec_uchar16 shuffle1 = (vec_uchar16) spu_splats(0x04050607);
- vec_uchar16 shuffle2 = (vec_uchar16) spu_splats(0x08090A0B);
- vec_uchar16 shuffle3 = (vec_uchar16) spu_splats(0x0C0D0E0F);
- vec_uchar16 shuffle4 = (vec_uchar16) spu_splats(0x10111213);
- vec_uchar16 shuffle5 = (vec_uchar16) spu_splats(0x14151617);
- vec_uchar16 shuffle6 = (vec_uchar16) spu_splats(0x18191A1B);
- vec_uchar16 shuffle7 = (vec_uchar16) spu_splats(0x1C1D1E1F);
-
+ isshifted = spu_cmpgt(shift_switch, x);
+ xstirling = spu_sel(xabs, spu_add(xabs, spu_splats(6.0f)), isshifted);
+ inv_x = _recipf4(xstirling);
+ inv_xsqu = spu_mul(inv_x, inv_x);
/*
- * Determine the shuffle pattern based on which partition
- * each element of x is in.
+ * For 6.0 < x < infinite
+ *
+ * Use Stirling's Series.
+ *
+ * 1 1 1 1 1
+ * lgamma(x) = --- ln (2*pi) + (z - ---) ln(x) - x + --- - ----- + ------ ...
+ * 2 2 12x 360x^3 1260x^5
+ *
+ *
*/
-
- vec_uchar16 gt_r1start = (vec_uchar16)spu_cmpgt(xabs, r1start);
- vec_uchar16 gt_r2start = (vec_uchar16)spu_cmpgt(xabs, r2start);
- vec_uchar16 gt_r3start = (vec_uchar16)spu_cmpgt(xabs, r3start);
- vec_uchar16 gt_r4start = (vec_uchar16)spu_cmpgt(xabs, r4start);
- vec_uchar16 gt_r5start = (vec_uchar16)spu_cmpgt(xabs, r5start);
- vec_uchar16 gt_r6start = (vec_uchar16)spu_cmpgt(xabs, r6start);
- vec_uchar16 gt_r7start = (vec_uchar16)spu_cmpgt(xabs, r7start);
-
- vec_uchar16 shufflepattern;
- shufflepattern = spu_sel(shuffle0, shuffle1, gt_r1start);
- shufflepattern = spu_sel(shufflepattern, shuffle2, gt_r2start);
- shufflepattern = spu_sel(shufflepattern, shuffle3, gt_r3start);
- shufflepattern = spu_sel(shufflepattern, shuffle4, gt_r4start);
- shufflepattern = spu_sel(shufflepattern, shuffle5, gt_r5start);
- shufflepattern = spu_sel(shufflepattern, shuffle6, gt_r6start);
- shufflepattern = spu_sel(shufflepattern, shuffle7, gt_r7start);
-
-
-
- /* Use the shuffle pattern to select the coefficients */
-
- vec_float4 coeff_00 = spu_shuffle(c00a, c00b, shufflepattern);
- vec_float4 coeff_01 = spu_shuffle(c01a, c01b, shufflepattern);
- vec_float4 coeff_02 = spu_shuffle(c02a, c02b, shufflepattern);
- vec_float4 coeff_03 = spu_shuffle(c03a, c03b, shufflepattern);
- vec_float4 coeff_04 = spu_shuffle(c04a, c04b, shufflepattern);
- vec_float4 coeff_06 = spu_shuffle(c06a, c06b, shufflepattern);
- vec_float4 coeff_07 = spu_shuffle(c07a, c07b, shufflepattern);
- vec_float4 coeff_05 = spu_shuffle(c05a, c05b, shufflepattern);
- vec_float4 coeff_08 = spu_shuffle(c08a, c08b, shufflepattern);
- vec_float4 coeff_09 = spu_shuffle(c09a, c09b, shufflepattern);
- vec_float4 coeff_10 = spu_shuffle(c10a, c10b, shufflepattern);
- vec_float4 coeff_11 = spu_shuffle(c11a, c11b, shufflepattern);
-
- vec_float4 xoffset = spu_shuffle(xoffseta, xoffsetb, shufflepattern);
- vec_uint4 tcorrection = spu_shuffle(tcorra, tcorrb, shufflepattern);
- vec_uint4 isrational = spu_shuffle(israta, isratb, shufflepattern);
+ sum = spu_madd(inv_xsqu, spu_splats((float)STIRLING_10), spu_splats((float)STIRLING_09));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_08));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_07));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_06));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_05));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_04));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_03));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_02));
+ sum = spu_madd(sum, inv_xsqu, spu_splats((float)STIRLING_01));
+ sum = spu_mul(sum, inv_x);
+
+ stresult = spu_madd(spu_sub(xstirling, spu_splats(0.5f)), _logf4(xstirling), spu_splats((float)HALFLOG2PI));
+ stresult = spu_sub(stresult, xstirling);
+ stresult = spu_add(stresult, sum);
/*
- * We've completed the coeff. setup. Now we actually do the
- * approximation below.
- */
-
- /* Adjust x value here (for approximations about a point) */
- vec_float4 xappr = spu_sub(xabs, xoffset);
-
- /* If in Stirling partition, do some setup before the madds */
- xappr = spu_sel(xappr, inv_xsqu, gt_r7start);
-
-
-
- /* Now we do the multiplies - either a big polynomial or
- * a rational approximation. Use Horner's method.
+ * Adjust result if we shifted x into Stirling range.
+ *
+ * lgamma(x) = lgamma(x + n) - ln(x(x+1)(x+2)...(x+n-1)
+ *
*/
- result = coeff_11;
- result = spu_madd(xappr, result, coeff_10);
- result = spu_madd(xappr, result, coeff_09);
- result = spu_madd(xappr, result, coeff_08);
- result = spu_madd(xappr, result, coeff_07);
- result = spu_madd(xappr, result, coeff_06);
-
- /* For rational approximations, we save numerator. */
- vec_float4 resultn = result;
-
- /* For rational appr,, reset result for calculation of denominator. */
- result = spu_sel(result, spu_splats(0.0f), isrational);
-
- result = spu_madd(xappr, result, coeff_05);
- result = spu_madd(xappr, result, coeff_04);
- result = spu_madd(xappr, result, coeff_03);
- result = spu_madd(xappr, result, coeff_02);
- result = spu_madd(xappr, result, coeff_01);
- result = spu_madd(xappr, result, coeff_00);
+ shresult = spu_mul(xabs, spu_add(xabs, spu_splats(1.0f)));
+ shresult = spu_mul(shresult, spu_add(xabs, spu_splats(2.0f)));
+ shresult = spu_mul(shresult, spu_add(xabs, spu_splats(3.0f)));
+ shresult = spu_mul(shresult, spu_add(xabs, spu_splats(4.0f)));
+ shresult = spu_mul(shresult, spu_add(xabs, spu_splats(5.0f)));
+ shresult = _logf4(shresult);
+ shresult = spu_sub(stresult, shresult);
+ stresult = spu_sel(stresult, shresult, isshifted);
- /* Select either the polynomial or rational result */
- result = spu_sel(result, _divf4(resultn, result), isrational);
/*
- * Now we have to do a bit of additional calculations for
- * partitions that weren't simple polynomial or rational
- * approximations.
+ * Select either Maclaurin or Stirling result before Negative X calc.
*/
-
- /* Finish the Near 0 formula */
- result = spu_sel(spu_sub(result, ln_x), result, gt_r1start);
-
- /* Finish Stirling's Approximation */
- vec_float4 resultstirling = spu_madd(spu_sub(xabs, spu_splats(0.5f)), ln_x, halflog2pi);
- resultstirling = spu_sub(resultstirling, xabs);
- resultstirling = spu_add(spu_mul(result,inv_x), resultstirling);
- result = spu_sel(result, resultstirling, gt_r7start);
-
-
- /* Adjust due to systematic truncation */
- result = (vec_float4)spu_add((vec_uint4)result, tcorrection);
-
+ vec_uint4 useStirlings = spu_cmpgt(xabs, mac_switch);
+ result = spu_sel(mresult, stresult, useStirlings);
/*
* Approximation for Negative X
@@ -486,30 +202,29 @@ static __inline vector float _lgammaf4(vector float x)
* lgamma(x) = log(pi/(-x sin(pi x))) - lgamma(-x)
*
*/
- vec_float4 nresult = spu_mul(x, _sinf4(spu_mul(x, pi)));
+ nresult = spu_mul(x, _sinf4(spu_mul(x, pi)));
nresult = spu_andc(nresult, sign_maskf);
- nresult = spu_sub(logpi, spu_add(result, _logf4(nresult)));
- nresult = (vec_float4)spu_add((vec_uint4)nresult, spu_splats(1u));
+ nresult = spu_sub(_logf4(pi), spu_add(result, _logf4(nresult)));
- result = spu_sel(nresult, result, gt0);
+ /*
+ * Select between the negative or positive x approximations.
+ */
+ result = spu_sel(nresult, result, gt0);
/*
- * Special Cases
+ * Finally, special cases/errors.
*/
- /* x = non-positive integer, return infinity */
- vec_uint4 isnonposint = spu_andc(spu_cmpeq(x, xtrunc), gt0);
- result = spu_sel(result, inff, spu_or(isnonposint, spu_cmpgt(x, spu_splats(4.2e36f))));
+ /*
+ * x = non-positive integer, return infinity.
+ */
result = spu_sel(result, inff, spu_andc(spu_cmpeq(x, xtrunc), gt0));
- /* Zeros of function */
- result = spu_sel(result, zerof, ret_zero);
-
- /* x = +/- infinity or nan, return |x| */
+ /* x = +/- infinite or nan, return |x| */
+ isnaninf = spu_cmpgt((vec_uint4)xabs, 0x7FEFFFFF);
result = spu_sel(result, xabs, isnaninf);
-
return result;
}
diff --git a/newlib/libm/machine/spu/headers/log10d2.h b/newlib/libm/machine/spu/headers/log10d2.h
index 935a76cc6..f8234183c 100644
--- a/newlib/libm/machine/spu/headers/log10d2.h
+++ b/newlib/libm/machine/spu/headers/log10d2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/log1pd2.h b/newlib/libm/machine/spu/headers/log1pd2.h
index 099f7b44e..0433f37b8 100644
--- a/newlib/libm/machine/spu/headers/log1pd2.h
+++ b/newlib/libm/machine/spu/headers/log1pd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/log1pf4.h b/newlib/libm/machine/spu/headers/log1pf4.h
index 0aa4f5c6c..376aaaa72 100644
--- a/newlib/libm/machine/spu/headers/log1pf4.h
+++ b/newlib/libm/machine/spu/headers/log1pf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/log2d2.h b/newlib/libm/machine/spu/headers/log2d2.h
index 25841af32..9bdbb772d 100644
--- a/newlib/libm/machine/spu/headers/log2d2.h
+++ b/newlib/libm/machine/spu/headers/log2d2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/log2f4.h b/newlib/libm/machine/spu/headers/log2f4.h
index 3853e91bb..b19ec24bb 100644
--- a/newlib/libm/machine/spu/headers/log2f4.h
+++ b/newlib/libm/machine/spu/headers/log2f4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/logbf4.h b/newlib/libm/machine/spu/headers/logbf4.h
index 6b5321cac..d3dbeeb93 100644
--- a/newlib/libm/machine/spu/headers/logbf4.h
+++ b/newlib/libm/machine/spu/headers/logbf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -45,18 +57,19 @@
/*
* FUNCTION
- * vector float _logbf4(vector float x)
+ * vector float _scalbnf4(vector float x, vector signed int exp)
*
* DESCRIPTION
- * The _logbf4 function returns a vector float that contains the exponent
- * of the corresponding elements of the input vector x. The exponent is
- * defined by:
- * x = frac * FLT_RADIX^exp, with frac in [1, FLT_RADIX).
+ * The _scalbnf4 function returns a vector containing each element of x
+ * multiplied by 2^n computed efficiently. This function is computed
+ * without the assistance of any floating point operations and as such
+ * does not set any floating point exceptions.
*
- * Special Cases:
- * x = 0, result is undefined.
- * x = NaN, result is NaN.
- * x = infinity, +infinity is returned.
+ * Special Cases:
+ * - if the exponent is 0, then x is either 0 or a subnormal, and the
+ * result will be returned as 0.
+ * - if the result if underflows, it will be returned as 0.
+ * - if the result overflows, it will be returned as FLT_MAX.
*
*/
static __inline vector float _logbf4(vector float x)
diff --git a/newlib/libm/machine/spu/headers/logd2.h b/newlib/libm/machine/spu/headers/logd2.h
index a770c3c46..a9f25a966 100644
--- a/newlib/libm/machine/spu/headers/logd2.h
+++ b/newlib/libm/machine/spu/headers/logd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/logf4.h b/newlib/libm/machine/spu/headers/logf4.h
index 3bd5d7935..667d25dd0 100644
--- a/newlib/libm/machine/spu/headers/logf4.h
+++ b/newlib/libm/machine/spu/headers/logf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/nearbyintf4.h b/newlib/libm/machine/spu/headers/nearbyintf4.h
index eb97ab4f5..746796c32 100644
--- a/newlib/libm/machine/spu/headers/nearbyintf4.h
+++ b/newlib/libm/machine/spu/headers/nearbyintf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/nextafterd2.h b/newlib/libm/machine/spu/headers/nextafterd2.h
index aac9408a1..78238487a 100644
--- a/newlib/libm/machine/spu/headers/nextafterd2.h
+++ b/newlib/libm/machine/spu/headers/nextafterd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -62,13 +74,10 @@
static __inline vector double _nextafterd2(vector double x, vector double y)
{
vec_double2 n1ulp = (vec_double2)spu_splats(0x8000000000000001ull);
- vector unsigned char mov_carry = {0x80,0x80,0x80, 7, 0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,15, 0x80,0x80,0x80,0x80};
vec_double2 zerod = spu_splats(0.0);
vec_llong2 one = spu_splats(1ll);
vec_ullong2 xlt0, xgty, xeqy, xeq0;
vec_llong2 xllong;
- vec_int4 carry;
vec_llong2 delta, deltap1;
vec_double2 result;
@@ -93,18 +102,10 @@ static __inline vector double _nextafterd2(vector double x, vector double y)
/* Determine value to add to x */
delta = (vec_llong2)spu_xor(xgty, xlt0);
-
- //deltap1 = delta + one;
- carry = spu_genc((vec_int4)delta, (vec_int4)one);
- carry = spu_shuffle(carry, carry, mov_carry);
- deltap1 = (vec_llong2)spu_addx((vec_int4)delta, (vec_int4)one, (vec_int4)carry);
-
+ deltap1 = delta + one;
delta = spu_sel(deltap1, delta, (vec_ullong2)delta);
- //xllong = xllong + delta;
- carry = spu_genc((vec_int4)xllong, (vec_int4)delta);
- carry = spu_shuffle(carry, carry, mov_carry);
- xllong = (vec_llong2)spu_addx((vec_int4)xllong, (vec_int4)delta, (vec_int4)carry);
+ xllong = xllong + delta;
/* Fix the case of x = 0, and answer should be -1 ulp */
result = spu_sel((vec_double2)xllong, n1ulp, spu_and((vec_ullong2)delta, xeq0));
diff --git a/newlib/libm/machine/spu/headers/nextafterf4.h b/newlib/libm/machine/spu/headers/nextafterf4.h
index 4493db58b..15a5e3daf 100644
--- a/newlib/libm/machine/spu/headers/nextafterf4.h
+++ b/newlib/libm/machine/spu/headers/nextafterf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -85,10 +97,10 @@ static __inline vector float _nextafterf4(vector float x, vector float y)
/* Determine value to add to x */
delta = (vec_int4)spu_xor(xgty, xlt0);
- deltap1 = spu_add(delta,one);
+ deltap1 = delta + one;
delta = spu_sel(deltap1, delta, (vec_uint4)delta);
- xint = spu_add(xint, delta);
+ xint = xint + delta;
/* Fix the case of x = 0, and answer should be -1 ulp */
result = spu_sel((vec_float4)xint, n1ulp, spu_and((vec_uint4)delta, xeq0));
diff --git a/newlib/libm/machine/spu/headers/powd2.h b/newlib/libm/machine/spu/headers/powd2.h
index bbcafdfcb..98234a620 100644
--- a/newlib/libm/machine/spu/headers/powd2.h
+++ b/newlib/libm/machine/spu/headers/powd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/powf4.h b/newlib/libm/machine/spu/headers/powf4.h
index 4fd2a229b..9eec44b32 100644
--- a/newlib/libm/machine/spu/headers/powf4.h
+++ b/newlib/libm/machine/spu/headers/powf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/recipd2.h b/newlib/libm/machine/spu/headers/recipd2.h
index 0c701ec05..463769db4 100644
--- a/newlib/libm/machine/spu/headers/recipd2.h
+++ b/newlib/libm/machine/spu/headers/recipd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -68,7 +80,9 @@
*/
static __inline vector double _recipd2(vector double value_d)
{
+ vector unsigned long long zero = (vector unsigned long long) { 0x0000000000000000ULL, 0x0000000000000000ULL };
vector unsigned long long expmask = (vector unsigned long long) { 0x7FF0000000000000ULL, 0x7FF0000000000000ULL };
+ vector unsigned long long signmask = (vector unsigned long long) { 0x8000000000000000ULL, 0x8000000000000000ULL };
vector float x0;
vector float value;
vector float two = spu_splats(2.0f);
@@ -80,7 +94,6 @@ static __inline vector double _recipd2(vector double value_d)
* point exponents that are out of single precision range.
*/
bias = spu_xor(spu_and(value_d, (vector double)expmask), (vector double)expmask);
-
value = spu_roundtf(spu_mul(value_d, bias));
x0 = spu_re(value);
x1 = spu_extend(spu_mul(x0, spu_nmsub(value, x0, two)));
@@ -89,22 +102,10 @@ static __inline vector double _recipd2(vector double value_d)
x3 = spu_mul(x2, spu_nmsub(value_d, x2, two_d));
/* Handle input = +/- infinity or +/-0. */
-
-#ifdef __SPU_EDP__
- vec_ullong2 is0inf = spu_testsv(value_d, SPU_SV_NEG_ZERO | SPU_SV_POS_ZERO |
- SPU_SV_NEG_INFINITY | SPU_SV_POS_INFINITY);
-#else
- vec_double2 nzero = spu_splats(-0.0);
- vec_double2 xabs = spu_andc(value_d, nzero);
- vector unsigned char swap = (vector unsigned char) {4,5,6,7, 0,1,2,3, 12,13,14,15, 8,9,10,11};
- vec_uint4 isinf = spu_cmpeq((vec_uint4)xabs, (vec_uint4)expmask);
- vec_uint4 iszero = spu_cmpeq((vec_uint4)xabs, 0);
- isinf = spu_and(isinf, spu_shuffle(isinf, isinf, swap));
- iszero = spu_and(iszero, spu_shuffle(iszero, iszero, swap));
- vec_ullong2 is0inf = (vec_ullong2)spu_or(isinf, iszero);
-#endif /* __SPU_EDP__ */
-
- x3 = spu_sel(x3, spu_xor(value_d, (vector double)expmask), is0inf);
+ vec_double2 xabs = spu_andc(value_d, (vec_double2)signmask);
+ vec_ullong2 zeroinf = spu_or(spu_cmpeq(xabs, (vec_double2)expmask),
+ spu_cmpeq(xabs, (vec_double2)zero));
+ x3 = spu_sel(x3, spu_xor(value_d, (vector double)expmask), zeroinf);
return (x3);
}
diff --git a/newlib/libm/machine/spu/headers/recipf4.h b/newlib/libm/machine/spu/headers/recipf4.h
index d313c022e..3a0287412 100644
--- a/newlib/libm/machine/spu/headers/recipf4.h
+++ b/newlib/libm/machine/spu/headers/recipf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/rintf4.h b/newlib/libm/machine/spu/headers/rintf4.h
index a2b5aea61..11e3534c6 100644
--- a/newlib/libm/machine/spu/headers/rintf4.h
+++ b/newlib/libm/machine/spu/headers/rintf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/scalbnf4.h b/newlib/libm/machine/spu/headers/scalbnf4.h
index 32b733993..718a8f9f9 100644
--- a/newlib/libm/machine/spu/headers/scalbnf4.h
+++ b/newlib/libm/machine/spu/headers/scalbnf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/signbitd2.h b/newlib/libm/machine/spu/headers/signbitd2.h
index 74138d4e6..e1c955a05 100644
--- a/newlib/libm/machine/spu/headers/signbitd2.h
+++ b/newlib/libm/machine/spu/headers/signbitd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/simdmath.h b/newlib/libm/machine/spu/headers/simdmath.h
index 3330d79b7..bba8debd1 100644
--- a/newlib/libm/machine/spu/headers/simdmath.h
+++ b/newlib/libm/machine/spu/headers/simdmath.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
@@ -200,9 +212,9 @@ vector double fmind2(vector double x, vector double y);
vector double fmodd2(vector double x, vector double y);
vector float fmodf4_fast(vector float x, vector float y);
vector signed long long fpclassifyd2(vector double x);
-vector double frexpd2(vector double x, vector signed long long *pexp);
+vector double frexpd2(vector double x, vector signed int *pexp);
vector double hypotd2(vector double x, vector double y);
-vector signed long long ilogbd2(vector double x);
+vector signed int ilogbd2(vector double x);
vector unsigned long long is0denormd2(vector double x);
vector unsigned long long isequald2(vector double x, vector double y);
vector unsigned long long isfinited2(vector double x);
@@ -215,7 +227,7 @@ vector unsigned long long islessgreaterd2(vector double x, vector double y);
vector unsigned long long isnand2(vector double x);
vector unsigned long long isnormald2(vector double x);
vector unsigned long long isunorderedd2(vector double x, vector double y);
-vector double ldexpd2(vector double x, vector signed long long exp);
+vector double ldexpd2(vector double x, vector signed int exp);
vector signed long long llabsi2(vector signed long long x);
lldivi2_t lldivi2(vector signed long long x, vector signed long long y);
lldivu2_t lldivu2(vector unsigned long long x, vector unsigned long long y);
@@ -225,7 +237,6 @@ vector signed long long llroundd2(vector double x);
vector double log10d2(vector double x);
vector double log1pd2(vector double x);
vector double log2d2(vector double x);
-vector double logbd2(vector double x);
vector double logd2(vector double x);
vector double modfd2(vector double x, vector double* pint);
vector double nearbyintd2(vector double x);
@@ -236,7 +247,7 @@ vector double powd2(vector double x, vector double y);
vector double recipd2(vector double value_d);
vector float recipf4_fast(vector float a);
vector double remainderd2(vector double x, vector double y);
-vector double remquod2(vector double x, vector double y, vector signed long long *quo);
+vector double remquod2(vector double x, vector double y, vector signed int *quo);
vector double rintd2(vector double x);
vector double roundd2(vector double x);
vector double rsqrtd2(vector double x);
diff --git a/newlib/libm/machine/spu/headers/sincosd2.h b/newlib/libm/machine/spu/headers/sincosd2.h
index 5f3102d39..f87c36bc2 100644
--- a/newlib/libm/machine/spu/headers/sincosd2.h
+++ b/newlib/libm/machine/spu/headers/sincosd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sincosf4.h b/newlib/libm/machine/spu/headers/sincosf4.h
index 403897448..8c95ed30b 100644
--- a/newlib/libm/machine/spu/headers/sincosf4.h
+++ b/newlib/libm/machine/spu/headers/sincosf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sind2.h b/newlib/libm/machine/spu/headers/sind2.h
index b1a9d1ff2..3133e9b7a 100644
--- a/newlib/libm/machine/spu/headers/sind2.h
+++ b/newlib/libm/machine/spu/headers/sind2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sinf4.h b/newlib/libm/machine/spu/headers/sinf4.h
index 90b20e63f..b8a559ae0 100644
--- a/newlib/libm/machine/spu/headers/sinf4.h
+++ b/newlib/libm/machine/spu/headers/sinf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sinhd2.h b/newlib/libm/machine/spu/headers/sinhd2.h
index d87ec07a3..59fafc52f 100644
--- a/newlib/libm/machine/spu/headers/sinhd2.h
+++ b/newlib/libm/machine/spu/headers/sinhd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sinhf4.h b/newlib/libm/machine/spu/headers/sinhf4.h
index 486f5d358..de3da05ca 100644
--- a/newlib/libm/machine/spu/headers/sinhf4.h
+++ b/newlib/libm/machine/spu/headers/sinhf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2006,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sqrtd2.h b/newlib/libm/machine/spu/headers/sqrtd2.h
index b5c527b13..88468d1cc 100644
--- a/newlib/libm/machine/spu/headers/sqrtd2.h
+++ b/newlib/libm/machine/spu/headers/sqrtd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/sqrtf4.h b/newlib/libm/machine/spu/headers/sqrtf4.h
index 4565ab406..ef5ff3b69 100644
--- a/newlib/libm/machine/spu/headers/sqrtf4.h
+++ b/newlib/libm/machine/spu/headers/sqrtf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/tand2.h b/newlib/libm/machine/spu/headers/tand2.h
index 91c76ce4f..70b35a3ee 100644
--- a/newlib/libm/machine/spu/headers/tand2.h
+++ b/newlib/libm/machine/spu/headers/tand2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/tanf4.h b/newlib/libm/machine/spu/headers/tanf4.h
index 879891e4e..8496b8b28 100644
--- a/newlib/libm/machine/spu/headers/tanf4.h
+++ b/newlib/libm/machine/spu/headers/tanf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/tanhd2.h b/newlib/libm/machine/spu/headers/tanhd2.h
index 654cd99e9..20684c818 100644
--- a/newlib/libm/machine/spu/headers/tanhd2.h
+++ b/newlib/libm/machine/spu/headers/tanhd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/tanhf4.h b/newlib/libm/machine/spu/headers/tanhf4.h
index 6d45572b0..696ccc160 100644
--- a/newlib/libm/machine/spu/headers/tanhf4.h
+++ b/newlib/libm/machine/spu/headers/tanhf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/tgammad2.h b/newlib/libm/machine/spu/headers/tgammad2.h
index fa0f2f325..5dbb287b7 100644
--- a/newlib/libm/machine/spu/headers/tgammad2.h
+++ b/newlib/libm/machine/spu/headers/tgammad2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/tgammaf4.h b/newlib/libm/machine/spu/headers/tgammaf4.h
index 396146a57..4f10d8c13 100644
--- a/newlib/libm/machine/spu/headers/tgammaf4.h
+++ b/newlib/libm/machine/spu/headers/tgammaf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2007,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation */
/* All Rights Reserved. */
/* */
@@ -19,6 +19,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/truncd2.h b/newlib/libm/machine/spu/headers/truncd2.h
index 87d4a38ca..9dab7f24c 100644
--- a/newlib/libm/machine/spu/headers/truncd2.h
+++ b/newlib/libm/machine/spu/headers/truncd2.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
diff --git a/newlib/libm/machine/spu/headers/truncf4.h b/newlib/libm/machine/spu/headers/truncf4.h
index b762e3a46..51c2ac5df 100644
--- a/newlib/libm/machine/spu/headers/truncf4.h
+++ b/newlib/libm/machine/spu/headers/truncf4.h
@@ -1,5 +1,5 @@
/* -------------------------------------------------------------- */
-/* (C)Copyright 2001,2008, */
+/* (C)Copyright 2006,2007, */
/* International Business Machines Corporation, */
/* Sony Computer Entertainment, Incorporated, */
/* Toshiba Corporation, */
@@ -22,6 +22,18 @@
/* contributors may be used to endorse or promote products */
/* derived from this software without specific prior written */
/* permission. */
+/* Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above */
+/* copyright notice, this list of conditions and the following */
+/* disclaimer in the documentation and/or other materials */
+/* provided with the distribution. */
+/* */
+/* Neither the name of IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */