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
..
2013-12-03 18:42:41 -08:00
2013-12-03 18:42:41 -08:00
2013-02-01 14:51:19 -08:00
2013-10-29 14:55:11 -07:00
2014-02-12 19:04:27 -08:00
2013-11-18 19:48:11 -08:00
2013-02-13 14:40:48 -08:00
2014-01-09 11:00:04 -08:00
2014-01-03 14:49:37 -08:00