<div dir="ltr"><div dir="ltr"><div>Control: forwarded -1 <a href="https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/619">https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/619</a></div><div>Control: retitle -1 pulseaudio: uses -ffinite-math but might deal with infinity</div><div><br></div><div>Hi,</div><div><br></div><div>Sorry for the delay.</div><br><div class="gmail_quote"><div dir="ltr">On Sat, Dec 15, 2018 at 3:24 AM Michael Cree <<a href="mailto:mcree@orcon.net.nz">mcree@orcon.net.nz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Source: pulseaudio<br>
Version: 12.2-2<br>
Severity: important<br>
Justification: fails to build from source but built in the past.<br>
User: <a href="mailto:debian-alpha@lists.debian.org" target="_blank">debian-alpha@lists.debian.org</a><br>
Usertags: alpha<br>
Tags: patch<br>
<br>
Pulseaudio FTBFS on alpha due to the volume-test test failing due to<br>
a floating-point exception which in turn is due to an infinity in<br>
floating-point calculations when volume-test is compiled with finite<br>
math options.<br>
<br>
This is bug #798248 reappearing but in a subtlely different guise.<br>
There the non-finite math was protected against by checking that the<br>
arguments are finite before performing floating point calculations,<br>
but it now seems that gcc takes the specification of finite math,<br>
being "[a]llow optimizations for floating-point arithmetic that<br>
assume that arguments and results are not NaNs or +-Infs" so<br>
pedantically true, that it is fair game to optimise away any calls<br>
to isfinite() because the argument must be finite: it was said so<br>
on the command line!<br>
<br>
Whatever, examination of the object code shows that the calls to<br>
isfinite() are eliminated thus the floating-point arithmetic is no<br>
longer protected.<br></blockquote><div><br></div><div>I think if infinities might happen, then using -ffinite-math is wrong.</div><div><br></div><div>I have forwarded the issue upstream. I have disabled -ffast-math in the meantime, since I think correctness is more important than speed.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Fortunately we can work out whether the arguments to the offending<br>
arithmetic are finite by other means and I attach a patch doing<br>
just that.  With this patch pulseaudio builds to completion on<br>
Alpha.<br></blockquote><div><br></div><div>This is insufficient as there is a call to isnan() in the core lib.</div></div>-- <br><div dir="ltr" class="gmail_signature"><br>Saludos,<br>Felipe Sateler</div></div></div>