Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200118165142.GG23985@port70.net>
Date: Sat, 18 Jan 2020 17:51:42 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] math/x32: correct lrintl.s for 32-bit long

* Alexander Monakov <amonakov@...ras.ru> [2020-01-18 19:15:16 +0300]:
> ---
> Looks like the implementation copied from x86_64 was not adjusted for
> 32-bit 'long' on x32, but apart from failure to raise FE_INVALID this
> error was harmless.

fenv behaviour is wrong on out-of-range values, not just
because of missing invalid, but spurious inexact too.

thanks for finding this.

> 
>  src/math/x32/lrintl.s | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

> diff --git a/src/math/x32/lrintl.s b/src/math/x32/lrintl.s
> index ee97d1cf..d4355c32 100644
> --- a/src/math/x32/lrintl.s
> +++ b/src/math/x32/lrintl.s
> @@ -2,6 +2,6 @@
>  .type lrintl,@function
>  lrintl:
>  	fldt 8(%esp)
> -	fistpll 8(%esp)
> -	mov 8(%esp),%rax
> +	fistpl 8(%esp)
> +	movl 8(%esp),%eax
>  	ret

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.