9ce09e423f24823d52f19ab8247e078977100132 |
|
12-Nov-2015 |
Mingwei Shi <mingwei.shi@intel.com> |
libc: implement kernel vdso syscalls for i386 This patch uses __kernel_vsyscall instead of "int 0x80" as the syscall entry point. AT_SYSINFO points to an adapter to mask the arch specific difference and gives a performance boost on i386 architecture. Bug: http://b/27533895 Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7 Signed-off-by: Mingwei Shi <mingwei.shi@intel.com> (cherry picked from commit be910529322b461148debefd50b9e0d67ae84f8e)
|
011e111d299284b65af07add523a9dccac356244 |
|
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. (cherry-pick of 7efad83d430f4d824f2aaa75edea5106f6ff8aae.) Bug: 17423135 Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
|
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
|
e35fd48a832cddbedcf84773fd1922f735ae7829 |
|
09-Aug-2014 |
Dan Albert <danalbert@google.com> |
Make __set_errno hidden in asm. This fixes the build after the -Bsymbolic change. Bug: 16853291 Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2 (cherry picked from commit bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7)
|
bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7 |
|
09-Aug-2014 |
Dan Albert <danalbert@google.com> |
Make __set_errno hidden in asm. This fixes the build after the -Bsymbolic change. Bug: 16853291 Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2
|
3726f9c38b4b27b492e378e20c52be859225e5f3 |
|
09-Aug-2014 |
Dan Albert <danalbert@google.com> |
Revert "Fix incorrect relocations for x86." Bug: 16853291 This reverts commit 512bc5232689bec9c763c8247b59de970096ff87.
|
512bc5232689bec9c763c8247b59de970096ff87 |
|
07-Aug-2014 |
Dan Albert <danalbert@google.com> |
Fix incorrect relocations for x86. These calls were not going through the PLT like they should have been. Bug: 16853291 Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
|
15a0456d0b7618554ed3d49287e77b6d43a2812a |
|
06-Jun-2014 |
Elliott Hughes <enh@google.com> |
Remove unnecessary instructions from x86/x86_64 syscalls. __set_errno returns -1 exactly so that callers don't need to bother. The other architectures were already taking advantage of this, but no one had ever fixed x86 and x86_64. Change-Id: Ie131494be664f6c4a1bbf8c61bbbed58eac56122
|
15b91e92a0bb4a15b4f2258bea332f4a67fa94d7 |
|
30-May-2014 |
Christopher Ferris <cferris@google.com> |
Fix x86 cfi directives for syscalls. The syscall generation always used 4 bytes for each push cfi directive. However, the first push should always use an offset of 8 bytes, each subsequent push after that is only 4 bytes though. Change-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9
|
e4bc7561219ddb7cfb7b33f731caa92a7766b9ca |
|
07-Jan-2014 |
Christopher Ferris <cferris@google.com> |
Add cfi directives to x86 syscalls. Modify the syscalls script to generate the cfi directives for x86 syscalls. Update the x86 syscalls. Change-Id: Ia1993dc714a7e79f917087fff8200e9a02c52603
|
ed74484dcbc2e156a6e5fa861a62425b12e55128 |
|
07-Nov-2013 |
Elliott Hughes <enh@google.com> |
Stop using the non-uapi <linux/err.h> header file. We only need it for MAX_ERRNO, and it's time we had somewhere to put the little assembler utility macros we've been putting off writing. Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83
|
103ccde8fe2f2c8abde914a8ba736b2e9cb8d20b |
|
16-Oct-2013 |
Elliott Hughes <enh@google.com> |
Sort the syscalls.mk files, give all generated files the same header. No non-comment changes to the .S files. Change-Id: Iafcfd004c3ea92b64268f80ab16df615b97cefac
|
e4ffd9f2341f42c9281b4a93df76768580535edd |
|
01-Oct-2013 |
Elliott Hughes <enh@google.com> |
Regenerate the system call stubs (to get x86_64). This touches the x86 stubs too because arm, x86, and x86_64 now all share the same header (at a source level), which causes a reordering of the #include lines. Change-Id: If9a1e2b2718bd41d8399fea748bce672c513ef84
|
5c2772f59d3b6f564897187324d8606f54423207 |
|
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
The SYS_ constants should cover all __NR_ values. <sys/linux-syscalls.h> only contains constants for the syscalls we're generating stubs for. We want all the syscalls available on the architecture in question. Keep using <sys/linux-syscalls.h> on ARM for now because the __NR_ARM_set_tls and __NR_ARM_cacheflush values aren't in <asm/unistd.h>. Change-Id: I66683950d87d9b18d6107d0acc0ed238a4496f44
|
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
|
7582a9c119a4e4d0c306996b2513205889a9fb6c |
|
07-Feb-2013 |
Elliott Hughes <enh@google.com> |
Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs. Also update the x86 asm.h to support this; we need it for libm assembler anyway. Also clean up the _FBSDID hack in <sys/cdefs.h>. Change-Id: Iababd977b8110ec022bf7c93f4d62ece47630e7c
|
5eb686d105ebd7cea332fd1ef0bb3af9386e19f7 |
|
13-Jan-2012 |
Stephen Smalley <sds@tycho.nsa.gov> |
Add extended attribute (xattr) system call wrappers to bionic. The xattr system calls are required for the SE Android userspace in order to get and set file security contexts. In particular, libselinux requires these calls. Change-Id: I78f5eb3d8f3384aed0a5e7c6a6f001781d982017
|