summaryrefslogtreecommitdiffstats
path: root/libc/arch-arm64/syscalls
Commit message (Collapse)AuthorAgeFilesLines
* AArch64: Remove Frame Record from ARM64 syscallsSerban Constantinescu2014-06-09186-2046/+0
| | | | | | | This patch removes the frame record created on svc calls. Change-Id: I67cf926ba59540e824fb9749d30538e332df7c1e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Remove getdents from bionic.Elliott Hughes2014-06-061-2/+3
| | | | | Bug: 11156955 Change-Id: I6c306989801be552d85fba8a50dcdc79282fb9d2
* Avoid a system call in 'gettid'.Elliott Hughes2014-06-021-25/+0
| | | | | | | | | | | | | System calls can be pretty slow. This is mako, which has one of our lowest latencies: iterations ns/op BM_unistd_getpid 10000000 209 BM_unistd_gettid 200000000 8 Bug: 15297299 (kernel panic from too many gettid calls) Bug: 15315766 (excessive gettid overhead in liblogd) Change-Id: I49656c0fc5b5d092390264a59e4f2c0d8a8b1aeb
* Revert "Revert "Lose the hand-written futex assembler.""Elliott Hughes2014-05-281-25/+0
| | | | | | | | | | | | | | | | | | | | | | The problem with the original patch was that using syscall(3) means that errno can be set, but pthread_create(3) was abusing the TLS errno slot as a pthread_mutex_t for the thread startup handshake. There was also a mistake in the check for syscall failures --- it should have checked against -1 instead of 0 (not just because that's the default idiom, but also here because futex(2) can legitimately return values > 0). This patch stops abusing the TLS errno slot and adds a pthread_mutex_t to pthread_internal_t instead. (Note that for LP64 sizeof(pthread_mutex_t) > sizeof(uintptr_t), so we could potentially clobber other TLS slots too.) I've also rewritten the LP32 compatibility stubs to directly reuse the code from the .h file. This reverts commit 75c55ff84ebfa686c7ae2cc8ee431c6a33bd46b4. Bug: 15195455 Change-Id: I6ffb13e5cf6a35d8f59f692d94192aae9ab4593d
* Revert "Lose the hand-written futex assembler."Narayan Kamath2014-05-281-0/+25
| | | | | | | | | | This reverts commit ced906c849704f379d7191822f6d74993d4fa296. Causes issues on art / dalvik due to a broken return value check and other undiagnosed issues. bug: 15195455 Change-Id: I5d6bbb389ecefb0e33a5237421a9d56d32a9317c
* Lose the hand-written futex assembler.Elliott Hughes2014-05-221-25/+0
| | | | | | | Also stop exporting 'futex'. Bug: 12250341 Change-Id: Icc4fa4296cd04dfe0d1061822c69e2eb40c3433a
* Remove the tkill(2) stub.Elliott Hughes2014-05-221-25/+0
| | | | | | | | | glibc doesn't have tkill or tgkill and says "use syscall(3) instead". I've left tgkill since it's quite widely used, but there's no reason to have tkill as well. Bug: 11156955 Change-Id: Ifc0af750320086f829bc9914551c172b501f3b60
* Add cfi directives for arm64 assembler.Christopher Ferris2014-05-21189-378/+1134
| | | | | | | | Fix syscall generator to add cfi directives and add the directives for all arm64 assembler. Bug: 15138290 Change-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057
* Remove __syslog; we have the public klogctl API.Elliott Hughes2014-05-201-22/+0
| | | | | Bug: 11156955 Change-Id: I5c2cc02f39f76dd32984135f5c12c10bf2853796
* Remove perf_event_open.Elliott Hughes2014-05-201-21/+0
| | | | | | | | | This was accidentally added at a time when you couldn't add a constant to <syscall.h> without generating an assembly stub! (You no longer need to add the constants at all.) Bug: 11156955 Change-Id: I053c17879138787976c744a5ecf7d30ee51dc48f
* Mark sockets on creation (socket()) and accept4().Sreeram Ramachandran2014-05-193-26/+6
| | | | | | Remove the separate syscall for accept() and implement it as accept4(..., 0). Change-Id: Ib0b8f5d7c5013b91eae6bbc3847852eb355c7714
* Hide __signalfd4, used to implement signalfd(3).Elliott Hughes2014-05-161-2/+3
| | | | | Bug: 11156955 Change-Id: I50842279cb5b32ec8bd45193435574e415cd806e
* Mark sockets on accept().Sreeram Ramachandran2014-05-141-2/+3
| | | | | | (cherry picked from commit 58b1f3f6a30a660ad81637c2b50382c3d279243b) Change-Id: I5d09be413cf720fbed905f96313b007997ada76c
* Introduce netd_client, a dynamic library that talks to netd.Sreeram Ramachandran2014-05-131-2/+3
| | | | | | | | | | | The library exists outside bionic. It is dynamically loaded, to replace selected standard socket syscalls with versions that talk to netd. Change connect() to use the library if available. (cherry picked from commit 3a6b627a14df8111b03e452f2df4b5f4938e0e49) Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
* Implement _Exit(3).Elliott Hughes2014-04-081-0/+3
| | | | Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
* Add accept4() syscallAndrei Emeltchenko2014-03-261-0/+21
| | | | | | Add accept4() using SYSCALLS.TXT and gensyscall Change-Id: I6f19f29144186d15d46423e10f2cc4b4223719c6
* Add recvmmsg and sendmmsg syscalls.Guillaume Ranquet2014-02-272-0/+42
| | | | | | | | | Also add the corresponding constant, struct, and function declarations to <sys/socket.h>, and perfunctory tests so we know that the symbols actually exist. Signed-off-by: Guillaume Ranquet <guillaumex.ranquet@intel.com> Change-Id: Ib0d854239d3716be90ad70973c579aff4895a4f7
* Remove the useless _C_LABEL from generated system calls.Elliott Hughes2014-02-1926-26/+26
| | | | Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
* Fix build by avoiding the _C_LABEL macro.Elliott Hughes2014-02-1815-30/+30
| | | | Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
* Implement some of the missing LFS64 support.Elliott Hughes2014-02-184-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives us: * <dirent.h> struct dirent64 readdir64, readdir64_r, alphasort64, scandir64 * <fcntl.h> creat64, openat64, open64. * <sys/stat.h> struct stat64 fstat64, fstatat64, lstat64, stat64. * <sys/statvfs.h> struct statvfs64 statvfs64, fstatvfs64. * <sys/vfs.h> struct statfs64 statfs64, fstatfs64. This also removes some of the incorrect #define hacks we've had in the past (for stat64, for example, which we promised to clean up way back in bug 8472078). Bug: 11865851 Bug: 8472078 Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
* Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.Elliott Hughes2014-02-031-0/+24
| | | | | | Bug: 5287571 Bug: 12612860 Change-Id: I4501b9c6cdf9a830336ce0b3afc4ea716b6a0f6f
* bionic: rename aarch64 target to arm64Colin Cross2014-01-23188-0/+4004
Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3