7efad83d430f4d824f2aaa75edea5106f6ff8aae |
|
09-Sep-2014 |
Elliott Hughes <enh@google.com> |
Ensure __set_errno is still visible on LP32. The use of the .hidden directive to avoid going via the PLT for __set_errno had the side-effect of actually making __set_errno hidden (which is odd because assembler directives don't usually affect symbols defined in a different file --- you can't even create a weak reference to a symbol that's defined in a different file). This change switches the system call stubs over to a new always-hidden __set_errno_internal and has a visible __set_errno on LP32 just for binary compatibility with old NDK apps. Bug: 17423135 Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
|
3d19a8319b9c27af8aa5cfbf495da0fe7fa62d3e |
|
15-Feb-2014 |
Colin Cross <ccross@android.com> |
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
|
3198850ea125f746efabd1a81e3bd7cfa58cc600 |
|
23-Mar-2013 |
Elliott Hughes <enh@google.com> |
Unhide __set_errno for backwards compatibility. This was in <errno.h>, and people called it :-( Change-Id: I038490be77eb9372b3f31305ec580fa7b09c983e
|
9aceab50155b17741faded1fb22e2daa51a07fb1 |
|
12-Mar-2013 |
Elliott Hughes <enh@google.com> |
Use the kernel's MAX_ERRNO in the syscall stubs. Bug: http://code.google.com/p/android/issues/detail?id=53104 Change-Id: Iaabf7025b153e96dc5eca231a33a32d4cb7d8116
|
cb2069bf69b14f0e76593e1ec4d1deb6fa15232c |
|
12-Mar-2013 |
Elliott Hughes <enh@google.com> |
Support large errno values on ARM. Bug: http://code.google.com/p/android/issues/detail?id=53104 Change-Id: Ic6c40be2dc50f0644a3d8b09ceae59c38f2d5b53
|
4a9e837840fda3aaea48aeba85c7c7a8782d2586 |
|
30-Nov-2012 |
Elliott Hughes <enh@google.com> |
Reduce the exposure of the __set_errno implementation detail. Change-Id: I395e1b46a9491e34fc53e71853e932ea90b3d1cc
|