summaryrefslogtreecommitdiffstats
path: root/libc/arch-mips64
Commit message (Collapse)AuthorAgeFilesLines
...
* | Remove __memcmp16 from bionic.Elliott Hughes2014-06-122-54/+0
|/ | | | Change-Id: I2486d667d96c8900dd368d855f37c1327161efb7
* Merge "Replaces vfork() implementation with fork()"Dan Albert2014-06-102-72/+0
|\
| * Replaces vfork() implementation with fork()Dan Albert2014-06-102-72/+0
| | | | | | | | | | | | | | | | vfork() was removed from POSIX 2008, so this replaces its implementation with a call to fork(). Bug: 13935372 Change-Id: I6d99ac9e52a2efc5ee9bda1cab908774b830cedc
* | Merge "Rename __bionic_clone_entry to __start_thread."Elliott Hughes2014-06-061-2/+2
|\ \
| * | Rename __bionic_clone_entry to __start_thread.Elliott Hughes2014-06-061-2/+2
| |/ | | | | | | | | | | This seems a bit less obscure. Change-Id: I7dc528c253b73c861694f67556ad8f919bf92136
* | Remove getdents from bionic.Elliott Hughes2014-06-063-124/+0
|/ | | | | Bug: 11156955 Change-Id: I6c306989801be552d85fba8a50dcdc79282fb9d2
* Removes index() from bionic.Dan Albert2014-06-051-1/+0
| | | | | | | | | | This function has been removed from POSIX. Unfortunately, we can't leave #define index(a, b) strchr((a), (b)) in its place because defining a preprocessor macro for index() breaks a whole lot of code. Bug: 13935372 Change-Id: Ifda348acde06da61c12e7ee2f8fe6950a3174dd1
* Removes bcopy and bzero from bionic.Dan Albert2014-06-032-43/+0
| | | | | | | | These symbols are still defined for LP32 for binary compatibility, but the declarations have been replaced with the POSIX recommended #defines. Bug: 13935372 Change-Id: Ief7e6ca012db374588ba5839f11e8f3a13a20467
* 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
* Merge "Revert "Revert "Lose the hand-written futex assembler."""Elliott Hughes2014-05-293-90/+0
|\
| * Revert "Revert "Lose the hand-written futex assembler.""Elliott Hughes2014-05-283-90/+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
* | Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"Christopher Ferris2014-05-281-0/+1
|\ \ | |/ |/|
| * Add optimized AArch64 versions of bcopy and wmemmove based on memmoveBernhard Rosenkraenzer2014-05-231-0/+1
| | | | | | | | | | | | | | | | Add optimized versions of bcopy and wmemmove for AArch64 based on the memmove implementation Change-Id: I82fbe8a7221ce224c567ffcfed7a94a53640fca8 Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
* | Merge "Revert "Lose the hand-written futex assembler.""Narayan Kamath2014-05-283-0/+90
|\ \
| * | Revert "Lose the hand-written futex assembler."Narayan Kamath2014-05-283-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Clear the return address register in __bionic_clone.Elliott Hughes2014-05-271-0/+3
| |/ |/| | | | | | | | | | | | | | | The unwinder will end up on the parent thread's stack if the return address register is not cleared. Bug: 14270816 Bug: 15195760 Change-Id: Iebcdf5cc881cad245643bb193760de35eb7f8b19
* | Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"Christopher Ferris2014-05-241-1/+0
| | | | | | | | | | | | | | | | This reverts commit 8167dd7cb98e87ffe9b40e4993c330b244ca2234. For some reason I thought the bcopy change was bzero. The bcopy code doesn't pass our tests, so reverting until I can figure out what's wrong. Change-Id: Id89fe959ea5105cd58dff6bba8d91a30cc4bcb07
* | Add optimized AArch64 versions of bcopy and wmemmove based on memmoveBernhard Rosenkraenzer2014-05-231-0/+1
|/ | | | | | | | Add optimized versions of bcopy and wmemmove for AArch64 based on the memmove implementation Change-Id: Ie43d0ff4f8ec4edba5b4fb5ccacd941f81ac6557 Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
* Lose the hand-written futex assembler.Elliott Hughes2014-05-223-90/+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
* Hide most of the private futex functions.Elliott Hughes2014-05-211-81/+1
| | | | | | | | | | Also hide part of the system properties compatibility code, since we needed to touch that to keep it building. I'll remove __futex_syscall4 and futex in a later patch. Bug: 11156955 Change-Id: Ibbf42414c5bb07fb9f1c4a169922844778e4eeae
* Merge "Remove __syslog; we have the public klogctl API."Elliott Hughes2014-05-211-26/+0
|\
| * Remove __syslog; we have the public klogctl API.Elliott Hughes2014-05-201-26/+0
| | | | | | | | | | Bug: 11156955 Change-Id: I5c2cc02f39f76dd32984135f5c12c10bf2853796
* | Merge "Hide __get_sp."Elliott Hughes2014-05-211-1/+1
|\ \ | |/ |/|
| * Hide __get_sp.Elliott Hughes2014-05-201-1/+1
| | | | | | | | | | Bug: 11156955 Change-Id: I55d8d320521e80c2085af28933a18b00cf5c714e
* | Remove perf_event_open.Elliott Hughes2014-05-201-25/+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-30/+6
| | | | | | Remove the separate syscall for accept() and implement it as accept4(..., 0). Change-Id: Ib0b8f5d7c5013b91eae6bbc3847852eb355c7714
* Hide _exit_with_stack_teardown.Elliott Hughes2014-05-161-1/+1
| | | | | Bug: 11156955 Change-Id: Ida3020343c9975177dc324918cd1f10c455eb173
* 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
* Merge "Add 32-bit Silvermont-optimized string/memory functions."Christopher Ferris2014-05-131-0/+2
|\
| * Add 32-bit Silvermont-optimized string/memory functions.Varvara Rainchik2014-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add following functions: bcopy, memcpy, memmove, memset, bzero, memcmp, wmemcmp, strlen, strcpy, strncpy, stpcpy, stpncpy. Create new directories inside arch-x86 to specify architecture: atom, silvermont and generic (non atom or silvermont architectures are treated like generic). Due to introducing optimized versions of stpcpy and stpncpy, c-implementations of these functions are moved from common for architectures makefile to arm and mips specific makefiles. Change-Id: I990f8061c3e9bca1f154119303da9e781c5d086e Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
* | Remove the useless indirection in mips' __set_tls.Elliott Hughes2014-05-123-39/+3
|/ | | | Change-Id: I12e9d6716c42ccbccc9a186441aca0736bb22d05
* Hide the __bionic_clone and __bionic_clone_entry implementation details.Elliott Hughes2014-05-081-0/+1
| | | | | | | | | clone(2) is the public symbol. Also switch a test from __bionic_clone to clone; testing public API means the test now works on glibc too. Change-Id: If59def26a00c3afadb8a6cf9442094c35a59ffde
* Clean up <machine/ieee.h>.Elliott Hughes2014-04-161-169/+0
| | | | | | | The upstream intention was for this to be architecture-dependent, but it's a lot clearer if we just have one copy. Change-Id: I4e8310496145f9f411cd2e847c8cd023b1d758e9
* Implement _Exit(3).Elliott Hughes2014-04-081-0/+3
| | | | Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
* Merge "Clean up localeconv(3)."Elliott Hughes2014-04-081-5/+0
|\
| * Clean up localeconv(3).Elliott Hughes2014-04-081-5/+0
| | | | | | | | | | | | | | The OpenBSD doesn't support C99, and the extent to which we support locales is trivial, so just do it ourselves. Change-Id: If0a06e627ecc593f7b8ea3e9389365782e49b00e
* | Corrected typo in mips64.mk about memcpy.cppAndrew Hsieh2014-04-091-1/+1
|/ | | | Change-Id: I1e6fb9373880bcdbad3fa86145e5138ce0d30b31
* Remove <machine/limits.h>.Elliott Hughes2014-04-011-59/+0
| | | | Change-Id: I7f9e9538517f726d4f08bf1f4b8d57c54d3f1676
* Remove SIZE_MAX definition in limits.hRussell Webb2014-03-311-3/+0
| | | | | | | | | | | | | the POSIX standard is that SIZE_MAX is defined in stdint.h, not limits.h. Change-Id: Iafd8ec71d1840541feaca4f53b2926b398293fac Signed-off-by: Webb, Russell <russell.webb@intel.com> Signed-off-by: Fengwei Yin <fengwei.yin@intel.com> Reviewed-by: Ross, Andrew J <andrew.j.ross@intel.com> Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com> Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com> Tested-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
* Add lconv declaration and localeconv(3)Pavel Chupin2014-03-281-0/+5
| | | | | | | | | | | | lconv is taken from ndk/sources/android/support/include/locale.h and matches bsd/glibc upstream. Keep old declaration for 32-bits for compatibility. localeconv.c and deps are taken from openbsd upstream. Changed strtod.c accordingly. Change-Id: I9fcc4d15f5674d192950d80edf26f36006cd31b4 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Add accept4() syscallAndrei Emeltchenko2014-03-261-0/+25
| | | | | | Add accept4() using SYSCALLS.TXT and gensyscall Change-Id: I6f19f29144186d15d46423e10f2cc4b4223719c6
* Add recvmmsg and sendmmsg syscalls.Guillaume Ranquet2014-02-272-0/+50
| | | | | | | | | 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
* More OpenBSD cleanup (primarily string).Elliott Hughes2014-02-241-26/+25
| | | | | | This patch removes the string/ and wchar/ directories. Change-Id: Ia489904bc67047e4bc79acb1f3eec21aa3fe5f0d
* Unify our assembler macros.Elliott Hughes2014-02-2014-170/+51
| | | | | | | | | | | | | | Our <machine/asm.h> files were modified from upstream, to the extent that no architecture was actually using the upstream ENTRY or END macros, assuming that architecture even had such a macro upstream. This patch moves everyone to the same macros, with just a few tweaks remaining in the <machine/asm.h> files, which no one should now use directly. I've removed most of the unused cruft from the <machine/asm.h> files, though there's still rather a lot in the mips/mips64 ones. Bug: 12229603 Change-Id: I2fff287dc571ac1087abe9070362fb9420d85d6d
* Fix mips64 crt build.Elliott Hughes2014-02-201-2/+2
| | | | | | This was broken during the multi-arch makefile changes. Change-Id: Id25cf3273f63c11fbca1cff944fc5e1bf765c636
* Stop advertising an arm32-specific hack like it's a build system feature.Elliott Hughes2014-02-201-5/+0
| | | | Change-Id: I3a830b4a3516b6eb8e4f8e6e6b122a22a2e341df
* Remove the useless _C_LABEL from generated system calls.Elliott Hughes2014-02-1929-29/+29
| | | | Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c