84d0683a824fa02dbaa6d1b56a79223804b54e80 |
|
22-Aug-2014 |
Elliott Hughes <enh@google.com> |
Fix unistd.getpid_caching_and_clone. This test only works if you're root (strictly: if you have permission to CLONE_NEWNS), so it's useful to us when we're doing ad hoc testing (since that's usually done as root), but it's not useful as part of CTS or when running the tests on the host. Bug: 16705621 Bug: 17170200 Change-Id: Ia92c871b15f7e45fc174bb59bc95540fd00ae745
|
78e4f8fed2c162f8ada55180e48487ef2180cf93 |
|
28-Jul-2014 |
Elliott Hughes <enh@google.com> |
syscall(3)'s return type should be long. This doesn't require us to change any of the syscall implementations because (a) the LP32 ones have sizeof(int) == sizeof(long) anyway, which is how we never noticed this bug before and (b) the LP64 ones all use a 64-bit register for the result (and for the syscall number too). Bug: https://code.google.com/p/android/issues/detail?id=73952 Bug: 16568314 (cherry picked from commit 21972b61ec0572395c5684eebc6cc7b3a4c9e3be) Change-Id: Ifbc424be29e5650ec72a24df25dd35f24fdd5b3c
|
fa9e16efaf0e885f6044e725eb759ef6de10f7ef |
|
24-Jun-2014 |
Elliott Hughes <enh@google.com> |
Fix getpid caching across a clone. If you make clone, fork, or vfork system calls directly, you're still on your own, but we now do the right thing for the clone wrapper. With this implementation, children lose the getpid caching, but we've no reason to think that that covers any significant use cases. Bug: 15387103 Change-Id: Icfab6b63c708fea830960742ec92aeba8ce7680d
|
7086ad6919feb2415c6027163f5c63323bcca27c |
|
20-Jun-2014 |
Elliott Hughes <enh@google.com> |
Cache getpid. In practice, with this implementation we never need to make a system call. We get the main thread's tid (which is the same as our pid) back from the set_tid_address system call we have to make during initialization. A new pthread will have the same pid as its parent, and a fork child's main (and only) thread will have a pid equal to its tid, which we get for free from the kernel before clone returns. The only time we'd actually have to make a getpid system call now is if we take a signal during fork and the signal handler calls getpid. (That, or we call getpid in the dynamic linker while it's still dealing with its own relocations and hasn't even set up the main thread yet.) Bug: 15387103 Change-Id: I6d4718ed0a5c912fc75b5f738c49a023dbed5189
|
738b0cc5e95a9a650e9621603f4dd8dd16b07568 |
|
22-May-2014 |
Christopher Ferris <cferris@google.com> |
Fix overflow testing in sbrk. Modify the overflow testing for sbrk. Bug: 15188366 Change-Id: Ia83f85f7c1789454d872279bd41f38f1ce6b8a34
|
1728b2396591853345507a063ed6075dfd251706 |
|
14-May-2014 |
Elliott Hughes <enh@google.com> |
Switch to g_ for globals. That's what the Google style guide recommends, and we're starting to get a mix. Change-Id: Ib0c53a890bb5deed5c679e887541a715faea91fc
|
063525c61d24776094d76971f33920e2a2079530 |
|
13-May-2014 |
Elliott Hughes <enh@google.com> |
Consistently use #if defined(__BIONIC__) in tests. I've also switched some tests to be positive rather than negative, because !defined is slightly harder to reason about and there are only two cases: bionic and glibc. Change-Id: I8d3ac40420ca5aead3e88c69cf293f267273c8ef
|
a62a28d1d9c8df7cb77e4bca19814922729b5291 |
|
07-May-2014 |
Elliott Hughes <enh@google.com> |
Add basic tests for fsync/fdatasync. Bug: 14613980 Change-Id: Ie8002c2a1abae07295b7bdb33772764767c03d37
|
3d7a0d9b08ecab054b2dff8332507644de3690b0 |
|
29-Apr-2014 |
Elliott Hughes <enh@google.com> |
Switch to the OpenBSD wcsto* functions. This replaces a partial set of non-functional functions with a complete set of functions, all of which actually work. This requires us to implement mbsnrtowcs and wcsnrtombs which completes the set of what we need for libc++. The mbsnrtowcs is basically a copy & paste of wcsnrtombs, but I'm going to go straight to looking at using the OpenBSD UTF-8 implementation rather than keep polishing our home-grown turd. (This patch also opportunistically switches us over to upstream btowc, mbrlen, and wctob, since they're all trivially expressed in terms of other functions.) Change-Id: I0f81443840de0f1aa73b96f0b51988976793a323
|
533dde4dbf87d6615952be3654fc74e5ff2e1003 |
|
26-Apr-2014 |
Elliott Hughes <enh@google.com> |
Fix brk/sbrk error checking. Note that the kernel returns the current break on error or if the requested break is smaller than the minimum break, or the new break. I don't know where we got the idea that the kernel could return -1. Also optimizes the query case. Also hides an accidentally-exported symbol for LP64. Change-Id: I0fd6b8b14ddf1ae82935c0c3fc610da5cc74932e
|
cbf6df0459f05e180d1c50b3f5b36cdd483193c6 |
|
17-Sep-2013 |
Grigoriy Kraynov <grigoriy.kraynov@intel.com> |
Tests for environment variables utility functions This is the first patch from the new set of tests for Bionic standard functions. Change-Id: Ie568788a24832394e597ad33f44a5c71cb33b51f Signed-off-by: Grigoriy Kraynov <grigoriy.kraynov@intel.com>
|
764a99361130dceda62bbc4f8780bbf395dbc424 |
|
09-Apr-2014 |
Elliott Hughes <enh@google.com> |
Fix build: include what you use. Change-Id: I12b2d5e434ad3ed38d4451bd470673781e6ca8fe
|
9f525644df99cb2f7f81a23ca23840f0a8f82275 |
|
09-Apr-2014 |
Elliott Hughes <enh@google.com> |
Implement _Exit(3). Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
|
aedb00d04eb7f0b20b6abde702ba94a46577ca68 |
|
03-Mar-2014 |
Elliott Hughes <enh@google.com> |
Switch to upstream alarm(3). The only way the setitimer call can fail is if the unsigned number of seconds is too large to fit in the kernel's signed number of seconds. If you schedule a 68-year alarm, glibc will fail by returning 0 and BSD will fail by returning -1. Change-Id: Ic3721b01428f5402d99f31fd7f2ba2cc58805607
|
915fefb62e1beed3da26fe299a8141645733a925 |
|
18-Feb-2014 |
Elliott Hughes <enh@google.com> |
Fix x86 build. Change-Id: Iee6e5884288f7da6c955694cfe32fecfd9c9e263
|
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
|
13613137bc4266656bffce464e525eb9ae6371f0 |
|
28-Oct-2013 |
Christopher Ferris <cferris@google.com> |
Fix up failing glibc tests. There is a known bug running clone with the CLONE_VM flag, so for host create an empty test. Change the expected output of the stdio test for a glibc difference. Change the pause test to use ScopedSignalHandler to setup/restore the SIGALRM handler. After this, running bionic-unit-tests-glibc passes for all tests. Bug: 11389824 Change-Id: Ib304eae4164115835a54991dfdca5821ecc3db5e
|
11952073af22568bba0b661f7a9d4402c443a888 |
|
25-Oct-2013 |
Elliott Hughes <enh@google.com> |
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls. (aarch64 kernels don't have these system calls.) Change-Id: I6f64075aa412f71520f2df71c3d69b647f91c1ca
|
b4f7616fd618875768b8fffc122b58bdb84a9969 |
|
20-Sep-2013 |
Elliott Hughes <enh@google.com> |
Ensure we have the off64_t variant of every function that takes an off_t. Change-Id: Ib2eee0cf13162be3b62559b84e90c6dcf5aab1c3
|
428f5567be25b8090e3dd72e2d3d337c305b514e |
|
06-Feb-2013 |
Elliott Hughes <enh@google.com> |
Remove bogus extra alignment from sbrk. Bug: https://code.google.com/p/android/issues/detail?id=37349 Change-Id: I970c7b6be7bb7fbe6bbbe2c332f05816aeb0e09f
|
a55f63083fb16b2595f517a3260083e5f8cddd02 |
|
02-Jan-2013 |
Elliott Hughes <enh@google.com> |
Define _POSIX_MONOTONIC_CLOCK and implement sysconf(_SC_MONOTONIC_CLOCK). Bug: http://code.google.com/p/android/issues/detail?id=39680 Change-Id: I11cf10a66f9d305868a725f04f581099fb88bbfc
|