Bug#916504: pulseaudio FTBFS on Alpha; return of the volume-test failure

Michael Cree mcree at orcon.net.nz
Sat Dec 15 05:57:51 GMT 2018


Source: pulseaudio
Version: 12.2-2
Severity: important
Justification: fails to build from source but built in the past.
User: debian-alpha at lists.debian.org
Usertags: alpha
Tags: patch

Pulseaudio FTBFS on alpha due to the volume-test test failing due to
a floating-point exception which in turn is due to an infinity in
floating-point calculations when volume-test is compiled with finite
math options.

This is bug #798248 reappearing but in a subtlely different guise.
There the non-finite math was protected against by checking that the
arguments are finite before performing floating point calculations,
but it now seems that gcc takes the specification of finite math,
being "[a]llow optimizations for floating-point arithmetic that
assume that arguments and results are not NaNs or +-Infs" so
pedantically true, that it is fair game to optimise away any calls
to isfinite() because the argument must be finite: it was said so
on the command line!

Whatever, examination of the object code shows that the calls to
isfinite() are eliminated thus the floating-point arithmetic is no
longer protected.

Fortunately we can work out whether the arguments to the offending
arithmetic are finite by other means and I attach a patch doing
just that.  With this patch pulseaudio builds to completion on
Alpha.

Cheers,
Michael.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: avoid-non-finite-math-in-volume-test.patch
Type: text/x-diff
Size: 524 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-pulseaudio-devel/attachments/20181215/e80e8970/attachment.patch>


More information about the pkg-pulseaudio-devel mailing list