[AARCH64] Fix syscall setting of errno on bigendian

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[AARCH64] Fix syscall setting of errno on bigendian

Pinski, Andrew
Hi,
  When we (Cavium) has been testing aarch64 on bigendian, we noticed
that errno sometimes was not being set correctly.  The problem is that
the store to errno was being a 64bit rather than the correct 32bit so
the value that was being loaded later on from errno was just 0.

OK?  Build and tested on aarch64-linux-gnu and aarch64_be-linux-gnu
without any regressions.

Thanks,ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
Andrew Pinski

ChangeLog:
* sysdeps/unix/sysv/linux/aarch64/sysdep.h (SYSCALL_ERROR_HANDLER):
Fix store to errno to use 32bits.

PS I don't have git write access.

fixbigendian-aarch64errno.diff.txt (744 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [AARCH64] Fix syscall setting of errno on bigendian

Andrew Pinski-3
Ping.

This is an obvious patch but I don't have write access.

Thanks,
Andrew Pinski

> On Sep 11, 2013, at 2:19 PM, Andrew Pinski <[hidden email]> wrote:
>
> Hi,
>  When we (Cavium) has been testing aarch64 on bigendian, we noticed
> that errno sometimes was not being set correctly.  The problem is that
> the store to errno was being a 64bit rather than the correct 32bit so
> the value that was being loaded later on from errno was just 0.
>
> OK?  Build and tested on aarch64-linux-gnu and aarch64_be-linux-gnu
> without any regressions.
>
> Thanks,ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
> Andrew Pinski
>
> ChangeLog:
> * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SYSCALL_ERROR_HANDLER):
> Fix store to errno to use 32bits.
>
> PS I don't have git write access.
> <fixbigendian-aarch64errno.diff.txt>
Reply | Threaded
Open this post in threaded view
|

Re: [AARCH64] Fix syscall setting of errno on bigendian

Marcus
In reply to this post by Pinski, Andrew
On 11 September 2013 22:19, Andrew Pinski
<[hidden email]> wrote:

> ChangeLog:
> * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SYSCALL_ERROR_HANDLER):
> Fix store to errno to use 32bits.
>
> PS I don't have git write access.

Committed, thanks.
/Marcus