Go to file
Colin Cross 3d19a8319b bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
bionic/libc/arch-arm64/syscalls/read.S ends with:
    b.hi __set_errno
    ret
END(read)

If __set_errno returns int, it will set w0 to 0xFFFFFFFF, which means
x0 is 0x00000000FFFFFFFF.  When interpreted as a ssize_t that is
INT_MAX, not -1.

Change __set_errno to return long, which will cause x0 to be set instead
of w0.

Change-Id: I9f9ea0f2995928d2ea240eb2ff7758ecdf0ff412
2014-02-18 12:11:38 -08:00
benchmarks AArch64: Add fixes to bionic/tests 2013-12-16 17:40:30 -08:00
libc bionic: fix __set_errno for arm64 syscalls that return a 64-bit value 2014-02-18 12:11:38 -08:00
libdl Use arch-specific variable to set up the x86 ld flags. 2014-01-24 16:50:16 -08:00
libm Merge "Remove <sys/_types.h>." 2014-02-08 00:23:50 +00:00
libstdc++ Fix x86_64 build, clean up intermediate libraries. 2013-10-09 16:00:17 -07:00
linker build linker and linker64 on 64-bit architectures 2014-02-13 11:18:47 -08:00
tests bionic: fix __set_errno for arm64 syscalls that return a 64-bit value 2014-02-18 12:11:38 -08:00
.gitignore Merge memory checking functionality from sandbox 2010-02-16 11:43:18 -08:00
ABI-bugs.txt PTHREAD_KEYS_MAX cleanup. 2013-12-12 12:51:08 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:11:41 -07:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:04:02 -08:00