mirror of git://gcc.gnu.org/git/gcc.git
re PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c)
PR target/65038
* config.in: Regenerated.
* configure: Likewise.
* configure.ac (AC_HEADER_STDC): Added explicit.
(AC_CHECK_HEADERS): Check for default headers plus
for ftw.h header.
* libgcov-util.c (gcov_read_profile_dir): Disable use
of ftw-function, if header is not found.
(ftw_read_file): Likewise.
From-SVN: r221059
This commit is contained in:
parent
0824d92489
commit
0e4a0def1e
|
|
@ -1,3 +1,15 @@
|
||||||
|
2015-02-27 Kai Tietz <ktietz@redhat.com>
|
||||||
|
|
||||||
|
PR target/65038
|
||||||
|
* config.in: Regenerated.
|
||||||
|
* configure: Likewise.
|
||||||
|
* configure.ac (AC_HEADER_STDC): Added explicit.
|
||||||
|
(AC_CHECK_HEADERS): Check for default headers plus
|
||||||
|
for ftw.h header.
|
||||||
|
* libgcov-util.c (gcov_read_profile_dir): Disable use
|
||||||
|
of ftw-function, if header is not found.
|
||||||
|
(ftw_read_file): Likewise.
|
||||||
|
|
||||||
2015-02-23 Thomas Schwinge <thomas@codesourcery.com>
|
2015-02-23 Thomas Schwinge <thomas@codesourcery.com>
|
||||||
|
|
||||||
PR target/65181
|
PR target/65181
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,9 @@
|
||||||
/* Define to 1 if the target assembler supports thread-local storage. */
|
/* Define to 1 if the target assembler supports thread-local storage. */
|
||||||
#undef HAVE_CC_TLS
|
#undef HAVE_CC_TLS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <ftw.h> header file. */
|
||||||
|
#undef HAVE_FTW_H
|
||||||
|
|
||||||
/* Define if _Unwind_GetIPInfo is available. */
|
/* Define if _Unwind_GetIPInfo is available. */
|
||||||
#undef HAVE_GETIPINFO
|
#undef HAVE_GETIPINFO
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -571,6 +571,8 @@ force_explicit_eh_registry
|
||||||
fixed_point
|
fixed_point
|
||||||
enable_decimal_float
|
enable_decimal_float
|
||||||
decimal_float
|
decimal_float
|
||||||
|
EGREP
|
||||||
|
GREP
|
||||||
long_double_type_size
|
long_double_type_size
|
||||||
double_type_size
|
double_type_size
|
||||||
CPP
|
CPP
|
||||||
|
|
@ -1714,6 +1716,35 @@ rm -f conftest.val
|
||||||
return $ac_retval
|
return $ac_retval
|
||||||
|
|
||||||
} # ac_fn_c_compute_int
|
} # ac_fn_c_compute_int
|
||||||
|
|
||||||
|
# ac_fn_c_check_header_preproc LINENO HEADER VAR
|
||||||
|
# ----------------------------------------------
|
||||||
|
# Tests whether HEADER is present, setting the cache variable VAR accordingly.
|
||||||
|
ac_fn_c_check_header_preproc ()
|
||||||
|
{
|
||||||
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||||
|
$as_echo_n "checking for $2... " >&6; }
|
||||||
|
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <$2>
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||||
|
eval "$3=yes"
|
||||||
|
else
|
||||||
|
eval "$3=no"
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
eval ac_res=\$$3
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
$as_echo "$ac_res" >&6; }
|
||||||
|
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||||
|
|
||||||
|
} # ac_fn_c_check_header_preproc
|
||||||
cat >config.log <<_ACEOF
|
cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
@ -4093,6 +4124,265 @@ as_fn_arith $ac_cv_sizeof_long_double \* 8 && long_double_type_size=$as_val
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for ac_header in inttypes.h stdint.h stdlib.h ftw.h \
|
||||||
|
unistd.h sys/stat.h sys/types.h \
|
||||||
|
string.h strings.h memory.h
|
||||||
|
do :
|
||||||
|
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||||
|
ac_fn_c_check_header_preproc "$LINENO" "$ac_header" "$as_ac_Header"
|
||||||
|
eval as_val=\$$as_ac_Header
|
||||||
|
if test "x$as_val" = x""yes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
|
||||||
|
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
|
||||||
|
if test "${ac_cv_path_GREP+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if test -z "$GREP"; then
|
||||||
|
ac_path_GREP_found=false
|
||||||
|
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_prog in grep ggrep; do
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||||
|
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
|
||||||
|
# Check for GNU ac_path_GREP and select it if it is found.
|
||||||
|
# Check for GNU $ac_path_GREP
|
||||||
|
case `"$ac_path_GREP" --version 2>&1` in
|
||||||
|
*GNU*)
|
||||||
|
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
|
||||||
|
*)
|
||||||
|
ac_count=0
|
||||||
|
$as_echo_n 0123456789 >"conftest.in"
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||||
|
mv "conftest.tmp" "conftest.in"
|
||||||
|
cp "conftest.in" "conftest.nl"
|
||||||
|
$as_echo 'GREP' >> "conftest.nl"
|
||||||
|
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||||
|
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||||
|
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||||
|
if test $ac_count -gt ${ac_path_GREP_max-0}; then
|
||||||
|
# Best one so far, save it but keep looking for a better one
|
||||||
|
ac_cv_path_GREP="$ac_path_GREP"
|
||||||
|
ac_path_GREP_max=$ac_count
|
||||||
|
fi
|
||||||
|
# 10*(2^10) chars as input seems more than enough
|
||||||
|
test $ac_count -gt 10 && break
|
||||||
|
done
|
||||||
|
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
$ac_path_GREP_found && break 3
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
if test -z "$ac_cv_path_GREP"; then
|
||||||
|
as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ac_cv_path_GREP=$GREP
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
|
||||||
|
$as_echo "$ac_cv_path_GREP" >&6; }
|
||||||
|
GREP="$ac_cv_path_GREP"
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
|
||||||
|
$as_echo_n "checking for egrep... " >&6; }
|
||||||
|
if test "${ac_cv_path_EGREP+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
|
||||||
|
then ac_cv_path_EGREP="$GREP -E"
|
||||||
|
else
|
||||||
|
if test -z "$EGREP"; then
|
||||||
|
ac_path_EGREP_found=false
|
||||||
|
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_prog in egrep; do
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||||
|
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
|
||||||
|
# Check for GNU ac_path_EGREP and select it if it is found.
|
||||||
|
# Check for GNU $ac_path_EGREP
|
||||||
|
case `"$ac_path_EGREP" --version 2>&1` in
|
||||||
|
*GNU*)
|
||||||
|
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
|
||||||
|
*)
|
||||||
|
ac_count=0
|
||||||
|
$as_echo_n 0123456789 >"conftest.in"
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||||
|
mv "conftest.tmp" "conftest.in"
|
||||||
|
cp "conftest.in" "conftest.nl"
|
||||||
|
$as_echo 'EGREP' >> "conftest.nl"
|
||||||
|
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||||
|
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||||
|
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||||
|
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
|
||||||
|
# Best one so far, save it but keep looking for a better one
|
||||||
|
ac_cv_path_EGREP="$ac_path_EGREP"
|
||||||
|
ac_path_EGREP_max=$ac_count
|
||||||
|
fi
|
||||||
|
# 10*(2^10) chars as input seems more than enough
|
||||||
|
test $ac_count -gt 10 && break
|
||||||
|
done
|
||||||
|
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
$ac_path_EGREP_found && break 3
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
if test -z "$ac_cv_path_EGREP"; then
|
||||||
|
as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ac_cv_path_EGREP=$EGREP
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
|
||||||
|
$as_echo "$ac_cv_path_EGREP" >&6; }
|
||||||
|
EGREP="$ac_cv_path_EGREP"
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
|
||||||
|
$as_echo_n "checking for ANSI C header files... " >&6; }
|
||||||
|
if test "${ac_cv_header_stdc+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <float.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
ac_cv_header_stdc=yes
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||||
|
$EGREP "memchr" >/dev/null 2>&1; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||||
|
$EGREP "free" >/dev/null 2>&1; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||||
|
if test "$cross_compiling" = yes; then :
|
||||||
|
:
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#if ((' ' & 0x0FF) == 0x020)
|
||||||
|
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||||
|
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||||
|
#else
|
||||||
|
# define ISLOWER(c) \
|
||||||
|
(('a' <= (c) && (c) <= 'i') \
|
||||||
|
|| ('j' <= (c) && (c) <= 'r') \
|
||||||
|
|| ('s' <= (c) && (c) <= 'z'))
|
||||||
|
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 256; i++)
|
||||||
|
if (XOR (islower (i), ISLOWER (i))
|
||||||
|
|| toupper (i) != TOUPPER (i))
|
||||||
|
return 2;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_run "$LINENO"; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||||
|
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
|
||||||
|
$as_echo "$ac_cv_header_stdc" >&6; }
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
|
||||||
|
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Check for decimal float support.
|
# Check for decimal float support.
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether decimal floating point is supported" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether decimal floating point is supported" >&5
|
||||||
$as_echo_n "checking whether decimal floating point is supported... " >&6; }
|
$as_echo_n "checking whether decimal floating point is supported... " >&6; }
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,11 @@ AS_VAR_ARITH([long_double_type_size], [$ac_cv_sizeof_long_double \* 8])
|
||||||
AC_SUBST(double_type_size)
|
AC_SUBST(double_type_size)
|
||||||
AC_SUBST(long_double_type_size)
|
AC_SUBST(long_double_type_size)
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(inttypes.h stdint.h stdlib.h ftw.h \
|
||||||
|
unistd.h sys/stat.h sys/types.h \
|
||||||
|
string.h strings.h memory.h)
|
||||||
|
AC_HEADER_STDC
|
||||||
|
|
||||||
# Check for decimal float support.
|
# Check for decimal float support.
|
||||||
AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp],
|
AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp],
|
||||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,9 @@ void gcov_set_verbose (void)
|
||||||
|
|
||||||
#include "obstack.h"
|
#include "obstack.h"
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#ifdef HAVE_FTW_H
|
||||||
#include <ftw.h>
|
#include <ftw.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
static void tag_function (unsigned, unsigned);
|
static void tag_function (unsigned, unsigned);
|
||||||
static void tag_blocks (unsigned, unsigned);
|
static void tag_blocks (unsigned, unsigned);
|
||||||
|
|
@ -380,6 +382,7 @@ read_gcda_file (const char *filename)
|
||||||
return obj_info;
|
return obj_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_FTW_H
|
||||||
/* This will be called by ftw(). It opens and read a gcda file FILENAME.
|
/* This will be called by ftw(). It opens and read a gcda file FILENAME.
|
||||||
Return a non-zero value to stop the tree walk. */
|
Return a non-zero value to stop the tree walk. */
|
||||||
|
|
||||||
|
|
@ -417,6 +420,7 @@ ftw_read_file (const char *filename,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Initializer for reading a profile dir. */
|
/* Initializer for reading a profile dir. */
|
||||||
|
|
||||||
|
|
@ -451,7 +455,9 @@ gcov_read_profile_dir (const char* dir_name, int recompute_summary ATTRIBUTE_UNU
|
||||||
fnotice (stderr, "%s is not a directory\n", dir_name);
|
fnotice (stderr, "%s is not a directory\n", dir_name);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_FTW_H
|
||||||
ftw (".", ftw_read_file, 50);
|
ftw (".", ftw_read_file, 50);
|
||||||
|
#endif
|
||||||
ret = chdir (pwd);
|
ret = chdir (pwd);
|
||||||
free (pwd);
|
free (pwd);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue