diff options
author | Pádraig Brady <P@draigBrady.com> | 2014-12-10 16:26:27 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2014-12-10 17:45:50 +0000 |
commit | f57bfbb237ed11986af01e590acde49f52d49359 (patch) | |
tree | ea667dcb229b989fdfbc4717c763c9c29c96ee6a /configure.ac | |
parent | 5760532a2dcbad3569928f56a1d5d60d7282087c (diff) | |
download | coreutils-f57bfbb237ed11986af01e590acde49f52d49359.tar.gz |
build: use the system printf routines in most cases
glibc <= 2.5 would crash when passed invalid long double values,
therefore internal gnulib routines were used, essentially only by od,
to output such invalid values. Later glibc versions don't crash,
as per https://sourceware.org/bugzilla/show_bug.cgi?id=4586
and subsequently od was adjusted to use the system printf routines
through the use of the ftoastr module with commit v8.7-22-ga71c22f.
Consequently our testing of this feature was moot, and use of
the gnulib printf replacement for printf(1), od(1) and error(3) etc.
was redundant.
* configure.ac (gl_printf_safe): Unset so that we don't check that
"nan" is output for these long double values.
* tests/misc/od-float.sh: Adjust all existing checks to fail if od
exits with failure status (like crashing for example). Add a new case
for one of the problematic invalid long double values for x86_64.
We only check that od exits successfully at present, which may change
if https://sourceware.org/bugzilla/show_bug.cgi?id=17661 is resolved.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 0744964c3..f07803481 100644 --- a/configure.ac +++ b/configure.ac @@ -67,6 +67,12 @@ cu_have_perl=yes case $PERL in *"/missing "*) cu_have_perl=no;; esac AM_CONDITIONAL([HAVE_PERL], [test $cu_have_perl = yes]) +# Disable the checks for handling certain invalid long double values +# since this results in always replacing the printf() implementation +# (see https://sourceware.org/bugzilla/show_bug.cgi?id=17661) and +# od (ftoastr) doesn't use the replacement anyway. +m4_divert_text([INIT_PREPARE], [gl_printf_safe='']) + # gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) # ------------------------------------------------ # If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. |