[pulseaudio-discuss] [PATCH] Fix test-suite failure on Alpha
Michael Cree
mcree at orcon.net.nz
Wed Sep 9 02:49:51 PDT 2015
Pulseaudio fails to build on the Alpha architecture due to a failure
in the volume-test of the test suite. I had reported this to the
Debian bug tracker [1] but the maintainer has asked that I forward the
patch to this mail list. The failure in volume-test occurs because it
is compiled with -ffast-math which implies -ffinite-math-only of which
the gcc manual states that it optimizes for floating-point arithmetic
with the assumption that arguments and results are not NaNs or
+/-infinity, and futher notes that it may result in incorrect output.
On the Alpha platform that is somewhat an understatement as the use of
non-finite floating-point arithmetic with -ffinite-math-only results in
a floating-point exception and the termination of the program.
The volume-test converts volumes into decibels (so a zero volume
becomes a negative infinity) and proceeds to add two volumes (in
decibels), thus does arithmetic with non-finite floating point numbers
despite being compiled with -ffast-math!
I attach a patch that protects against the arithmetic with non-finite
numbers for your consideration. With that patch the test-suite passes
on Alpha.
Cheers
Michael.
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798248
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dont-add-infinities-with-ffast-math.patch
Type: text/x-diff
Size: 558 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150909/7686e19b/attachment.patch>
More information about the pulseaudio-discuss
mailing list