polyml 5.5.2-4

Gianfranco Costamagna costamagnagianfranco at yahoo.it
Mon Jan 25 20:49:19 UTC 2016


Hi, you are the maintainer, so it should be only up to you to make the final decision about architectures to support.You need to understand the use case of this particular test, what is the probability to hit this with real code running on an armel machine? In fact since this has almost never worked on armel it wouldn't be a real regression, but I'll leave to you the decision about the topic, and to me eventually to complain if I don't like your solution (and you are free to find a sponsor that likes better your approach) :-)
Just jocking, I always found a common agreement prior to sponsor a package :)
So, at the end, please tell me your solution, or even better give me a dsc to sponsor :)
If the bug is in glibc seems rather good to report it and disable the test.(Remember to reenable it if glibc gets fixed)
If it is by design broken on armel you might want to add a pointer somewhere for the user, or a note in the manpage.
But again you are the maintainer, I trust your opinion after sponsoring 4 times already the package!

Cheers,
Gianfranco

Sent from Yahoo Mail on Android 
 
  On Mon, 25 Jan, 2016 at 20:55, James Clarke<jrtc27 at jrtc27.com> wrote:   Hi Gianfranco,

>> I think it’s implemented in glibc, not gcc; certainly fe{g,s}etround are. Should I get in touch with debian-arm?
> 
> probably yes, even if I don't care there are much armel porters there...
> 
> You might end up in asking ftpmaster to remove the armel binary.

Ok, I think I’ve worked out what’s going on. The software floating-point implementation seems to only support FE_NEAREST. On an ARM device without an FPU, fe{g,s}etround are not supported and should return 1. However, if you are running on an ARM device which has an FPU, fe{g,s}etround will change the FPU’s rounding mode and return 0 for success, but because the floating-point operations are done in software, the rounding mode has no effect. In short, there’s no way for polyml to have proper rounding support on armel. Evidence supporting this is below.

On cortex-r5:

    Current rounding: 0
    Setting to FE_UPWARD (4194304): 1    <- rounding mode not supported
    Current rounding: 0
    1.0 / 3.0: 0.333333333333333315
    1.0 / 3.0 * 1.0: 1.000000000000000000
    Current rounding: 0

On cortex-a8:

    Current rounding: 0
    Setting to FE_UPWARD (4194304): 0
    Current rounding: 4194304
    1.0 / 3.0: 0.333333333333333315
    1.0 / 3.0 * 1.0: 1.000000000000000000
    Current rounding: 4194304

Given that libc ships on armel but does not conform to the standard for rounding, would it make sense to ship polyml for armel with this test disabled? It seems a shame not to support armel at all.

Regards,
James  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20160125/77440592/attachment.html>


More information about the debian-science-maintainers mailing list