This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [AARCH64] Fix syscall setting of errno on bigendian
- From: pinskia at gmail dot com
- To: Andrew Pinski <andrew dot pinski at caviumnetworks dot com>
- Cc: "libc-ports at sourceware dot org" <libc-ports at sourceware dot org>
- Date: Thu, 26 Sep 2013 10:56:07 -0700
- Subject: Re: [AARCH64] Fix syscall setting of errno on bigendian
- Authentication-results: sourceware.org; auth=none
- References: <CA+=Sn1=P-o0ZjzPQboW6tx8u4MY-ZLwFsZKNCo8n3KCchdy2uw at mail dot gmail dot com>
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 <andrew.pinski@caviumnetworks.com> 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>