d11eac3455a059a092ceee92eda9905e1d661e94 |
07-Oct-2014 |
Christopher Ferris <cferris@google.com> |
Force export symbols on all x86 variants in libc. For silvermont, the __popcountsi2 symbol does not get exported by libc. But for atom, this symbol is exported. Since we already exported this symbol for previous releases, it's better to just follow through and force the export, but only for 32 bit. x86 64 bit will not export this symbol. Bug: 17681440 Change-Id: I6c62245f0960910f64baaaf6d9d090bf3ea5f435
ionic/libgcc_compat.c
86.mk
|
00008263782e484020420c606f7d145fe7d0a4d8 |
11-Sep-2014 |
Elliott Hughes <enh@google.com> |
Add posix_fadvise(3). Bug: 12449798 Change-Id: I07cbf3f670a0d1304b68148325a774f266b5c433
yscalls/__fadvise64.S
|
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
ionic/__bionic_clone.S
ionic/syscall.S
ionic/vfork.S
yscalls/__accept4.S
yscalls/__brk.S
yscalls/__connect.S
yscalls/__epoll_pwait.S
yscalls/__exit.S
yscalls/__fcntl64.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getdents64.S
yscalls/__getpid.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__openat.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__set_tid_address.S
yscalls/__sigaction.S
yscalls/__signalfd4.S
yscalls/__socket.S
yscalls/__statfs64.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup3.S
yscalls/epoll_create1.S
yscalls/epoll_ctl.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fallocate64.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat64.S
yscalls/fstatat64.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init1.S
yscalls/inotify_rm_watch.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lgetxattr.S
yscalls/linkat.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdirat.S
yscalls/mknodat.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/personality.S
yscalls/pipe2.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/prlimit64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlinkat.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmmsg.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/renameat.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmmsg.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setfsgid.S
yscalls/setfsuid.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setns.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaltstack.S
yscalls/socketpair.S
yscalls/splice.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlinkat.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tee.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/vmsplice.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
642182341018b282148280a7bdb771493e15bd7d |
26-Aug-2014 |
Elliott Hughes <enh@google.com> |
Fix pthread_getattr_np for the main thread. On most architectures the kernel subtracts a random offset to the stack pointer in create_elf_tables by calling arch_align_stack before writing the auxval table and so on. On all but x86 this doesn't cause a problem because the random offset is less than a page, but on x86 it's up to two pages. This means that our old technique of rounding the stack pointer doesn't work. (Our old implementation of that technique was wrong too.) It's also incorrect to assume that the main thread's stack base and size are constant. Likewise to assume that the main thread has a guard page. The main thread is not like other threads. This patch switches to reading /proc/self/maps (and checking RLIMIT_STACK) whenever we're asked. Bug: 17111575 Signed-off-by: Fengwei Yin <fengwei.yin@intel.com> (cherry picked from commit 57b7a6110e7e8b446fc23cce4765ff625ee0a105) Change-Id: I87e679ee1c0db8092f2d1221c8e7c1461545c5a4
ionic/__get_sp.S
86.mk
|
72d7e667c7e926cb120c4edb53cbf74c652ab915 |
10-Aug-2014 |
Elliott Hughes <enh@google.com> |
Fix our x86 PIC_PROLOGUE. The old definition only worked for functions that didn't use numbered local labels. Upstream uses '666' not only as some kind of BSD in-joke, but also because there's little likelihood of any function having labels that high. There's a wider question about whether we actually want to go via the PLT at all in this code, but that's a question for another day. Bug: 16906712 Change-Id: I3cd8ecc448b33f942bb6e783931808ef39091489
nclude/machine/asm.h
|
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)
yscalls/__accept4.S
yscalls/__brk.S
yscalls/__connect.S
yscalls/__epoll_pwait.S
yscalls/__exit.S
yscalls/__fcntl64.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getdents64.S
yscalls/__getpid.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__openat.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__set_tid_address.S
yscalls/__sigaction.S
yscalls/__signalfd4.S
yscalls/__socket.S
yscalls/__statfs64.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup3.S
yscalls/epoll_create1.S
yscalls/epoll_ctl.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fallocate64.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat64.S
yscalls/fstatat64.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init1.S
yscalls/inotify_rm_watch.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lgetxattr.S
yscalls/linkat.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdirat.S
yscalls/mknodat.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/personality.S
yscalls/pipe2.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/prlimit64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlinkat.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmmsg.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/renameat.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmmsg.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setfsgid.S
yscalls/setfsuid.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setns.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaltstack.S
yscalls/socketpair.S
yscalls/splice.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlinkat.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tee.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/vmsplice.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
43227c0b400a33dc9722269beda26313c391fb1e |
07-Aug-2014 |
Elliott Hughes <enh@google.com> |
Android is all-PIC/PIE. Clean up the x86/x86_64 assembler. The motivator (other than reducing confusion) was that asm.h incorrectly checked PIC rather than __PIC__. Bug: 16823325 (cherry picked from commit 6b6364a7fc7c3ba37ee907776a29bdc8c9793db9) Change-Id: I89ca57fa0eb34a36de6cb11ea85f71054fce709d
ionic/__stack_chk_fail_local.h
ionic/setjmp.S
ionic/sigsetjmp.S
nclude/machine/asm.h
|
5386a741e77bfff4e72ca6861fdd3fe2208452ce |
05-Aug-2014 |
Dan Albert <danalbert@google.com> |
Revert "Replaces vfork() implementation with fork()" We're getting cold feet on this one... let's put it back. This reverts commit 210331d9762037afb9b5ed8413079c6f65872df9. Change-Id: I6b0d3c2b1dbf7f1dc9566979a91b7504c2189269 (cherry picked from commit 6a918870bab1a55a5f57dd7954abd9a8a27c1bc2)
ionic/vfork.S
86.mk
|
4f76469e88e255bab1f8264e9ff8b95bff84365f |
31-Jul-2014 |
Elliott Hughes <enh@google.com> |
Implement <sys/fsuid.h>. (cherry picked from commit 79310994d2b3826a10598f7e7795acb5edb42a20) Change-Id: I47688273691e5c95e5e9302eba254ccaaaad40ca
yscalls/setfsgid.S
yscalls/setfsuid.S
|
3ff6d95a9b26154c94b5cf130649cf99eb6a4010 |
23-Jul-2014 |
Elliott Hughes <enh@google.com> |
Remove the unused swab.S. (cherry picked from commit ca70453e84a88405d30f64d603f9a9b5f53f1243) Change-Id: I4dc13de0bdeb7abb3bd47b0397546ad7d1f11d49
eneric/string/swab.S
|
15581383153c5da29befb7f5cdc30bc21e9da54b |
08-Jul-2014 |
Elliott Hughes <enh@google.com> |
Regenerate the bionic NOTICE files. Also fix a few formatting issues in copyright headers that were confusing the script (though obviously it would be better if the script were smarter). Change-Id: I7f561bef4f84fdcbd84f375ee226bd65db0e507b
ilvermont/string/sse4-memcmp-slm.S
|
3f525d41c2acde2ae3309cf839d83d7f41ab2fe6 |
25-Jun-2014 |
Elliott Hughes <enh@google.com> |
Add splice, tee, and vmsplice. Change-Id: I5f43380b88d776a8bb607b47dbbc5db5a2fe6163
yscalls/splice.S
yscalls/tee.S
yscalls/vmsplice.S
|
0d7415fb225573c37ff9e880957cd2044dd658ce |
21-Jun-2014 |
Dan Albert <danalbert@google.com> |
Merge "Remove SHA1 from LP64 in favor of libcrypto."
|
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
yscalls/__getpid.S
yscalls/getpid.S
|
c82c0b7e072491da4818e7de37411fbb2055fce1 |
17-Jun-2014 |
Dan Albert <danalbert@google.com> |
Remove SHA1 from LP64 in favor of libcrypto. Keep the symbols around on LP32 for binary compatibility. Bug: 11156955 Change-Id: I379a7e0fa3092e9a70daeafcbcb2aacfc314031a
86.mk
|
891dedb935b50f1abb39eedfe33049a1e49283cb |
13-Jun-2014 |
David 'Digit' Turner <digit@google.com> |
libc: Fix 'index' symbol export. The C library didn't export the 'index' symbol, but its C++ name-mangling instead, which broke the ABI and prevented some applications from loading properly. The main reason was that the implementation under bionic/index.cpp relied on the declaration to specify that the function has C linkage. However, the declaration for index() was removed from both <string.h> and <strings.h> in a recent patch, which made the compiler think it was ok to compile the function with C++ linkage instead! This patch does the following: - Move index() definition to bionic/ndk_cruft.cpp and ensure it uses C linkage. Note that this removes index() from the 64-bit library entirely, this is intentional and will break source compatibility. Simply replacing an index() call with the equivalent strchr() should be enough to fix this in third-party code. - Remove bionic/index.cpp from the tree and build files. - Remove x86 assembly implementation from arch-x86/ to avoid conflict with the one in ndk_cruft.cpp BUG=15606653 Change-Id: I816b589f69c8f8a6511f6be6195d20cf1c4e8123
tom/atom.mk
tom/string/sse2-index-atom.S
eneric/generic.mk
ilvermont/silvermont.mk
|
f87ac523a1aa02490d67330e74180c8ac2d78420 |
13-Jun-2014 |
Dan Albert <danalbert@google.com> |
Merge "Remove ioprio_get(2) and ioprio_set(2) from LP64."
|
607341e226912d95d03216483bdcef6f8d96f8b4 |
13-Jun-2014 |
Dan Albert <danalbert@google.com> |
Remove ioprio_get(2) and ioprio_set(2) from LP64. Bug: 11156955 Change-Id: I07b596d85e4bd6347d488d1a92c8d0a00b5ef3b3
yscalls/ioprio_get.S
yscalls/ioprio_set.S
|
24614b4729a4c8665193f5793b93019b37f779b1 |
13-Jun-2014 |
Elliott Hughes <enh@google.com> |
Remove __memcmp16 from bionic. Change-Id: I2486d667d96c8900dd368d855f37c1327161efb7
tom/atom.mk
tom/string/ssse3-memcmp16-atom.S
eneric/generic.mk
ilvermont/silvermont.mk
|
8e613cf342b369f7985135dbe11ebdbf8c736157 |
11-Jun-2014 |
Dan Albert <danalbert@google.com> |
Remove declaration for putw(3)/getw(3). These were both removed from POSIX 2004, and we don't define an implementation for getw(3). Keep the definition of put(3) on LP32 for binary compatibility. Bug: 13935372 Change-Id: Iba384b45093ac6d2d7c2d81f7980cd7701dd6f56
86.mk
|
440bd6bcc308f78b32fcbc4a3ba312dd1343559b |
11-Jun-2014 |
Dan Albert <danalbert@google.com> |
Merge "Replaces vfork() implementation with fork()"
|
210331d9762037afb9b5ed8413079c6f65872df9 |
06-Jun-2014 |
Dan Albert <danalbert@google.com> |
Replaces vfork() implementation with fork() vfork() was removed from POSIX 2008, so this replaces its implementation with a call to fork(). Bug: 13935372 Change-Id: I6d99ac9e52a2efc5ee9bda1cab908774b830cedc
ionic/vfork.S
86.mk
|
1c60f8080acaf0f1794689886e94e54d15d43a7b |
07-Jun-2014 |
Elliott Hughes <enh@google.com> |
Merge "Rename __bionic_clone_entry to __start_thread."
|
ebc8cd117a562f387c52ed4e1aeba0fb21f33194 |
07-Jun-2014 |
Elliott Hughes <enh@google.com> |
Rename __bionic_clone_entry to __start_thread. This seems a bit less obscure. Change-Id: I7dc528c253b73c861694f67556ad8f919bf92136
ionic/__bionic_clone.S
|
3d5cb30d23cfc6a72f01c00246e69a2c614c8228 |
06-Jun-2014 |
Elliott Hughes <enh@google.com> |
Remove getdents from bionic. Bug: 11156955 Change-Id: I6c306989801be552d85fba8a50dcdc79282fb9d2
yscalls/__getdents64.S
yscalls/getdents.S
|
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
ionic/__bionic_clone.S
ionic/syscall.S
ionic/vfork.S
yscalls/__accept4.S
yscalls/__brk.S
yscalls/__connect.S
yscalls/__epoll_pwait.S
yscalls/__exit.S
yscalls/__fcntl64.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__openat.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__set_tid_address.S
yscalls/__sigaction.S
yscalls/__signalfd4.S
yscalls/__socket.S
yscalls/__statfs64.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup3.S
yscalls/epoll_create1.S
yscalls/epoll_ctl.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fallocate64.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat64.S
yscalls/fstatat64.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init1.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lgetxattr.S
yscalls/linkat.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdirat.S
yscalls/mknodat.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/personality.S
yscalls/pipe2.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/prlimit64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlinkat.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmmsg.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/renameat.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmmsg.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setns.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaltstack.S
yscalls/socketpair.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlinkat.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
50b79530c6fea6d47d54edf6f351dcbd7d87ab6a |
06-Jun-2014 |
Elliott Hughes <enh@google.com> |
Merge "Fix unwinding through x86-64 __bionic_clone."
|
aeb3016f8132689d1b49d30056005b667e3d2d0e |
05-Jun-2014 |
Elliott Hughes <enh@google.com> |
Fix unwinding through x86-64 __bionic_clone. x86-64 needs these CFI directives to stop unwinding here. I've also cleaned up the assembler a little, and made x86 and x86-64 a little more alike. Bug: 15195760 Change-Id: I40f92c007843c29c933bb6876fe2b4611e1b946b
ionic/__bionic_clone.S
|
fce861498c8c4720c6ad2475a73bb4c3e55d6948 |
26-May-2014 |
Varvara Rainchik <varvara.rainchik@intel.com> |
Fix for slm-tuned memmove (both 32- and 64-bit). Introduce a test for memmove that catches a fault. Fix both 32- and 64-bit versions of slm-tuned memmove. Change-Id: Ib416def2610a0972e32c3b9b6055b54967643dc3 Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
ilvermont/string/sse2-memmove-slm.S
|
5d9a7ba0dc9c24ed4e4efa9cac0e796fd524b308 |
31-May-2014 |
Elliott Hughes <enh@google.com> |
Avoid a system call in 'gettid'. 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
yscalls/gettid.S
|
ee9d5bdd950bb05549bddc614c3c5ce9d10a5b08 |
30-May-2014 |
Elliott Hughes <enh@google.com> |
x86: stop unwinding past __bionic_clone. The apparent "previous" frame is on another thread's stack. Bug: 14270816 Bug: 15195760 Change-Id: I884f370e116203c5fa3b05a75fb8f356537261c4
ionic/__bionic_clone.S
|
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
yscalls/__accept4.S
yscalls/__brk.S
yscalls/__connect.S
yscalls/__epoll_pwait.S
yscalls/__exit.S
yscalls/__fcntl64.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__openat.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__set_tid_address.S
yscalls/__sigaction.S
yscalls/__signalfd4.S
yscalls/__socket.S
yscalls/__statfs64.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup3.S
yscalls/epoll_create1.S
yscalls/epoll_ctl.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fallocate64.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat64.S
yscalls/fstatat64.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/getdents.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettimeofday.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init1.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lgetxattr.S
yscalls/linkat.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdirat.S
yscalls/mknodat.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/personality.S
yscalls/pipe2.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/prlimit64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlinkat.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmmsg.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/renameat.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmmsg.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setns.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaltstack.S
yscalls/socketpair.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlinkat.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
fae42a837ae7f880de9561c7b3c2b18e4a531e90 |
29-May-2014 |
Elliott Hughes <enh@google.com> |
Merge "Revert "Revert "Lose the hand-written futex assembler."""
|
b30aff405a220495941f1673b0a5e66c4fa8b84c |
28-May-2014 |
Elliott Hughes <enh@google.com> |
Revert "Revert "Lose the hand-written futex assembler."" 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
ionic/futex_x86.S
yscalls/futex.S
86.mk
|
8a405b027a9c8b3a614016f4824a03fa252e9e1e |
28-May-2014 |
Christopher Ferris <cferris@google.com> |
Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
|
75c55ff84ebfa686c7ae2cc8ee431c6a33bd46b4 |
28-May-2014 |
Narayan Kamath <narayan@google.com> |
Revert "Lose the hand-written futex assembler." 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
ionic/futex_x86.S
yscalls/futex.S
86.mk
|
6f2bde344123d8503cd60f3ecd3420f39aa24eb9 |
23-May-2014 |
Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> |
Add optimized AArch64 versions of bcopy and wmemmove based on memmove 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>
86.mk
|
fd0ce866ce46ed62aa17dc2959a085cb3bf5755d |
24-May-2014 |
Christopher Ferris <cferris@google.com> |
Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove" 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
86.mk
|
8167dd7cb98e87ffe9b40e4993c330b244ca2234 |
23-May-2014 |
Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> |
Add optimized AArch64 versions of bcopy and wmemmove based on memmove 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>
86.mk
|
ced906c849704f379d7191822f6d74993d4fa296 |
23-May-2014 |
Elliott Hughes <enh@google.com> |
Lose the hand-written futex assembler. Also stop exporting 'futex'. Bug: 12250341 Change-Id: Icc4fa4296cd04dfe0d1061822c69e2eb40c3433a
ionic/futex_x86.S
yscalls/futex.S
86.mk
|
6e599a904b1f033cfaf79febff686f6296089a7d |
22-May-2014 |
Elliott Hughes <enh@google.com> |
Remove the tkill(2) stub. 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
yscalls/tkill.S
|
d5ed63a6a8290de88802172ce178656fbafe70c6 |
22-May-2014 |
Elliott Hughes <enh@google.com> |
Hide most of the private futex functions. 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
ionic/futex_x86.S
|
c1b7f44c13fbcbab3faaa8e11d3a459ebc11bfe5 |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Merge "Remove __syslog; we have the public klogctl API."
|
9f0a52e4e5afc20a61230e6cbfe735606bff7e0c |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Merge "Hide __get_sp."
|
7471a3700348df588d4da35a41b38f6a88b505fd |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Merge "Hide __set_tls."
|
46a55a4478db9e335bdc7f73ee2cf3a66fe673fd |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Remove __syslog; we have the public klogctl API. Bug: 11156955 Change-Id: I5c2cc02f39f76dd32984135f5c12c10bf2853796
yscalls/__syslog.S
|
a75869f0b2528079503d2e4dd2174142ab1df904 |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Hide __set_tls. Bug: 11156955 Change-Id: If82c10ae412651361d09591017d1c3a411bd6f0b
ionic/__set_tls.c
|
c3705f641507eafc170cd7a3fe98759e781e4594 |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Hide __get_sp. Bug: 11156955 Change-Id: I55d8d320521e80c2085af28933a18b00cf5c714e
ionic/__get_sp.S
|
4e631ba5688db2fae7bbc476982055a376102146 |
21-May-2014 |
Elliott Hughes <enh@google.com> |
Remove perf_event_open. 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
yscalls/perf_event_open.S
|
903b78873a744d3fba187e4bd22008ba21162e51 |
19-May-2014 |
Sreeram Ramachandran <sreeram@google.com> |
Mark sockets on creation (socket()) and accept4(). Remove the separate syscall for accept() and implement it as accept4(..., 0). Change-Id: Ib0b8f5d7c5013b91eae6bbc3847852eb355c7714
yscalls/__accept.S
yscalls/__accept4.S
yscalls/__socket.S
yscalls/accept4.S
yscalls/socket.S
|
31d0398de65becc83168fa931cbd3345bbc346bd |
17-May-2014 |
Elliott Hughes <enh@google.com> |
Hide _exit_with_stack_teardown. Bug: 11156955 Change-Id: Ida3020343c9975177dc324918cd1f10c455eb173
ionic/_exit_with_stack_teardown.S
|
7222b1b594a8fab4b9e744d764b70e4c17767794 |
17-May-2014 |
Elliott Hughes <enh@google.com> |
Hide __signalfd4, used to implement signalfd(3). Bug: 11156955 Change-Id: I50842279cb5b32ec8bd45193435574e415cd806e
yscalls/__signalfd4.S
yscalls/signalfd4.S
|
8f0cd8aa22906c3e678738eeba20fc1a5c399b6c |
14-May-2014 |
Sreeram Ramachandran <sreeram@google.com> |
Mark sockets on accept(). (cherry picked from commit 58b1f3f6a30a660ad81637c2b50382c3d279243b) Change-Id: I5d09be413cf720fbed905f96313b007997ada76c
yscalls/__accept.S
yscalls/accept.S
|
ceb5bd787c8ce281e5f4343c5d4f77b41c3e2919 |
12-May-2014 |
Sreeram Ramachandran <sreeram@google.com> |
Introduce netd_client, a dynamic library that talks to netd. 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
yscalls/__connect.S
yscalls/connect.S
|
5a92284167ffba6d45210ef6889fa7d255c15d4f |
24-Apr-2014 |
Varvara Rainchik <varvara.rainchik@intel.com> |
Add 32-bit Silvermont-optimized string/memory functions. 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>
tom/atom.mk
tom/string/cache.h
tom/string/sse2-bzero-atom.S
tom/string/sse2-index-atom.S
tom/string/sse2-memchr-atom.S
tom/string/sse2-memrchr-atom.S
tom/string/sse2-memset-atom.S
tom/string/sse2-strchr-atom.S
tom/string/sse2-strlen-atom.S
tom/string/sse2-strnlen-atom.S
tom/string/sse2-strrchr-atom.S
tom/string/sse2-wcschr-atom.S
tom/string/sse2-wcscmp-atom.S
tom/string/sse2-wcslen-atom.S
tom/string/sse2-wcsrchr-atom.S
tom/string/ssse3-bcopy-atom.S
tom/string/ssse3-memcmp-atom.S
tom/string/ssse3-memcmp16-atom.S
tom/string/ssse3-memcpy-atom.S
tom/string/ssse3-memmove-atom.S
tom/string/ssse3-strcat-atom.S
tom/string/ssse3-strcmp-atom.S
tom/string/ssse3-strcpy-atom.S
tom/string/ssse3-strlcat-atom.S
tom/string/ssse3-strlcpy-atom.S
tom/string/ssse3-strncat-atom.S
tom/string/ssse3-strncmp-atom.S
tom/string/ssse3-strncpy-atom.S
tom/string/ssse3-wcscat-atom.S
tom/string/ssse3-wcscpy-atom.S
tom/string/ssse3-wmemcmp-atom.S
eneric/generic.mk
eneric/string/bcopy.S
eneric/string/memcmp.S
eneric/string/memcpy.S
eneric/string/memmove.S
eneric/string/strcat.S
eneric/string/strcmp.S
eneric/string/strncmp.S
eneric/string/swab.S
ilvermont/silvermont.mk
ilvermont/string/cache.h
ilvermont/string/sse2-bcopy-slm.S
ilvermont/string/sse2-bzero-slm.S
ilvermont/string/sse2-memcpy-slm.S
ilvermont/string/sse2-memmove-slm.S
ilvermont/string/sse2-memset-slm.S
ilvermont/string/sse2-stpcpy-slm.S
ilvermont/string/sse2-stpncpy-slm.S
ilvermont/string/sse2-strcpy-slm.S
ilvermont/string/sse2-strlen-slm.S
ilvermont/string/sse2-strncpy-slm.S
ilvermont/string/sse4-memcmp-slm.S
ilvermont/string/sse4-wmemcmp-slm.S
tring/bcopy.S
tring/cache.h
tring/memcmp.S
tring/memcpy.S
tring/memmove.S
tring/sse2-bzero-atom.S
tring/sse2-index-atom.S
tring/sse2-memchr-atom.S
tring/sse2-memrchr-atom.S
tring/sse2-memset-atom.S
tring/sse2-strchr-atom.S
tring/sse2-strlen-atom.S
tring/sse2-strnlen-atom.S
tring/sse2-strrchr-atom.S
tring/sse2-wcschr-atom.S
tring/sse2-wcscmp-atom.S
tring/sse2-wcslen-atom.S
tring/sse2-wcsrchr-atom.S
tring/ssse3-bcopy-atom.S
tring/ssse3-memcmp-atom.S
tring/ssse3-memcmp16-atom.S
tring/ssse3-memcpy-atom.S
tring/ssse3-memmove-atom.S
tring/ssse3-strcat-atom.S
tring/ssse3-strcmp-atom.S
tring/ssse3-strcpy-atom.S
tring/ssse3-strlcat-atom.S
tring/ssse3-strlcpy-atom.S
tring/ssse3-strncat-atom.S
tring/ssse3-strncmp-atom.S
tring/ssse3-strncpy-atom.S
tring/ssse3-wcscat-atom.S
tring/ssse3-wcscpy-atom.S
tring/ssse3-wmemcmp-atom.S
tring/strcat.S
tring/strcmp.S
tring/strncmp.S
tring/swab.S
86.mk
|
0d236aa3f1e6d31b0c729448ae9d3ed1cad23fb4 |
09-May-2014 |
Elliott Hughes <enh@google.com> |
Align the child stack in clone(2). Also let clone(2) set the TLS for x86. Also ensure we initialize the TLS before we clone(2) for all architectures. Change-Id: Ie5fa4466e1c9ee116a281dfedef574c5ba60c0b5
ionic/__bionic_clone.S
ionic/__set_tls.c
|
fff3c0fdcf2a6f4301a238628fbf8182780a1612 |
09-May-2014 |
Elliott Hughes <enh@google.com> |
Align arm64 stacks to 16 bytes in __bionic_clone. Also ensure that arm64/x86-64/x86 assembler uses local labels. (There are are so many non-local labels in arm that fixing them seems out of scope.) Also synchronize the __bionic_clone.S comments. Change-Id: I03b4f84780d996b54d6637a074638196bbb01cd4
ionic/__bionic_clone.S
|
954cf0d4e2669f91194b45f484152e47efa4f6c7 |
09-May-2014 |
Elliott Hughes <enh@google.com> |
Hide the __bionic_clone and __bionic_clone_entry implementation details. 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
ionic/__bionic_clone.S
|
8d77bce185d04c531bd9bf34d38e5cbbe644d3a3 |
22-Apr-2014 |
Elliott Hughes <enh@google.com> |
LP64 shouldn't include the non-standard <time64.h> cruft. This patch includes just enough to keep external/chromium_org building until they switch 64-bit Android over to using the regular non-Android code. Change-Id: Iecaf274efa46ae18a42d5e3439c5aa4f909177c1
86.mk
|
cb65cc3fb4a8d7dfbbcbdfdb9140ab59baada28e |
17-Apr-2014 |
Elliott Hughes <enh@google.com> |
Clean up <machine/ieee.h>. 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
nclude/machine/ieee.h
|
02c78a386739a8a2b3007efeb00a9ca04132100a |
12-Apr-2014 |
Elliott Hughes <enh@google.com> |
Reimplement isinf/isnan/fpclassify. Also move isinf and isnan into libc like everyone else. Also move fpclassify to libc like the BSDs (but unlike glibc). We need this to be able to upgrade our float/double/long double parsing to gdtoa. Also add some missing aliases. We now have all of: isnan, __isnan, isnanf, __isnanf, isnanl, __isnanl, isinf, __isinf, isinff, __isinff, isinfl, __isinfl, __fpclassify, __fpclassifyd, __fpclassifyf, __fpclassifyl. Bug: 13469877 Change-Id: I407ffbac06c765a6c5fffda8106c37d7db04f27d
nclude/machine/ieee.h
|
9f525644df99cb2f7f81a23ca23840f0a8f82275 |
09-Apr-2014 |
Elliott Hughes <enh@google.com> |
Implement _Exit(3). Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
yscalls/_exit.S
|
1b0dc40980c259aa0d9a416cd1ccf497e6efe138 |
02-Apr-2014 |
Elliott Hughes <enh@google.com> |
Remove <machine/limits.h>. Change-Id: I7f9e9538517f726d4f08bf1f4b8d57c54d3f1676
nclude/machine/limits.h
|
f1bfc8781e17fb851de23dce4332c0cb5ccb8749 |
02-Apr-2014 |
Elliott Hughes <enh@google.com> |
Merge "Remove SIZE_MAX definition in limits.h"
|
3bfa0fd32f07fab81f178a58eee4d0738b6d0db6 |
08-Jan-2014 |
Henrik Smiding <henrik.smiding@intel.com> |
Add Silvermont architecture cache sizes Adds Silvermont specific cache sizes for bionic optimizations. Change-Id: Ib992f530b8c485121b2874470fd6bed2212adb0f Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
tring/cache.h
|
ac3fc00ca2c157387164c7daaf9e10799c5ac8dc |
11-Mar-2014 |
Russell Webb <russell.webb@intel.com> |
Remove SIZE_MAX definition in limits.h 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>
nclude/machine/limits.h
|
8f2a30a92ab6981cccbc1a9e17b738f7542ae33f |
26-Mar-2014 |
Andrei Emeltchenko <andrei.emeltchenko@intel.com> |
Add accept4() syscall Add accept4() using SYSCALLS.TXT and gensyscall Change-Id: I6f19f29144186d15d46423e10f2cc4b4223719c6
yscalls/accept4.S
|
6ff0c75c838e73d2aeccc0102ab58a7b865172ca |
10-Feb-2014 |
Guillaume Ranquet <guillaumex.ranquet@intel.com> |
Add recvmmsg and sendmmsg syscalls. 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
yscalls/recvmmsg.S
yscalls/sendmmsg.S
|
53e43292aac91bf62995788cd5ca2ceb7caea283 |
25-Feb-2014 |
Elliott Hughes <enh@google.com> |
More OpenBSD cleanup (primarily string). This patch removes the string/ and wchar/ directories. Change-Id: Ia489904bc67047e4bc79acb1f3eec21aa3fe5f0d
86.mk
|
851e68a2402fa414544e66650e09dfdaac813e51 |
20-Feb-2014 |
Elliott Hughes <enh@google.com> |
Unify our assembler macros. 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
ionic/__bionic_clone.S
ionic/__get_sp.S
ionic/_setjmp.S
ionic/setjmp.S
ionic/sigsetjmp.S
nclude/machine/asm.h
tring/bcopy.S
tring/memcmp.S
tring/strcat.S
tring/strcmp.S
tring/strncmp.S
tring/swab.S
|
09289d92f920f307fc50dd64e9970c36c30b58e4 |
20-Feb-2014 |
Elliott Hughes <enh@google.com> |
Remove useless _C_LABEL from our assembler source. Change-Id: I41a9181537c70ecc69ef8035132c9a83811a40d0
ionic/setjmp.S
ionic/sigsetjmp.S
|
6e39ba73bfd9504762e8798fd6b293f11d5fdf7e |
20-Feb-2014 |
Elliott Hughes <enh@google.com> |
Stop advertising an arm32-specific hack like it's a build system feature. Change-Id: I3a830b4a3516b6eb8e4f8e6e6b122a22a2e341df
86.mk
|
986f9067103e41296898a7c0e89f5ed84420fb5b |
19-Feb-2014 |
Elliott Hughes <enh@google.com> |
Fix build by avoiding the _C_LABEL macro. Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
yscalls/fstat64.S
yscalls/fstatat64.S
|
db1ea3474899ebbd783aba872d3005f95a816d0f |
18-Jan-2014 |
Elliott Hughes <enh@google.com> |
Implement some of the missing LFS64 support. 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
yscalls/fstat.S
yscalls/fstat64.S
yscalls/fstatat.S
yscalls/fstatat64.S
|
f25d677147ae55a1f3b6ef7fa3ee27921792813f |
24-Jan-2014 |
Ying Wang <wangying@google.com> |
Reconfig libc's Android.mk to build for multilib 1. Moved arch-specific setup to their own files: - <arch>/<arch>.mk, arch-specific configs. Variables in those config end with the arch name. - removed the extra complexity introduced by function libc-add-cpu-variant-src, which seems to be not very useful these days. 2. Separated out the crt object files generation rules and set up the rules for both TARGET_ARCH and TARGET_2ND_ARCH. 3. Build all the libraries for both TARGET_ARCH and TARGET_2ND_ARCH, with the arch-specific LOCAL_ variables. Bug: 11654773 Change-Id: I9c2d85db0affa49199d182236d2210060a321421
86.mk
|
b3a23bd0178c8edbb34e310be08e6fb73ac6ba09 |
11-Feb-2014 |
Elliott Hughes <enh@google.com> |
Build syscall stubs in their own library. This lets us lose the auto-generated makefiles. Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
yscalls.mk
|
0266ae5f884d72da58f33a072e865ba131234a5e |
11-Feb-2014 |
Elliott Hughes <enh@google.com> |
Switch <elf.h> over to linux uapi under the covers. Remove the linker's reliance on BSD cruft and use the glibc-style ElfW macro. (Other code too, but the linker contains the majority of the code that needs to work for Elf32 and Elf64.) All platforms need dl_iterate_phdr_static, so it doesn't make sense to have that part of the per-architecture configuration. Bug: 12476126 Change-Id: I1d7f918f1303a392794a6cd8b3512ff56bd6e487
86.mk
|
9afe2884c7fe11f862982fd550a2ead688f2044d |
05-Feb-2014 |
Elliott Hughes <enh@google.com> |
Kill <machine/_types.h>. Most of <machine/_types.h> was either unused, wrong, or identical across all 32-/64-bit architectures. I'm not a huge fan of <sys/_types.h> either, but moving the bits we need up into there is a step forward. Bug: 12213562 Change-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6
nclude/machine/_types.h
|
f64b8ea09db3bdd84eed59f7721301743332b3fe |
04-Feb-2014 |
Elliott Hughes <enh@google.com> |
Add fallocate/fallocate64/posix_fallocate/posix_fallocate64. Bug: 5287571 Bug: 12612860 Change-Id: I4501b9c6cdf9a830336ce0b3afc4ea716b6a0f6f
yscalls.mk
yscalls/fallocate64.S
|
0f461e35f63200641fc53bba222845a84589c024 |
09-Jan-2014 |
Elliott Hughes <enh@google.com> |
Fix <sys/resource.h>. The situation here is a bit confusing. On 64-bit, rlimit and rlimit64 are the same, and so getrlimit/getrlimit64, setrlimit/setrlimit64, and prlimit/prlimit64 are all the same. On 32-bit, rlimit and rlimit64 are different. 32-bit architectures other than MIPS go one step further by having an even more limited getrlimit system call, so arm and x86 need to use ugetrlimit instead of getrlimit. Worse, the 32-bit architectures don't have 64-bit getrlimit- and setrlimit-equivalent system calls, and you have to use prlimit64 instead. There's no 32-bit prlimit system call, so there's no easy implementation of that --- what should we do if the result of prlimit64 won't fit in a struct rlimit? Since 32-bit survived without prlimit/prlimit64 for this long, I'm not going to bother implementing prlimit for 32-bit. We need the rlimit64 functions to be able to build strace 4.8 out of the box. Change-Id: I1903d913b23016a2fc3b9f452885ac730d71e001
yscalls.mk
yscalls/prlimit64.S
|
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
yscalls/__brk.S
yscalls/__epoll_pwait.S
yscalls/__exit.S
yscalls/__fcntl64.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__openat.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__set_tid_address.S
yscalls/__sigaction.S
yscalls/__statfs64.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/accept.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup3.S
yscalls/epoll_create1.S
yscalls/epoll_ctl.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettimeofday.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init1.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lgetxattr.S
yscalls/linkat.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdirat.S
yscalls/mknodat.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe2.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlinkat.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/renameat.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setns.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlinkat.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
a85aaf11fafd52b1304cc288d0699411ae510cc8 |
03-Jan-2014 |
Elliott Hughes <enh@google.com> |
Use the MAX_ERRNO constant. If you're going to hardcode a constant, you could at least try to get the constant right... Change-Id: I886a2593357d1c4dfd6c42649c63e8a35c15a441
ionic/syscall.S
ionic/vfork.S
|
887e1140fe7596fa1239a0bc802d2cdb51c57d3c |
02-Jan-2014 |
Elliott Hughes <enh@google.com> |
Clean up <sched.h>. This patch switches to using the uapi constants. It also adds the missing setns system call, fixes sched_getcpu's error behavior, and fixes the gensyscalls script now ARM is uapi-only too. Change-Id: I8e16b1693d6d32cd9b8499e46b5d8b0a50bc4f1d
yscalls.mk
yscalls/setns.S
|
2aace21a19b6be8f6a427fc664d4175f0bf832c9 |
22-Dec-2013 |
Elliott Hughes <enh@google.com> |
Remove the bogus exit status from _exit_with_stack_teardown. It should always be 0, and there's no reason to pass a constant in as an argument. Change-Id: I92ac59b718a18e298bd7c52821af447f9181ca2a
ionic/_exit_with_stack_teardown.S
|
5eccb9646dd94438911706d3ebf52775caa7f41e |
21-Dec-2013 |
Elliott Hughes <enh@google.com> |
Fix aarch64 futex assembly routines. Also make the other architectures more similar to one another, use NULL instead of 0 in calling code, and remove an unused #define. Change-Id: I52b874afb6a351c802f201a0625e484df6d093bb
ionic/futex_x86.S
|
2b333ea31ec5b5b4627f14b22253b017b346638a |
18-Dec-2013 |
Elliott Hughes <enh@google.com> |
Remove <machine/kernel.h>. Bug: 12175484 Change-Id: I127f7f91f36bd879109d653e0c56ec56e2529d4d
nclude/machine/kernel.h
|
c13fb75ceabb47f8292be206db80b93889fccf66 |
18-Dec-2013 |
Elliott Hughes <enh@google.com> |
Move bionic over to GCC's 'warning' attribute. This is a better solution than the old __warn_references because it's a compile-time rather than link-time warning, it doesn't rely on something that doesn't appear to be supported by gold (which is why you only used to see these warnings on mips builds), and the errors refer to the exact call site(s) rather than just telling you which object file contains a reference to the bad function. This is primarily so we can build bionic for aarch64; building libc.so caused these warnings to fire (because link time is the wrong time) and warnings are errors. Change-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3
nclude/machine/cdefs.h
|
99c393dff33e0a5d3838c16dc7878f32ac3da971 |
27-Nov-2013 |
Elliott Hughes <enh@google.com> |
Fix the order of arguments to sys_clone for x86. Unlike x86-64, x86's arguments are just like every other architecture's. Change-Id: Ic6da23f2a70599683b68e7e12ab9ba061e0b349c
ionic/__bionic_clone.S
|
9dec707bd6fa59849c205db6f878f1b2cc2de536 |
26-Nov-2013 |
Elliott Hughes <enh@google.com> |
Fix _exit_with_stack_teardown for x86. Change-Id: Ife8f9c538c86f7c0017143015d5ee849a99b625b
ionic/_exit_with_stack_teardown.S
|
507cfe2e10a6c4ad61b9638820ba10bfe881a18c |
19-Nov-2013 |
Christopher Ferris <cferris@google.com> |
Add .cfi_startproc/.cfi_endproc to ENTRY/END. Bug: 10414953 Change-Id: I711718098b9f3cc0ba8277778df64557e9c7b2a0
nclude/machine/asm.h
tring/bcopy.S
|
36d6188f8cd8b948fb797f11d9620d63d0c2215a |
19-Nov-2013 |
Elliott Hughes <enh@google.com> |
Clean up forking and cloning. The kernel now maintains the pthread_internal_t::tid field for us, and __clone was only used in one place so let's inline it so we don't have to leave such a dangerous function lying around. Also rename files to match their content and remove some useless #includes. Change-Id: I24299fb4a940e394de75f864ee36fdabbd9438f9
ionic/__bionic_clone.S
ionic/clone.S
yscalls.mk
yscalls/__clone.S
86.mk
|
877ec6d90418ff1d6597147d355a2229fdffae7e |
16-Nov-2013 |
Elliott Hughes <enh@google.com> |
Fix pthread_join. Let the kernel keep pthread_internal_t::tid updated, including across forks and for the main thread. This then lets us fix pthread_join to only return after the thread has really exited. Also fix the thread attributes of the main thread so we don't unmap the main thread's stack (which is really owned by the dynamic linker and contains things like environment variables), which fixes crashes when joining with an exited main thread and also fixes problems reported publicly with accessing environment variables after the main thread exits (for which I've added a new unit test). In passing I also fixed a bug where if the clone(2) inside pthread_create(3) fails, we'd unmap the child's stack and TLS (which contains the mutex) and then try to unlock the mutex. Boom! It wasn't until after I'd uploaded the fix for this that I came across a new public bug reporting this exact failure. Bug: 8206355 Bug: 11693195 Bug: https://code.google.com/p/android/issues/detail?id=57421 Bug: https://code.google.com/p/android/issues/detail?id=62392 Change-Id: I2af9cf6e8ae510a67256ad93cad891794ed0580b
yscalls.mk
yscalls/__set_tid_address.S
|
70b24b1cc2a1a4436b1fea3f8b76616fdcb27224 |
15-Nov-2013 |
Elliott Hughes <enh@google.com> |
Switch pthread_create over to __bionic_clone. Bug: 8206355 Bug: 11693195 Change-Id: I04aadbc36c87e1b7e33324b9a930a1e441fbfed6
ionic/_exit_with_stack_teardown.S
ionic/clone.S
|
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
yscalls/__brk.S
yscalls/__clone.S
yscalls/__epoll_pwait.S
yscalls/__exit.S
yscalls/__fcntl64.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__openat.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__sigaction.S
yscalls/__statfs64.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/accept.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup3.S
yscalls/epoll_create1.S
yscalls/epoll_ctl.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init1.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lgetxattr.S
yscalls/linkat.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdirat.S
yscalls/mknodat.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe2.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlinkat.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/renameat.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlinkat.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
062092543fdbd6fa2676e4f5b37a15f7bba94332 |
07-Nov-2013 |
Elliott Hughes <enh@google.com> |
Clean up the 32-bit kernel support, fix LP64 fcntl declaration. In practice, thanks to all the registers the stubs don't actually change, but it's confusing to have an incorrect declaration. I suspect that fcntl remains broken for aarch64; it happens to work for x86_64 because the first vararg argument gets placed in the right register anyway, but I have no reason to believe that's true for aarch64. This patch adds a unit test, though, so we'll be able to tell when we get as far as running the unit tests. Change-Id: I58dd0054fe99d7d51d04c22781d8965dff1afbf3
yscalls.mk
yscalls/__fcntl.S
|
6b53c2349a5a3fc70a475de6a66131b615e88e48 |
25-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix the exit syscall stub's name. I've left the exit_group syscall as _exit because otherwise we'd have to convince the compiler that our _exit (which just calls __exit_group) is actually "noreturn", and it seems like that would be less clean than just cutting out the middleman. We'll just have to trust ourselves not to add anything to SYSCALLS.TXT that ought to be private but that only has a single leading underscore. Hopefully we can manage that. Change-Id: Iac47faea9f516186e1774381846c54cafabc4354
yscalls.mk
yscalls/__exit.S
yscalls/_exit_thread.S
|
bf425680e484486803bf21e4c4cd1e3f36614a3c |
25-Oct-2013 |
Elliott Hughes <enh@google.com> |
Let the compiler worry about implementing ffs(3). It does at least as good a job as our old hand-written assembly anyway. Change-Id: If7c4a1ac508bace0b71ee7b67808caa6eabf11d2
tring/ffs.S
86.mk
|
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
yscalls.mk
yscalls/__clone.S
yscalls/__epoll_pwait.S
yscalls/__fork.S
yscalls/__open.S
yscalls/__ppoll.S
yscalls/__pselect6.S
yscalls/__sys_clone.S
yscalls/_waitpid.S
yscalls/epoll_wait.S
yscalls/pause.S
yscalls/poll.S
yscalls/select.S
|
cac7b9d6ec1a09814bc028e2f768db732f018891 |
23-Oct-2013 |
Elliott Hughes <enh@google.com> |
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls. (aarch64 kernels only have the newer system calls.) Also expose the new functionality that's exposed by glibc in our header files. Change-Id: I45d2d168a03f88723d1f7fbf634701006a4843c5
yscalls.mk
yscalls/dup2.S
yscalls/dup3.S
yscalls/epoll_create.S
yscalls/epoll_create1.S
yscalls/inotify_init.S
yscalls/inotify_init1.S
yscalls/pipe.S
|
f8fcfbc85a3ce3e195626b90736d3a484331494b |
22-Oct-2013 |
Elliott Hughes <enh@google.com> |
Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls. Modern architectures only get the *at(2) system calls. For example, aarch64 doesn't have open(2), and expects userspace to use openat(2) instead. Change-Id: I87b4ed79790cb8a80844f5544ac1a13fda26c7b5
yscalls.mk
yscalls/access.S
yscalls/chmod.S
yscalls/chown.S
yscalls/lchown.S
yscalls/link.S
yscalls/linkat.S
yscalls/lstat.S
yscalls/mkdir.S
yscalls/mknod.S
yscalls/mknodat.S
yscalls/readlink.S
yscalls/readlinkat.S
yscalls/rename.S
yscalls/rmdir.S
yscalls/stat.S
yscalls/symlink.S
yscalls/symlinkat.S
yscalls/unlink.S
yscalls/utimes.S
|
7f70c9b64eec4a4a86a3948966187ff8ee9fa720 |
13-Oct-2013 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Fix uses of stack size for 32/64bit libc builds This patch fixes stack size uses to size_t. Change-Id: I0671c85ddb1c1aceaf9440a7c73c21fe528653fa Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ionic/_exit_with_stack_teardown.S
|
c7e9b2331771e5e87c34a8ee3dc6cc41d35b02fe |
17-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix sigaction(3) for 64-bit. Also clean up <signal.h> and revert the hacks that were necessary for 64-bit in linker/debugger.cpp until now. Change-Id: I3b0554ca8a49ee1c97cda086ce2c1954ebc11892
yscalls.mk
yscalls/__sigaction.S
yscalls/sigaction.S
|
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
yscalls.mk
yscalls/__brk.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigpending.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigsuspend.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__statfs64.S
yscalls/__sys_clone.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/lgetxattr.S
yscalls/link.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe.S
yscalls/pipe2.S
yscalls/poll.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlink.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/utimes.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
40d105ccb3e6283566ce54b693b3088f31aa4f26 |
16-Oct-2013 |
Elliott Hughes <enh@google.com> |
Switch sigpending over to rt_sigpending. Change-Id: I7b28984796b5fb343cfbcc47e0afc3a84293d417
yscalls.mk
yscalls/__rt_sigpending.S
yscalls/sigpending.S
|
1f5af926fa626734981d6b4dcc0ab54e520032a9 |
16-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix sigsuspend to use rt_sigsuspend on all platforms. Change-Id: I981c1a66d35480d4457a0a08a1b042dac94daa5b
yscalls.mk
yscalls/__rt_sigsuspend.S
yscalls/__sigsuspend.S
|
19e62325c268a668692e2b65fde2284079f369aa |
15-Oct-2013 |
Elliott Hughes <enh@google.com> |
Clean up the sigprocmask/pthread_sigmask implementation. Let's have both use rt_sigprocmask, like in glibc. The 64-bit ABIs can share the same code as the 32-bit ABIs. Also, let's test the return side of these calls, not just the setting. Bug: 11069919 Change-Id: I11da99f85b5b481870943c520d05ec929b15eddb
yscalls.mk
yscalls/sigprocmask.S
|
232163cf70712fe00436b70dd495f4cf405e9eab |
10-Oct-2013 |
Elliott Hughes <enh@google.com> |
Clean up the cpuacct cruft. Change-Id: I6ed63af8dfc2368e211420389fa8af4d5dc0908f
yscalls.mk
yscalls/__setresuid.S
yscalls/__setreuid.S
yscalls/__setuid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setuid.S
|
2a0b873065edb304fa2d1c54f8de663ea638b8ab |
09-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix __errno for LP64 and clean up __get_tls. If __get_tls has the right type, a lot of confusing casting can disappear. It was probably a mistake that __get_tls was exposed as a function for mips and x86 (but not arm), so let's (a) ensure that the __get_tls function always matches the macro, (b) that we have the function for arm too, and (c) that we don't have the function for any 64-bit architecture. Change-Id: Ie9cb989b66e2006524ad7733eb6e1a65055463be
ionic/__get_tls.c
86.mk
|
c4c6e192ac045c06f4aad3afc8e437baf67227b7 |
08-Oct-2013 |
Elliott Hughes <enh@google.com> |
pthread_exit should call __NR_exit with status 0. We shouldn't have been passing the bottom 32 bits of the address used for pthread_join to the kernel. Change-Id: I487e5002d60c27adba51173719213abbee0f183f
ionic/_exit_with_stack_teardown.S
|
a97cc5b458048ddaa034489e4a4e55e9064aca2f |
07-Oct-2013 |
Elliott Hughes <enh@google.com> |
Clean up the x86 and x86_64 _exit_with_stack_teardown implementations. Change-Id: I4bcbbc53893612bd94643ef07722becb00f91792
ionic/_exit_with_stack_teardown.S
|
72645164b6840806d1681f48565bb3b54efc4628 |
05-Oct-2013 |
Elliott Hughes <enh@google.com> |
Add arch-x86_64/include/machine. This is basically the other half of I5de76f6c46ac87779f207d568a86bb453e2414de from Pavel Chupin <pavel.v.chupin@intel.com>, but taking the exact upstream _types.h instead of the modified version. (I was confused when I suggested otherwise.) I've also cleaned up the internal_types.h situation; we weren't gaining anything from these empty files, and there is no upstream internal_types.h for x86_64. Change-Id: I802a9a6a8df1c979e820659212c75a47c2ef392e
nclude/machine/internal_types.h
|
7e841ed688947855a3bd20d2b23a44599257038a |
04-Oct-2013 |
Elliott Hughes <enh@google.com> |
Remove useless x86 fallbacks. The NDK ABI requires that you support SSE2, and the build system won't let you build with ARCH_X86_HAVE_SSE2 set to false. So let's stop pretending this constant is actually a variable, and let's remove the corresponding dead code. Also, the USE_SSE2 and USE_SSE3 macros are unused, so let's not bother setting them. Change-Id: I40b501d998530d22518ce1c4d14575513a8125bb
tring/bzero.S
tring/memset.S
tring/strlen.S
86.mk
|
b49c17c2bf1232e29bc390e58d6fa43688929aa5 |
02-Oct-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Move common arch-* code to arch-common directory Will be helpful on adding x86_64 Change-Id: I96cf6fc7912c02f289c75f07ae0079c32d69173f Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic/crtbegin.c
ionic/crtbegin_so.c
ionic/crtend.S
ionic/crtend_so.S
|
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
yscalls/__brk.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__setresuid.S
yscalls/__setreuid.S
yscalls/__setuid.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__sys_clone.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/lgetxattr.S
yscalls/link.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe.S
yscalls/pipe2.S
yscalls/poll.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendfile64.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/swapoff.S
yscalls/swapon.S
yscalls/symlink.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/truncate64.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/utimes.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
c0af6954262675856d6833ce7c256f0838326fd0 |
01-Oct-2013 |
Elliott Hughes <enh@google.com> |
Clean up some comments. Copyright headers shouldn't contain the filename (and especially shouldn't contain a different file's filename). Change-Id: I82690a3bf371265402bc16f5d2fbb9299c3a1926
nclude/machine/kernel.h
|
d612165c6705379aa50144afc35aa40c16793728 |
26-Sep-2013 |
Elliott Hughes <enh@google.com> |
Make it easier to add syscalls for another architecture. Much of the per-architecture duplication can be removed, so let's do so before we add the 64-bit architectures. Change-Id: Ieb796503c8e5353ea38c3bab768bb9a690c9a767
yscalls.mk
|
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
yscalls.mk
yscalls/sendfile64.S
yscalls/truncate64.S
|
3c4b50fd8cce143d9ba8f03a93f0fccba4e54d14 |
26-Jul-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Fix strchr for basic non-sse case on x86 Fix source location. Move declaration of __strchr_chk out of ifdef __BIONIC_FORTIFY which should be available for strchr.cpp compilation when __BIONIC_FORTIFY is not defined. Change-Id: I552a6e16656e59b276b322886cfbf57bbfb2e6a7 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
86.mk
|
baa91f4f8974b6e9a81fa3aa49f051b3bf823653 |
26-Jun-2013 |
Alexander Ivchenko <alexander.ivchenko@intel.com> |
Add ssse3 implementation of __memcmp16. __memcmp16 was missing in x86. Also added C-version for backward compatibility. Added bionic test for __memcmp16 and for wmemcmp. Change-Id: I33718441e7ee343cdb021d91dbeaf9ce2d4d7eb4 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
tring/ssse3-memcmp-atom.S
tring/ssse3-memcmp16-atom.S
tring/ssse3-wmemcmp-atom.S
86.mk
|
995f17e6a9a9903f03f542192da9a83b1cabc684 |
26-Jun-2013 |
Rom Lemarchand <romlem@google.com> |
Merge "libc: add swapon and swapoff syscalls"
|
64a4f6adf7c3f191cc819b5baa83dcb474aea2db |
19-Apr-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Update x86 machine/endian.h from upstream After download new version from upstream (OpenBSD 1.17) did the following: * changed all u_int* types to uint* * add #include <sys/types.h> All these changes are Android-specific and had been done before for previous version (1.14). Bug: http://code.google.com/p/android/issues/detail?id=54465 Change-Id: Ieb44e7fce4e794d997bb00ee0dd417fb61521720 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
nclude/machine/endian.h
|
d206b560e72e791b5dfeb339b5f7c18354bf95fd |
06-Jun-2013 |
Rom Lemarchand <romlem@google.com> |
libc: add swapon and swapoff syscalls Change-Id: Ie79dc8e3f2ff1cd427dd6d95e3850920c4b407b0 Signed-off-by: Rom Lemarchand <romlem@google.com>
yscalls.mk
yscalls/swapoff.S
yscalls/swapon.S
|
0a490665a3a287cd3aee1e7327f2381222c387c4 |
16-Jan-2012 |
Liubov Dmitrieva <liubov.dmitrieva@intel.com> |
bionic/x86: Optimization for string routines Optimized strcpy, strcat, strncpy, strncat, strlcpy, strlcat, memchr, memrchr, strchr, strrchr, index, strnlen, strlen, wcslen, wmemcmp, wcscmp, wcschr, wcsrchr, wcscpy, wcscat Change-Id: I82b29132edf9a2e144e0bb3ee4ff5217df8d2a6d Signed-off-by: Liubov Dmitrieva <liubov.dmitrieva@intel.com>
tring/bcopy_wrapper.S
tring/bzero_wrapper.S
tring/cache.h
tring/cache_wrapper.S
tring/memcmp_wrapper.S
tring/memcpy_wrapper.S
tring/memmove_wrapper.S
tring/memset_wrapper.S
tring/sse2-bzero-atom.S
tring/sse2-index-atom.S
tring/sse2-memchr-atom.S
tring/sse2-memrchr-atom.S
tring/sse2-memset-atom.S
tring/sse2-memset5-atom.S
tring/sse2-strchr-atom.S
tring/sse2-strlen-atom.S
tring/sse2-strnlen-atom.S
tring/sse2-strrchr-atom.S
tring/sse2-wcschr-atom.S
tring/sse2-wcscmp-atom.S
tring/sse2-wcslen-atom.S
tring/sse2-wcsrchr-atom.S
tring/ssse3-bcopy-atom.S
tring/ssse3-memcmp-atom.S
tring/ssse3-memcmp3-new.S
tring/ssse3-memcpy-atom.S
tring/ssse3-memcpy5.S
tring/ssse3-memmove-atom.S
tring/ssse3-strcat-atom.S
tring/ssse3-strcmp-atom.S
tring/ssse3-strcmp-latest.S
tring/ssse3-strcpy-atom.S
tring/ssse3-strlcat-atom.S
tring/ssse3-strlcpy-atom.S
tring/ssse3-strncat-atom.S
tring/ssse3-strncmp-atom.S
tring/ssse3-strncpy-atom.S
tring/ssse3-wcscat-atom.S
tring/ssse3-wcscpy-atom.S
tring/ssse3-wmemcmp-atom.S
tring/strcmp_wrapper.S
tring/strlen_wrapper.S
tring/strncmp_wrapper.S
86.mk
|
e4c4ada5804beb689905286b9bbe6521a186d302 |
24-May-2013 |
Nick Kralevich <nnk@google.com> |
libc x86: Remove index.S, strcpy.S, strchr.S These files are never used. Change-Id: Iab8474bdff3bd4d225597c62b3c0f0849f808818
tring/index.S
tring/strchr.S
tring/strcpy.S
|
615684c2562ac663ad1849b7772e921b0ff724c3 |
24-May-2013 |
Nick Kralevich <nnk@google.com> |
libc: delete x86 memchr.S This file is never used. Change-Id: Ief08ad176713b5194048852609613801969e1364
tring/memchr.S
|
4200e6203aaa67c37874ad2b2271bff920297c7f |
09-May-2013 |
Todd Poynor <toddpoynor@google.com> |
libc: add timerfd calls (cherry-pick of 04c0ac14a49e0969333008a9522b64046d58fbdc.) Change-Id: I06d0b6c2a8781602362b81f48faf1cca76b9ec05
yscalls.mk
yscalls/timerfd_create.S
yscalls/timerfd_gettime.S
yscalls/timerfd_settime.S
|
4cdde5f12364079a2b55fa4fc4ed53364cb8465d |
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
Replace unnecessary x86 uses of <sys/linux-syscalls.h> with <asm/unistd.h>. Change-Id: I9d016ee8e8329cccf244d27c336d9524348af996
ionic/_exit_with_stack_teardown.S
ionic/clone.S
ionic/futex_x86.S
ionic/syscall.S
|
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
ionic/vfork.S
yscalls/__brk.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__setresuid.S
yscalls/__setreuid.S
yscalls/__setuid.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__sys_clone.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/lgetxattr.S
yscalls/link.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe.S
yscalls/pipe2.S
yscalls/poll.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/symlink.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/utimes.S
yscalls/wait4.S
yscalls/write.S
yscalls/writev.S
|
8f7120bbacb0bb7a8aca1102f76f64a462f40231 |
22-Mar-2013 |
Kito Cheng <kito@0xlab.org> |
Drop unnecessary execution permission for .cpp/.c/.h Change-Id: I9ac2b9d8f6bdb4fab8962210c5ec8f9c3e8c0ebf
ionic/__get_tls.c
ionic/__set_tls.c
ionic/__stack_chk_fail_local.h
ionic/crtbegin.c
ionic/crtbegin_so.c
|
17a8b0db63d54e9d79bf11112ace0c4fe9606289 |
21-Mar-2013 |
Elliott Hughes <enh@google.com> |
Expose wait4 as wait4 rather than __wait4. This helps strace(1) compile with one fewer hack. Change-Id: I5296d0cfec5546709cda990abd705ad33d7c4626
yscalls.mk
yscalls/__wait4.S
yscalls/wait4.S
|
ec706c24acb4d1db6a583a57b76adfb9250d39eb |
13-Mar-2013 |
Elliott Hughes <enh@google.com> |
Merge "Use the kernel's MAX_ERRNO in the syscall stubs."
|
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
yscalls/__brk.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__setresuid.S
yscalls/__setreuid.S
yscalls/__setuid.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__sys_clone.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__wait4.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/lgetxattr.S
yscalls/link.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe.S
yscalls/pipe2.S
yscalls/poll.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/symlink.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/utimes.S
yscalls/write.S
yscalls/writev.S
|
04954a43b362b8c817cc5859513efad0c344f412 |
26-Feb-2013 |
Christopher Ferris <cferris@google.com> |
Break bionic implementations into arch versions. Move arch specific code for arm, mips, x86 into separate makefiles. In addition, add different arm cpu versions of memcpy/memset. Bug: 8005082 Merge from internal master (acdde8c1cf8e8beed98c052757d96695b820b50c). Change-Id: I04f3d0715104fab618e1abf7cf8f7eec9bec79df
86.mk
|
538f6fc202b07219ce78de54c0e05ab81e937154 |
22-Feb-2013 |
Elliott Hughes <enh@google.com> |
Stop advertising rindex(3), which is both deprecated and unimplemented. Change-Id: I3c775d9974e49c3f76a53e46e022659657b89034
tring/rindex.S
tring/strrchr.S
|
11ebbc8437af208f64861b7531502ff0eeb30e03 |
22-Feb-2013 |
Nick Kralevich <nnk@google.com> |
libc: remove bcmp prototype AFAIK, bionic only ever provided an implementation of bcmp for x86, and even then, the code was never actually compiled. Remove the prototype. bcmp() has been obsoleted and replaced by memcmp() Change-Id: I549d02ab6a9241a9acbbbfade0d98a9a02c2eaee
tring/bcmp.S
|
40eabe24e4e3ae8ebe437f1f4e43cf39cbba2e9e |
15-Feb-2013 |
Elliott Hughes <enh@google.com> |
Fix the pthread_setname_np test. Fix the pthread_setname_np test to take into account that emulator kernels are so old that they don't support setting the name of other threads. The CLONE_DETACHED thread is obsolete since 2.5 kernels. Rename kernel_id to tid. Fix the signature of __pthread_clone. Clean up the clone and pthread_setname_np implementations slightly. Change-Id: I16c2ff8845b67530544bbda9aa6618058603066d
ionic/clone.S
|
d2547040a13fe1bce31a60df35d4953c596a3db0 |
14-Feb-2013 |
Elliott Hughes <enh@google.com> |
ffs was not being built for x86. Change-Id: I53e92273664a4d0a13536c2fa1aeb87e1f3cf4e8
tring/ffs.S
tring/fss.S
|
6719500dbd9330d7539d2db3dcf3e8ad1858c7aa |
14-Feb-2013 |
Elliott Hughes <enh@google.com> |
Add a bunch more missing ENDs to assembler routines. This isn't everything; I've missed out those x86 files that are Change-Id: Idb7bb1a68796d6c0b70ea2b5c3300e49da6c62d2
ionic/_setjmp.S
ionic/futex_x86.S
ionic/setjmp.S
ionic/sigsetjmp.S
tring/bcmp.S
tring/bzero.S
tring/fss.S
tring/memchr.S
tring/memcmp.S
tring/memset.S
tring/strcat.S
tring/strcmp.S
tring/strcpy.S
tring/strlen.S
tring/strncmp.S
tring/swab.S
|
b6032515a058fb02c8c4152c9f055bb3bd462ae2 |
13-Feb-2013 |
Elliott Hughes <enh@google.com> |
Fix __pthread_clone and __bionic_clone error handling on x86. Bug: 3461078 Change-Id: I93c151e27411211dd32717f206745c62c08c21ee
ionic/clone.S
|
bdff26df2749d8d66e5d4eb5a2ecf4a9ff50fad2 |
12-Feb-2013 |
Elliott Hughes <enh@google.com> |
Use ENTRY/END in custom x86 assembler too. Change-Id: Ic2e482e5daff29c65d3b2ab0b2111c996bbc6226
ionic/__get_sp.S
ionic/_exit_with_stack_teardown.S
ionic/clone.S
ionic/futex_x86.S
ionic/syscall.S
ionic/vfork.S
|
5e3fc43ddeada547a155c6f561a12ff0b16e02d3 |
12-Feb-2013 |
Elliott Hughes <enh@google.com> |
Fix __pthread_clone on ARM to set errno on failure. MIPS and x86 appear to have been correct already. (Also fix unit tests that ASSERT_EQ with errno so that the arguments are in the retarded junit order.) Bug: 3461078 Change-Id: I2418ea98927b56e15b4ba9cfec97f5e7094c6291
ionic/clone.S
|
646e058136d59671d5d32d93bedbb71004a9ce73 |
07-Feb-2013 |
Elliott Hughes <enh@google.com> |
Fix x86 build, remove void* arithmetic. Change-Id: Idc7f14af2e094ac33de315e808176237af063bb8
ionic/crtbegin.c
|
2f41531ff9f48dbdaf2ba711e14c669031728e99 |
07-Feb-2013 |
Elliott Hughes <enh@google.com> |
Merge "Clean up the argc/argv/envp/auxv handling."
|
42b2c6a5eed5e4ef35315b8cd32d1355f12a69b6 |
07-Feb-2013 |
Elliott Hughes <enh@google.com> |
Clean up the argc/argv/envp/auxv handling. There's now only one place where we deal with this stuff, it only needs to be parsed once by the dynamic linker (rather than by each recipient), and it's now easier for us to get hold of auxv data early on. Change-Id: I6314224257c736547aac2e2a650e66f2ea53bef5
ionic/crtbegin.c
|
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
nclude/machine/asm.h
yscalls/__brk.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__fstatfs64.S
yscalls/__getcpu.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__sched_getaffinity.S
yscalls/__set_thread_area.S
yscalls/__setresuid.S
yscalls/__setreuid.S
yscalls/__setuid.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__sys_clone.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__wait4.S
yscalls/__waitid.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/eventfd.S
yscalls/execve.S
yscalls/faccessat.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/fdatasync.S
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/flock.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/ftruncate64.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsid.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/getxattr.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/ioprio_get.S
yscalls/ioprio_set.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/lgetxattr.S
yscalls/link.S
yscalls/listen.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lseek.S
yscalls/lsetxattr.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mlockall.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munlockall.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/perf_event_open.S
yscalls/personality.S
yscalls/pipe.S
yscalls/pipe2.S
yscalls/poll.S
yscalls/prctl.S
yscalls/pread64.S
yscalls/pwrite64.S
yscalls/read.S
yscalls/readahead.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/removexattr.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setaffinity.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setxattr.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigaltstack.S
yscalls/signalfd4.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/symlink.S
yscalls/sync.S
yscalls/sysinfo.S
yscalls/tgkill.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/unshare.S
yscalls/utimensat.S
yscalls/utimes.S
yscalls/write.S
yscalls/writev.S
|
a0ee07829a9ba7e99ef68e8c12551301cc797f0f |
31-Jan-2013 |
Elliott Hughes <enh@google.com> |
Upgrade libm. This brings us up to date with FreeBSD HEAD, fixes various bugs, unifies the set of functions we support on ARM, MIPS, and x86, fixes "long double", adds ISO C99 support, and adds basic unit tests. It turns out that our "long double" functions have always been broken for non-normal numbers. This patch fixes that by not using the upstream implementations and just forwarding to the regular "double" implementation instead (since "long double" on Android is just "double" anyway, which is what BSD doesn't support). All the tests pass on ARM, MIPS, and x86, plus glibc on x86-64. Bug: 3169850 Bug: 8012787 Bug: https://code.google.com/p/android/issues/detail?id=6697 Change-Id: If0c343030959c24bfc50d4d21c9530052c581837
nclude/machine/_types.h
|
a6a3ac59243d8c95c94c3069e9332051f785c05f |
30-Jan-2013 |
Elliott Hughes <enh@google.com> |
Use the NetBSD <sys/exec_elf.h>. Replace a kernel header file dependency with files from NetBSD. They're more complete, and ELF is ELF, whether you're on Linux or a BSD. Bug: 7973611 Change-Id: I83ee719e7efdf432ec2ddbe8be271d05b2f558d7
nclude/machine/elf_machdep.h
|
a4b2dc016fa62bd172a73c3f8971c805700ffb0f |
10-Jan-2013 |
Rom Lemarchand <romlem@google.com> |
Add signalfd call to bionic Add signalfd() call to bionic. Adding the signalfd call was done in 3 steps: - add signalfd4 system call (function name and syscall number) to libc/SYSCALLS.TXT - generate all necessary headers by calling libc/tools/gensyscalls.py. This patch is adding the generated files since the build system does not call gensyscalls.py. - create the signalfd wrapper in signalfd.cpp and add the function prototype to sys/signalfd.h (cherry-pick of 0c11611c11f4dc1b6d43587b72c3ccbe8c51a51c, modified to work with older versions of GCC still in use on some branches.) Change-Id: I4c6c3f12199559af8be63f93a5336851b7e63355
yscalls.mk
yscalls/signalfd4.S
|
4fa35d8ae80c175425e9525831d7b6a71a3ada60 |
12-Dec-2012 |
Elliott Hughes <enh@google.com> |
Fix <endian.h> and <sys/endian.h>. Previously we'd been relying on getting the machine-specific <endian.h> instead of the top-level <endian.h>, and <sys/endian.h> was basically broken. Now, with this patch and the previous patch we should have <endian.h> and <sys/endian.h> behaving the same. This is basically how NetBSD's endian.h works, and was probably how ours was originally intended to work. Bug: http://code.google.com/p/android/issues/detail?id=39824 Change-Id: I71de5a507e633de166013a658b5764df9e1aa09c
nclude/endian.h
nclude/machine/endian.h
|
97b70b2bda47af46adf58dfde61050357114aa1f |
30-Nov-2012 |
Elliott Hughes <enh@google.com> |
Merge "Replace .S version of x86 crtfiles with .c version"
|
20c4a3a8eee5ca8c87ae377732f541baffce1fda |
28-Nov-2012 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Replace .S version of x86 crtfiles with .c version This patch replaces .S versions of x86 crtfiles with .c which are much easier to support. Some of the files are matching .c version of Arm crtfiles. x86 files required some cleanup anyway and this cleanup actually led to matching Arm files. I didn't change anything to share the same crt*.c between x86 and Arm. I prefer to keep them separate for a while in case any change is required for one of the arch, but it's good thing to do in the following patches. Change-Id: Ibcf033f8d15aa5b10c05c879fd4b79a64dfc70f3 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
ionic/__dso_handle.S
ionic/__dso_handle_so.S
ionic/__stack_chk_fail_local.S
ionic/__stack_chk_fail_local.h
ionic/atexit.S
ionic/atexit.h
ionic/crtbegin.S
ionic/crtbegin.c
ionic/crtbegin_so.S
ionic/crtbegin_so.c
|
3975cec694a0c9b42e3f7e671fcd678da92836c3 |
30-Nov-2012 |
Elliott Hughes <enh@google.com> |
Remove (near-)duplicate definitions of size_t and ssize_t. The near duplicates upset fussier compilers that insist that typedefs be exactly the same, but the fix isn't to make all copies identical... Change-Id: Icfdace41726f36ec33c9ae919dbb5a54d3529cc9
nclude/machine/_types.h
|
b15c58bb0fe55f076751acd7a5d00ded0ec33963 |
27-Nov-2012 |
Elliott Hughes <enh@google.com> |
Clean up _BYTE_ORDER definitions for better x86 portability. We'd manually hacked _BYTE_ORDER into the arm and mips "_types.h" headers, but not into the x86 one. Judging by upstream, _BYTE_ORDER should be in the "endian.h" headers instead, so let's uniformly do that. I've also ironed out some of the other differences between the different architectures' header files too. Bug: http://code.google.com/p/android/issues/detail?id=39824 Change-Id: I19d3af7ffd74e1c02b1b6886aec0f0d11f44ab8d
nclude/endian.h
|
c1b44ecc5385e68e81667068e03b32c2084a85b1 |
17-Oct-2012 |
David 'Digit' Turner <digit@android.com> |
Revert "libc: Provide ucontext_t/mcontext_t/<sys/ucontext.h>" This creates build issues in the internal Android tree. Will investigate later. Original patch: https://android-review.googlesource.com/#/c/38875/ Change-Id: I12c5995ebf172890051af42a5d3b31014c9c5117
nclude/machine/signal.h
nclude/machine/ucontext.h
|
c124baaf29a948fd8b93e7f1fefc20b659271026 |
12-Jul-2012 |
David 'Digit' Turner <digit@android.com> |
libc: Provide ucontext_t/mcontext_t/<sys/ucontext.h> This patch updates the C library headers to provide ucontext_t definitions for three architectures. + Fix <signal.h> to always define 'struct sigcontext'. The new declarations are announced with new macros defined in <sys/cdefs.h> in order to make it easier to adapt client code that already defines its own, incompatible, versions of the structures seen here. http://code.google.com/p/android/issues/detail?id=34784 Change-Id: Ie78c48690a4ce61c50593f6c39639be7fead3596
nclude/machine/signal.h
nclude/machine/ucontext.h
|
1ad05db9cef23c1ca28ffd51852fa2a0b0c9b4b7 |
06-Sep-2012 |
Elliott Hughes <enh@google.com> |
Add mlockall and munlockall for Google TV. Change-Id: I10e961d701e74aab07211ec7975f61167e387853
yscalls.mk
yscalls/mlockall.S
yscalls/munlockall.S
|
1ad10a566e042676c95a0bdbf3cbc48e99ddafb2 |
29-Aug-2012 |
Irina Tirdea <irina.tirdea@intel.com> |
Add getsid system call to bionic Add getsid() system call to bionic for all architectures. This is needed for various tools (e.g. perf). Adding the getsid system call was done in 3 steps: () add getsid system call (function name and syscall number) to libc/SYSCALLS.TXT () generate all necessary headers by calling libc/tools/gensyscalls.py. This patch is adding the generated files since the build system does not call gensyscalls.py. () add the system call signature to libc/include/unistd.h Change-Id: Id69a257e13ec02e1a44085a6b217a3f19ab025b1 Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
yscalls.mk
yscalls/getsid.S
|
c0b4d18d7d23981c1afa6a98ded011849a3c2fe2 |
29-Jun-2012 |
Kevin Schoedel <kevin.p.schoedel@intel.com> |
Use unambiguous mnemonics Change-Id: I8da0af54cc3cbf69d9e485eb71bc44a6976b1adc Author: Kevin P Schoedel <kevin.p.schoedel@intel.com> Reviewed-by: Edwin Vane <edwin.vane@intel.com>
tring/ssse3-strcmp-latest.S
|
22d366cc09383956dc264ed4641572e609392eee |
08-Aug-2012 |
Jin Wei <wei.a.jin@intel.com> |
enable clone system call for x86 Add __bionic_clone function for x86, which will be used for clone system call. Change-Id: I889dc9bf4b7ebb4358476e17e6f3233e26491f4d Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com> Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 51414
ionic/clone.S
|
e36c826f7a6580227e9e70f6ec70aa88ba0f577e |
10-Aug-2012 |
Jeff Sharkey <jsharkey@android.com> |
Add unshare() syscall. (cherry-pick of 5467f25f82934d611c60f8bc57a05114f3c1bea0.) Bug: 6925012 Change-Id: Ic5ea2fbd606311087de05d7a3594df2fa9b2fef9
yscalls.mk
yscalls/unshare.S
|
7c92b6ca409f514e7ff67ac8c10d73ce92ff38d2 |
06-Aug-2012 |
Elliott Hughes <enh@google.com> |
Merge "Remove an awkward #include that is no longer upstream."
|
c164f2a9694fa8c373ec72d237ee16b412aa5c53 |
12-Apr-2012 |
Jin Wei <wei.a.jin@intel.com> |
bionic: modify syscall to use 6 registers to pass parameter. Kernel allows to use 6 registers(exclude eax) to pass parameter. But in syscall's implementation, it only uses five registers. It will lead to error when 6 parameters passed. Change-Id: I92d663194e6334c3847f0c0c257ca3b9dee0edef Author: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com> Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 30838
ionic/syscall.S
|
bdcc14d721ddff57f9f71086a998feda05376b61 |
03-Aug-2012 |
Elliott Hughes <enh@google.com> |
Remove an awkward #include that is no longer upstream. This was causing trouble in https://android-review.googlesource.com/#/c/37590/. Change-Id: Ib7cb4fbaef6e9c1470c59f67d24bd24c7ce90bcc
nclude/machine/_types.h
|
405b8029a6888f386adf3512113a33546141d1c8 |
26-Jul-2012 |
Raghu Gandham <raghu@mips.com> |
MIPS support for libc. Change-Id: I2864dea04b3faf2d919165dcaa600af5b16c41c8 Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Raghu Gandham <raghu@mips.com>
ionic/dl_iterate_phdr_static.c
|
9d40326830c2bd407427889c554adeb915ee6b4a |
31-May-2012 |
Nick Kralevich <nnk@google.com> |
arm: rewrite crtbegin* as C files. Rewrite crtbegin.S -> crtbegin.c crtbegin_so.S -> crtbegin_so.c This change allows us to generate PIC code without relying on text relocations. As a consequence of this rewrite, also rewrite __dso_handle.S -> __dso_handle.c __dso_handle_so.S -> __dso_handle_so.c atexit.S -> atexit.c In crtbegin.c _start, place the __PREINIT_ARRAY__, __INIT_ARRAY__, __FINI_ARRAY__, and __CTOR_LIST__ variables onto the stack, instead of passing a pointer to the text section of the binary. This change appears sorta wonky, as I attempted to preserve, as much as possible, the structure of the original assembly. As a result, you have C files including other C files, and other programming uglyness. Result: This change reduces the number of files with text-relocations from 315 to 19 on my Android build. Before: $ scanelf -aR $OUT/system | grep TEXTREL | wc -l 315 After: $ scanelf -aR $OUT/system | grep TEXTREL | wc -l 19 Change-Id: Ib9f98107c0eeabcb606e1ddc7ed7fc4eba01c9c4
ionic/__dso_handle.S
ionic/__dso_handle_so.S
|
83a73d1afe972014f6c8ff2520fe6d3357421f87 |
30-May-2012 |
Nick Kralevich <nnk@google.com> |
crtbegin: eliminate duplicate code crtbegin_dynamic and crtbegin_static are essentially identical, minus a few trivial differences (comments and whitespace). Eliminate duplicates. Change-Id: Ic9fae6bc9695004974493b53bfc07cd3bb904480
ionic/crtbegin.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_static.S
|
f2f7bf76dfd1d6014ed3baa1e27b221388e70a09 |
11-May-2012 |
Elliott Hughes <enh@google.com> |
am 4f05d1c7: Merge "bionic/x86: Optimization for memcpy" * commit '4f05d1c758ba141c617f25251a661ecb66627e9e': bionic/x86: Optimization for memcpy
|
c47703a521abab120100673d5281f71bc8ba9a49 |
13-Feb-2012 |
Jack Ren <jack.ren@intel.com> |
bionic/x86: Optimization for memcpy Signed-off-by: Liubov Dmitrieva <liubov.dmitrieva@intel.com> Signed-off-by: H.J. Lu <hongjiu.lu@intel.com> Signed-off-by: Wei A Jin <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Conflicts: libc/arch-x86/string/ssse3-memcpy5.S Change-Id: I41e70d1d19d5457e65c89b64da452fbdaf3a00a7
tring/ssse3-memcpy5.S
|
5982e33aca9dde3ba7b2487c4866e52c667485fa |
12-Nov-2011 |
Nick Kralevich <nnk@google.com> |
Cherry-pick "generate PIC code". Change-Id: I7d5f2e5663df263493f65e364c959e663fc4d13a
tring/sse2-memset5-atom.S
tring/ssse3-memcpy5.S
|
f848321c4feb0a8b194a2148c3a9d6d65280f924 |
16-Apr-2012 |
Elliott Hughes <enh@google.com> |
resolved conflicts for merge of ef987656 to master Change-Id: I3854de8f4cddaf344444efa6f9da027642a237d9
|
8ecb4770a0a046e753e16d51d31371b827d20cf1 |
16-Apr-2012 |
Elliott Hughes <enh@google.com> |
resolved conflicts for merge of 6b8fd054 to master Change-Id: Ifc5a10d9c2f7764ad80d64cc552aad81d5fbf5eb
|
4994deaef51d5fa1ac12e6160b47d9cbe3b2bc43 |
16-Apr-2012 |
Elliott Hughes <enh@google.com> |
Merge "Bionic: Fix wrong prototype of system call clock_nanosleep"
|
d515ce465be909d830a39462c3f196b5d7f35c66 |
17-Apr-2012 |
Jack Ren <jack.ren@intel.com> |
Bionic: Fix wrong prototype of system call clock_nanosleep In bionic/libc/SYSCALLS.TXT, the prototype of system call clock_nanosleep is incorrect. According to man page: int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain); Change-Id: Ic44c6db3d632293aa17998035554eacd664c2d57 Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
yscalls/clock_nanosleep.S
|
41070dd15f2c5916dfc96da4c256dd04d7f9c837 |
17-Apr-2012 |
Jack Ren <jack.ren@intel.com> |
bionic: Fix wrong prototype of system call getresuid/getresgid In bionic/libc/SYSCALLS.TXT, the prototypes of system call getresuid/getresgid are incorrect. According to man page, they should be: int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); Change-Id: I676098868bb05a9e1fe45419b234cf397626fdad Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
yscalls/getresgid.S
yscalls/getresuid.S
|
f0ec06ba609a15cf9343aabd5b2486f9a8af9adb |
13-Apr-2012 |
Kenny Root <kroot@google.com> |
Add faccessat to syscall list Change-Id: I427a18811089cb280769ac8da3ed8adc00a65a10
yscalls.mk
yscalls/faccessat.S
|
4e362f230b36596650feaa305bdf5f6af7b634f8 |
31-Mar-2012 |
Elliott Hughes <enh@google.com> |
am cd834618: am 63b14755: Merge "libc/x86: ensure the stack 16-byte aligned when tasks created" * commit 'cd834618c4752b61d54ff4005a8baa8219b822e4': libc/x86: ensure the stack 16-byte aligned when tasks created
|
63b14755512d515762cbe3ad8544c561a576f32e |
30-Mar-2012 |
Elliott Hughes <enh@google.com> |
Merge "libc/x86: ensure the stack 16-byte aligned when tasks created"
|
cb08204053a285951b1907ef14a832f16a1a4679 |
21-Mar-2012 |
Jack Ren <jack.ren@intel.com> |
libc/x86: ensure the stack 16-byte aligned when tasks created Currently Renderscript sample code RsBalls crashed on x86 when SSE2 enabled. The root cause is that the stack was not 16-byte aligned from the beginning when the processes/threads were created, so the RsBalls crashed when SSE2 instructions tried to access the variables on the stack. - For the thread created by fork(): Its stack alignment is determined by crtbegin_{dynamic, static}.S - For the thread created by pthread_create(): Its stack alignment is determined by clone.S. __thread_entry( ) is a standard C function. In order to have its stack be aligned with 16 byte properly, __thread_entry() needs the stack with following layout when it is called: layout #1 (correct) -------------- | | -------------- <--ESP (ECX - 20) | ret EIP | -------------- <--ECX - 16 | arg0 | -------------- <--ECX - 12 | arg1 | -------------- <--ECX - 8 | arg2 | -------------- <--ECX - 4 | unused | -------------- <--ECX (16-byte boundary) But it has following layout for now: layout #2: (incorrect) -------------- | | -------------- <--ESP (ECX - 16) | unused | -------------- <--ECX - 12 | arg0 | -------------- <--ECX - 8 | arg1 | -------------- <--ECX - 4 | arg2 | -------------- <--ECX (16-byte boundary) Fixed in this patch. Change-Id: Ibe01f64db14be14033c505d854c73033556ddaa8 Signed-off-by: Michael Liao <michael.liao@intel.com> Signed-off-by: H.J. Lu <hongjiu.lu@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/clone.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_static.S
|
1a823691a21519014daf252691a314f0726d7c3a |
13-Mar-2012 |
Ben Cheng <bccheng@google.com> |
Update kernel headers and add syscall "perf_event_open" Change-Id: I43f12b727881df002a8524f2738586c043833bae
yscalls.mk
yscalls/perf_event_open.S
|
7dbbfac0fc7bbca072885185bf9bbee9e2e40e63 |
23-Feb-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am 5d8fd2a0: am a71aefc6: am d041bf20: Merge "bionic/x86: fix one potential deadlock in __set_tls()" * commit '5d8fd2a0bc059cd07405a372c98617829f8ac378': bionic/x86: fix one potential deadlock in __set_tls()
|
a71aefc66f6d4bf1302e0ce5c321aff1a2c769d1 |
23-Feb-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am d041bf20: Merge "bionic/x86: fix one potential deadlock in __set_tls()" * commit 'd041bf2095f5f133c87f7ba632a8dfb39537a437': bionic/x86: fix one potential deadlock in __set_tls()
|
c5393b23f6b7837d3b775e447573180fac4923fc |
15-Dec-2011 |
Jin Wei <wei.a.jin@intel.com> |
bionic/x86: fix one potential deadlock in __set_tls() Fix bug: Currently the mutex lock _tls_desc_lock is not released when __set_thread_area() fails. That will leads to the deadlock when __set_tls( ) is called later on. Change-Id: Iea3267cb0659971cba7766cbc3346f6924274f86 Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/__set_tls.c
|
d6b58b03b8e046e0bd46d6d7e57290dcabe48860 |
13-Feb-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am 09049311: am cfff36df: am a60ff6c5: Merge "libc: Define new symbol visibility macros" * commit '09049311a229c427f73e3e0ac873bf344b45aaf2': libc: Define new symbol visibility macros
|
cfff36df2bebd95f2663b7b053c6308593c343dd |
13-Feb-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am a60ff6c5: Merge "libc: Define new symbol visibility macros" * commit 'a60ff6c5b2ca76181b387d8c10aee22a2cbcf840': libc: Define new symbol visibility macros
|
5fbf2e09921723cfdea75e83c1fac2080f0ad564 |
23-Jan-2012 |
David 'Digit' Turner <digit@android.com> |
libc: Define new symbol visibility macros This patch defines a few new macros that can be used to control the visibility of symbols exported by the C library: - ENTRY_PRIVATE() can be used in assembly sources to indicate that an assembler function should have "hidden" visibility, i.e. will never be exported by the C library's shared library. This is the equivalent of using __LIBC_HIDDEN__ for a C function, but ENTRY_PRIVATE() works like ENTRY(), and must be used with END() to tag the end of the function. - __LIBC_ABI_PUBLIC__ can be used to tag a C functions as being part of the C library's public ABI. This is important for a few functions that must be exposed by the NDK to maintain binary compatibility. Once a symbol has been tagged with this macro, it shall *never* be removed from the library, even if it becomes directly unused due to implementation changes (e.g. __is_threaded). - __LIBC_ABI_PRIVATE__ can be used for C functions that should always be exported by the C library because they are used by other libraries in the platform, but should not be exposed by the NDK. It is possible to remove such symbols from the implementation if all callers are also modified. + Add missing END() assembly macro for x86 Change-Id: Ia96236ea0dbec41d57bea634b39d246b30e5e234
nclude/machine/asm.h
|
73fa5fdaf9ec27741a17b0b793ff6890e6dcecd5 |
21-Jan-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge 2f80f07d Change-Id: Iff51b8530dbee01499ba4af0ecd6ab837c8c94fb
|
2f80f07d8106782ac94b05f529c8cbb1fd1c6f64 |
20-Jan-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am 23f56bbb: Merge "Add extended attribute (xattr) system call wrappers to bionic." * commit '23f56bbb6ae053996dd821f29379aea0c7166055': Add extended attribute (xattr) system call wrappers to bionic.
|
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
yscalls.mk
yscalls/fgetxattr.S
yscalls/flistxattr.S
yscalls/fremovexattr.S
yscalls/fsetxattr.S
yscalls/getxattr.S
yscalls/lgetxattr.S
yscalls/listxattr.S
yscalls/llistxattr.S
yscalls/lremovexattr.S
yscalls/lsetxattr.S
yscalls/removexattr.S
yscalls/setxattr.S
|
023e5409df07a5d5ead6efb1825f6df92bcf50da |
17-Jan-2012 |
Nick Kralevich <nnk@google.com> |
am 06f51ba1: am f44de270: add personality() system call. * commit '06f51ba1af2fafeec7fdfcba5d635bd001a31b3e': add personality() system call.
|
06f51ba1af2fafeec7fdfcba5d635bd001a31b3e |
17-Jan-2012 |
Nick Kralevich <nnk@google.com> |
am f44de270: add personality() system call. * commit 'f44de270bba32c9b1b5eff8a34be07b10ddff238': add personality() system call.
|
f44de270bba32c9b1b5eff8a34be07b10ddff238 |
13-Jan-2012 |
Nick Kralevich <nnk@google.com> |
add personality() system call. Change-Id: Ie899def8ea1d705930ed83adae1343c1353e7c57
yscalls.mk
yscalls/personality.S
|
6519c8124ee9f2b1ed341cc683b78cf26809678d |
04-Jan-2012 |
Bruce Beare <bruce.j.beare@intel.com> |
am e30e9093: sreadahead: adding readahead system call into bionic libc * commit 'e30e909363c5c706f394050d9cd00ce222caadbf': sreadahead: adding readahead system call into bionic libc
|
e30e909363c5c706f394050d9cd00ce222caadbf |
13-Jul-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
sreadahead: adding readahead system call into bionic libc Add bionic libc to support readahead system call. This is needed to enable sreadahead to work. Change-Id: I3856e1a3833db82e6cf42fd34af7631bd40cc723 Author: Winson Yung <winson.w.yung@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
yscalls.mk
yscalls/readahead.S
|
bec5dec947b1ad097c200888365a3ec61f9e7a28 |
30-Nov-2011 |
Jack Ren <jack.ren@intel.com> |
am 0c3d21e6: am e480fc83: bionic: fix pthread_{create, exit}/signal race condition * commit '0c3d21e63c6e75ae73aaf2b8d64af0bd8caa6beb': bionic: fix pthread_{create, exit}/signal race condition
|
338a06f4bcb12c4418e66a6c3210a236259c1bf8 |
30-Nov-2011 |
Jack Ren <jack.ren@intel.com> |
am 621df526: am 31e72bc3: bionic: fix __get_tls( ) crash issue * commit '621df52644cc19001688c0964ad425c5ed6c8990': bionic: fix __get_tls( ) crash issue
|
e480fc83b2887388d469eb3bf58c86c610f5b082 |
21-Sep-2011 |
Jack Ren <jack.ren@intel.com> |
bionic: fix pthread_{create, exit}/signal race condition (1) in pthread_create: If the one signal is received before esp is subtracted by 16 and __thread_entry( ) is called, the stack will be cleared by kernel when it tries to contruct the signal stack frame. That will cause that __thread_entry will get a wrong tls pointer from the stack which leads to the segment fault when trying to access tls content. (2) in pthread_exit After pthread_exit called system call unmap(), its stack will be freed. If one signal is received at that time, there is no stack available for it. Fixed by subtracting the child's esp by 16 before the clone system call and by blocking signal handling before pthread_exit is started. Author: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/clone.S
|
31e72bc3289acdd85b0b745fbf64c5949ca33432 |
01-Aug-2011 |
Jack Ren <jack.ren@intel.com> |
bionic: fix __get_tls( ) crash issue When running the stress test of pthread create/destroy, a crash may oocur in __get_tls(). That is caused by the race condition with __set_tls( ): Author: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/__set_tls.c
|
de44d0b2bd32a2c2cc5e2ffb64f8356efd893bca |
22-Nov-2011 |
David 'Digit' Turner <digit@google.com> |
Merge "libc: provide atomic operations will full barriers for NDK apps."
|
10c8ce59a40a1d8ae8f49145eca365b364aabe58 |
19-Nov-2011 |
Jeff Brown <jeffbrown@google.com> |
Add tgkill syscall. Use tgkill instead of tkill to implement pthread_kill. This is safer in the event that the thread has already terminated and its id has been reused by a different process. Change-Id: Ied715e11d7eadeceead79f33db5e2b5722954ac9
yscalls.mk
yscalls/tgkill.S
|
0fec6b9d88ee5a9e359b2208038f9806c0804538 |
16-Nov-2011 |
David 'Digit' Turner <digit@google.com> |
libc: provide atomic operations will full barriers for NDK apps. __atomic_cmpxchg and other related atomic operations did not provide memory barriers, which can be a problem for non-platform code that links against them when it runs on multi-core devices. This patch does two things to fix this: - It modifies the existing implementation of the functions that are exported by the C library to always provide full memory barriers. We need to keep them exported by the C library to prevent breaking existing application machine code. - It also modifies <sys/atomics.h> to only export always-inlined versions of the functions, to ensure that any application code compiled against the new header will not rely on the platform version of the functions. This ensure that said machine code will run properly on all multi-core devices. This is based on the GCC built-in sync primitives. The end result should be only slightly slower than the previous implementation. Note that the platform code does not use these functions at all. A previous patch completely removed their usage in the pthread and libstdc++ code. + rename arch-arm/bionic/atomics_arm.S to futex_arm.S + rename arch-x86/bionic/atomics_x86.S to futex_x86.S + remove arch-x86/include/sys/atomics.h which already provided inlined functions to the x86 platform. Change-Id: I752a594475090cf37fa926bb38209c2175dda539
ionic/atomics_x86.S
ionic/futex_x86.S
nclude/sys/atomics.h
|
0aa8289c6fddda6502fa97c8789341f1462c4224 |
12-Nov-2011 |
Nick Kralevich <nnk@google.com> |
generate PIC code. Change-Id: I6740c30e2782ae203aa7ddaeaf3b233e90de9c4d
tring/sse2-memset5-atom.S
tring/ssse3-memcpy5.S
|
3dc94305e4eb243747248b43954c499ddc96638d |
05-Aug-2011 |
David Turner <digit@android.com> |
am 17a40ffb: am c57fd963: Merge "NDK: x86 header file has incorrect definition for ptrdiff_t" * commit '17a40ffbf0e12ee44a024a9bb37434388478b478': NDK: x86 header file has incorrect definition for ptrdiff_t
|
c57fd963817afa8894af49d6c98a80d8f9100937 |
05-Aug-2011 |
David Turner <digit@android.com> |
Merge "NDK: x86 header file has incorrect definition for ptrdiff_t"
|
c3c0e88beda2abee4380237bbc7aa95da588c00d |
05-Aug-2011 |
Mark D Horn <mark.d.horn@intel.com> |
NDK: x86 header file has incorrect definition for ptrdiff_t See Bug http://code.google.com/p/android/issues/detail?id=19042 Change-Id: I8e975930e7f8c3c437ecdffbc6f6bc5028937829 Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
nclude/machine/_types.h
|
951e8381916464243c7601fdb41e941811aa3773 |
05-Aug-2011 |
David Turner <digit@android.com> |
am 3906a9c1: am f5aa1382: Merge "x86 libc: Fix the range to check the error" * commit '3906a9c16b971c2689e1b8ae5455feec8cf7353c': x86 libc: Fix the range to check the error
|
f5aa1382ec7592c58827ed0822c77cb5bf8df165 |
05-Aug-2011 |
David Turner <digit@android.com> |
Merge "x86 libc: Fix the range to check the error"
|
a64990f3f25c45fcfe79b9b71cf54d7045af0e4f |
04-Aug-2011 |
David 'Digit' Turner <digit@android.com> |
am f03fb955: am 023c4988: Merge "libc: x86: Fixed size_t definition." * commit 'f03fb955a92bdcc341aaa1b4a6eb2d81bc844e06': libc: x86: Fixed size_t definition.
|
d265046dcc4e081bd5fc9e6eb3f38c42ab07920e |
04-Aug-2011 |
David 'Digit' Turner <digit@android.com> |
libc: x86: Fixed size_t definition. This patch changes the declaration of size_t on x86 targets to test for the __ANDROID__ macro, instead of ANDROID __ANDROID__ should be a builting toolchain macro, while ANDROID is usually added manually during the build. Testing against __ANDROID__ allows us to use the header when using the NDK's standalone x86 toolchain. This is related to http://code.google.com/p/android/issues/detail?id=19011 The bug was already fixed in the NDK platform headers, this simply updates the C library one accordingly. Change-Id: Ie038c4c8b37b7d24e2e4ae4d7a63371b69c9a51e
nclude/machine/_types.h
|
b489666086265eb756f11fd224137c7e3a03a707 |
23-Jun-2011 |
David Turner <digit@android.com> |
am 1c0a0381: Merge "Enable functional DSO object destruction" * commit '1c0a0381dfb3648ffadef9537ec9383d63d62473': Enable functional DSO object destruction
|
39640842823ba4cd42bd11514c0da39aa939519f |
20-Jun-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
Enable functional DSO object destruction Unfortunately, legacy .so files for ARM don't have a correct crtbegin file. Consequently, we have to grandfather the old __dso_handle behaviour. Add some ifdefs for ARM to allow it to use the old code until we can work out a transition. Change-Id: I6a28f368267d792c94e1d985d8344023bc632f6f Author: H.J. Lu <hongjiu.lu@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/atexit.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
|
5288fee835a6e52d7870b3ee3320a5a3ddb96f34 |
17-Jun-2011 |
Jun Nakajima <jun.nakajima@intel.com> |
x86 libc: Fix the range to check the error The spec says "A value in the range between -4095 to -1 indicates an error" (not -129). This was pointed out in the comment in 22039. Change-Id: I11b7c45015a9e4ccf09aed5364a889437eab6ab8 Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
ionic/syscall.S
|
204d1f65dbfc6d5a14a90627d9d1efcfce8261ee |
06-Jun-2011 |
David Turner <digit@android.com> |
am b2c7e0c1: Merge "x86: Enable -fstack-protector" * commit 'b2c7e0c18b7ab04cfe306277c79165de0612a2d1': x86: Enable -fstack-protector
|
a57270b6ab2978764920ade17448f94875249001 |
06-Jun-2011 |
David Turner <digit@android.com> |
am 56baceca: Merge "Update X86 Bionic CRT files for unwind/exceptions" * commit '56baceca024f1cc2a5e8ef8c5e7ba7ea463d1ae2': Update X86 Bionic CRT files for unwind/exceptions
|
e0b4844a20ffd022a568abb4203b3f7c759c7ff5 |
04-May-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: Enable -fstack-protector Change-Id: Ib69514c3afcb4c1f5e5f3f8cd91acfd145a0866c Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/__stack_chk_fail_local.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
|
dc3bc87b43d0d73d89cca59692b80de878e11a5d |
26-Apr-2011 |
Mark D Horn <mark.d.horn@intel.com> |
Update X86 Bionic CRT files for unwind/exceptions Several updates to Bionic crt*.o files to implement Linux/x86 stack unwind/exception handling. Mark __dso_handle as hidden. Note: Requires complete rebuild due to CRT changes. Google will need to regenerate and check-in all the prebuilt x86 CRT object files and libraries which link to them. Change-Id: I191ce1afb0dee7bbc28dcd9694e5919226dbd070 Signed-off-by: Bruce J Beare <bruce.j.beare@intel.com> Signed-off-by: Mark D Horn <mark.d.horn@intel.com> Author: Lu, Hongjiu <hongjiu.lu@intel.com>
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
ionic/crtend.S
ionic/crtend_so.S
|
2b434862fdc595f1488f2ab3b13ed40f2aed6edb |
11-Apr-2011 |
David Turner <digit@android.com> |
am 2b10d912: am fcee105b: Merge "x86 libc: fix the wrong return value of syscall" * commit '2b10d912cc5a566818ff68f9af192033d8f8b2a9': x86 libc: fix the wrong return value of syscall
|
8488efaa0913f8484cbfdb61180e47bc19fff5d8 |
28-Mar-2011 |
Kan-Ru Chen <kanru@0xlab.org> |
x86 libc: fix the wrong return value of syscall According to Intel ABI spec, there is no need to save %eax, %ecx, %edx on the stack. Worse, popping %eax will wipe out the return value. Change-Id: Ida536c3b98174b8deef88f8f3b9352eaaeb7c0c0
ionic/syscall.S
|
b130f00493f6ae3b2343e1caac002de528a45e41 |
25-Mar-2011 |
Ken Sumrall <ksumrall@android.com> |
am ae2d5ba3: Add support for the utimensat(2) syscall to bionic. * commit 'ae2d5ba31412c4f382ef405000baa866f35dd736': Add support for the utimensat(2) syscall to bionic.
|
ae2d5ba31412c4f382ef405000baa866f35dd736 |
18-Mar-2011 |
Ken Sumrall <ksumrall@android.com> |
Add support for the utimensat(2) syscall to bionic. The kernel has supported this syscall for quite some time now, but bionic did not. Now that there is a need for it, let's add it to bionic. Change-Id: Ifcef3e46f1438d79435b600c4e6063857ab16903
yscalls.mk
yscalls/utimensat.S
|
48e1feaa9d7d7f36b5eba25baccd99a56adf9b64 |
27-Jan-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
Updated gcc 4.4.3 IA toolchain doesn't require the .ctors list Change-Id: Ia840a19a45257128eccdcf25d105f500f2d90741 Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
ionic/crtend.S
ionic/crtend_so.S
|
f4680b57eda711058e7d68b3075c78b9be8dcaf0 |
27-Jan-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
Remove an extra register move. Change-Id: I63c217b73203b44b1a2e74950b58f2ec12989cab Author: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/clone.S
|
0f2001b1478ae1e10be4418e96aa20874eda3af2 |
27-Jan-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
Replace __atomic_XXX with GCC __sync_XXX intrinsics. Change-Id: I14f275392fcd70cc15e307470e0a099777c7c09e Author: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
ionic/atomics_x86.S
nclude/sys/atomics.h
|
3c56ce497d1ea3baa6406c49be82c1245fda2443 |
26-Dec-2010 |
Bruce Beare <bruce.j.beare@intel.com> |
use consistent guards for off_t and size_t defines for IA Change-Id: Ie92b7597883c99e7f4101f4cf5e0ad267b4ee706
nclude/machine/_types.h
|
ce6c1d6184b76bbaee65d91dd715c771fd1a4652 |
26-Dec-2010 |
Bruce Beare <bruce.j.beare@intel.com> |
Simplify variable typing for IA builds Change-Id: I065e5176b3a15bd74ba832f8827b4a4e4837b0f7
nclude/endian.h
|
53c3e86fae4be95499f9f9340a26a462212bffad |
29-Dec-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am 3d302be4: Merge "android-x86: add sigsetjmp.S" * commit '3d302be485bc2f62a889fac85e386c9b8775eb59': android-x86: add sigsetjmp.S
|
18635d9c173120f6f97dd9b035b6f9a1ebfcd1a3 |
14-Dec-2010 |
Chih-Wei Huang <cwhuang@linux.org.tw> |
android-x86: add sigsetjmp.S It adds two functions sigsetjmp and siglongjmp that fix compiling errors in bluetooth and mksh. Copy directly from sigsetjmp.S of OpenBSD. Change-Id: I4696f82ee6f85d1c93cbdd3c9e40f4917d50f3a6
ionic/sigsetjmp.S
|
95d751feacdb58d3fbc36f3f21a895a3ec2f065b |
16-Dec-2010 |
David 'Digit' Turner <digit@google.com> |
libc: Add ftruncate64 and improve 64-bit parameter syscall handling. This patch improves the handling of 64-bit parameters in syscalls on ARM. The ARM EABI mandates that 64-bit quantities be passed in even/odd register pairs, which requires special treatment. This allows us to simplify our implementations of pread() and pwrite() and remove the C stubs for pread64() and pwrite64(). Also add ftruncate64() to <unistd.h> Change-Id: I407e2fd223ba0093dd2d0b04c6152fadfc9ce3ef Bug 3107933
yscalls.mk
yscalls/__pread64.S
yscalls/__pwrite64.S
yscalls/ftruncate64.S
yscalls/pread64.S
yscalls/pwrite64.S
|
72e6fd42421dca80fb2776a9185c186d4a04e5f7 |
03-Dec-2010 |
David 'Digit' Turner <digit@google.com> |
<sched.h>: Add sched_getcpu() and cpu_set_t This adds the cpu_set_t type definition and related functions and macros used to handle CPU thread affinity. sched_getcpu() sched_setaffinity() sched_getaffinity() Change-Id: If382ecafde8926341a88478062b275553645065b
yscalls.mk
yscalls/__getcpu.S
yscalls/__sched_getaffinity.S
yscalls/sched_setaffinity.S
|
82775ae0acf7cac647c057c80fbcc7f13d0554d3 |
15-Oct-2010 |
Jean-Baptiste Queru <jbq@google.com> |
resolved conflicts for merge of 347db52a to gingerbread-plus-aosp Change-Id: I706a5158e781cbbc00344a72badca1543bcbca15
|
124a542aa4d78040176f65b28f4958540b5d89aa |
11-Oct-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
Update ATOM string routines to latest Change-Id: I22a600e7f172681cfd38ff73a64e3fd07b284959 Signed-off-by: Lu, Hongjiu <hongjiu.lu@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
tring/memcmp_wrapper.S
tring/sse2-memset5-atom.S
tring/sse2-strlen-atom.S
tring/ssse3-memcmp3-new.S
tring/ssse3-memcmp3.S
tring/ssse3-memcpy5.S
tring/ssse3-strcmp-latest.S
tring/ssse3-strcmp.S
tring/strcmp_wrapper.S
tring/strlen_wrapper.S
tring/strncmp_wrapper.S
|
686af0b3a5978356be3b1a97187c765d63f11623 |
28-Sep-2010 |
repo sync <digit@google.com> |
resolved conflicts for merge of defd1622 to gingerbread-plus-aosp Conflicts: libc/arch-arm/syscalls/eventfd.S libc/include/sys/eventfd.h libc/include/sys/linux-syscalls.h Change-Id: I02f6e9536aa5478322240c199ff4c2f4367922d0
|
a511f245614d8e6c7700df624e13a41a084ad7e4 |
28-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
am 9973a564: libc: Add missing waitid() implementation. Merge commit '9973a564222b842eb7497fd6e659fe8c8c49e2b3' into gingerbread-plus-aosp * commit '9973a564222b842eb7497fd6e659fe8c8c49e2b3': libc: Add missing waitid() implementation.
|
defd162212de3789d2268a1f3339c2a6097fa825 |
26-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
libc: add <sys/eventfd.h> and corresponding implementations. Change-Id: Ide040884c456190226e580513099fdb8377e015b
yscalls.mk
yscalls/eventfd.S
|
052fbd88080c88b7f568612dcac7579092c2e3d9 |
28-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
am a3ae60d3: libc: Add missing fdatasync() implementation Merge commit 'a3ae60d343661784e3f6f4566b276d8e6b8a06a7' into gingerbread-plus-aosp * commit 'a3ae60d343661784e3f6f4566b276d8e6b8a06a7': libc: Add missing fdatasync() implementation
|
9973a564222b842eb7497fd6e659fe8c8c49e2b3 |
27-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
libc: Add missing waitid() implementation. Change-Id: I312ee608dbf9249e4886a10d45d13e3cda8a9042
yscalls.mk
yscalls/__waitid.S
yscalls/waitid.S
|
a3ae60d343661784e3f6f4566b276d8e6b8a06a7 |
27-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
libc: Add missing fdatasync() implementation Change-Id: I04bb655d77e414021e1f2a973329167ad76ca1c4
yscalls.mk
yscalls/fdatasync.S
|
914528cdc90dced0c07055d4d986e68adc8da60c |
28-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
am 223ddfcf: Merge "libc: Add missing pipe2() declaration and implementation." into gingerbread Merge commit '223ddfcfc4cb354641e70da31a60556248db5036' into gingerbread-plus-aosp * commit '223ddfcfc4cb354641e70da31a60556248db5036': libc: Add missing pipe2() declaration and implementation.
|
275cd48511daabe4591caa49c3ad0df34a6889ff |
27-Sep-2010 |
David 'Digit' Turner <digit@google.com> |
libc: Add missing pipe2() declaration and implementation. Change-Id: Iacb914bd6ac5adc60c5671e6fef680ede21f9b0c
yscalls.mk
yscalls/pipe2.S
|
611793d6abcf504544d6ebccb8c46da06464b701 |
09-Jul-2010 |
The Android Open Source Project <initial-contribution@android.com> |
merge from open-source master Change-Id: Ia22080192681c2ac596582d6cfdac732b1ff4c9f
|
ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4 |
09-Jul-2010 |
David 'Digit' Turner <digit@google.com> |
libc: fix fstatfs() implementation. The syscall expects the size of the buffer as the second argument. Change-Id: I99ede2fec7fcd385ca03ff022c2cffa4297bea8d
yscalls.mk
yscalls/__fstatfs64.S
yscalls/fstatfs.S
|
16984423bc67cd334d74b585bac2c01e44583624 |
25-Jun-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
Fix missing NL Change-Id: Ic210fe9f740b9a8235a66d479ad4eddc869998bb Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
ionic/clone.S
|
3b43f87d2949a340e2c19cb735af7727157d8274 |
02-Jul-2010 |
David 'Digit' Turner <digit@android.com> |
Allow dlclose() to properly call static C++ destructors. With this patch _and_ an upcoming build/ patch, the destruction of static C++ objects contained in shared libraries will happen properly when dlclose() is called. Note that this change introduces crtbegin_so.S and crtend_so.S which are currently ignored by the build system. + move definition of __dso_handle to the right place (before that, all shared libraries used the __dso_handle global variable from the C library). Note that we keep a 'weak' __dso_handle in aeabi.c to avoid breaking the build until the next patch to build/core/combo/ appears. We will be able to remove that later. + move bionic/aeabi.c to arch-arm/bionic/ (its proper location) NOTE: The NDK will need to be modified to enable this feature in the shared libraries that are generated through it. Change-Id: I99cd801375bbaef0581175893d1aa0943211b9bc
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
|
6a9b888d7c4b246f6f66360789c72b754ff85021 |
18-Jun-2010 |
David 'Digit' Turner <digit@google.com> |
Allow static C++ destructors to be properly called on dlclose(). With this patch, _and_ an upcoming build/ patch, the destruction of static C++ objects contained in shared libraries will happen properly when dlclose() is called. Note that this change introduces crtbegin_so.S and crtend_so.S which are currently ignored by the build system. + move definition of __dso_handle to the right place (before that, all shared libraries used the __dso_handle global variable from the C library). Note that we keep a 'weak' __dso_handle in aeabi.c to avoid breaking the build until the next patch to build/core/combo/ appears. We will be able to remove that later. + move bionic/aeabi.c to arch-arm/bionic/ (its proper location) Change-Id: Ie771aa204e3acbdf02fd30ebd4150373a1398f39 NOTE: The NDK will need to be modified to enable this feature in the shared libraries that are generated through it.
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
|
aa4b1d042927872224e4bf5d22e4db5367e389fa |
20-May-2010 |
David 'Digit' Turner <digit@google.com> |
Add missing sysinfo() implementation (already declared in <sys/sysinfo.h>) - DO NOT MERGE Change-Id: Iac4eb5911ffe4a7ab72b84df44e907685ac816af
yscalls.mk
yscalls/sysinfo.S
|
5ffedb22c856ae5731324b43832ab3f5309683f2 |
31-Mar-2010 |
The Android Open Source Project <initial-contribution@android.com> |
merge from open-source master Change-Id: I076e0df8656fdf58c229cc9a168cd6d8e16b6d8e
|
87ae0da81716d61f556b1ee456a6764a1f635e55 |
29-Mar-2010 |
David Turner <digit@android.com> |
Merge "Atom optimized string and memory routines"
|
62ac0dc457bddf7472f7be1e9895b1aee20f35cf |
29-Mar-2010 |
The Android Open Source Project <initial-contribution@android.com> |
merge from open-source master Change-Id: I96d2cd063f084fd17116bf7ee08fa7109a3c1ceb
|
8ff1a2759a6389bed30d7862d0beb76077032c99 |
04-Mar-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
Atom optimized string and memory routines Change-Id: I27b68bb28551c75c9ac84bb9730e2cd8254d8991
tring/bcopy_wrapper.S
tring/bzero_wrapper.S
tring/cache_wrapper.S
tring/memcmp_wrapper.S
tring/memcpy_wrapper.S
tring/memmove_wrapper.S
tring/memset_wrapper.S
tring/sse2-memset5-atom.S
tring/ssse3-memcmp3.S
tring/ssse3-memcpy5.S
tring/ssse3-strcmp.S
tring/strcmp_wrapper.S
tring/strncmp_wrapper.S
|
58f0326362ca0f5fc17cbc19fd9217cabf0d93dd |
11-Mar-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
Android hack for size_t Change-Id: I3c967fca60f542459dc17be84da47b3b6a26242b
nclude/machine/_types.h
|
377d4c979dee3dcb5929e8f7a68a53c2407259ab |
22-Mar-2010 |
The Android Open Source Project <initial-contribution@android.com> |
merge from open-source master Change-Id: I70266ee8c520b216773f267e46c8273d2334c31d
|
88f06cd84a70f8a5212cb03272ec2c7cf0017afa |
19-Mar-2010 |
David 'Digit' Turner <digit@google.com> |
Use private futexes for pthread_mutex_t. This does not change the implementation of conditional variables since we're waiting for other system components to properly use pthread_condattr_init/setpshared before that. Also remove an obsolete x86 source file. Change-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7
ionic/atomics_x86.S
ionic/atomics_x86.c
|
8641833b62e3b319796dc80ea16eb1592c05edf6 |
11-Mar-2010 |
Fabrice Di Meglio <fdimeglio@google.com> |
Revert "bionic: pthread: use private futexes by default for mutexes and condvars" This reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.
ionic/atomics_x86.c
|
ba9c6f0989ae94778ba2b9f597adc827c9dc81e8 |
11-Mar-2010 |
David 'Digit' Turner <digit@google.com> |
bionic: pthread: use private futexes by default for mutexes and condvars Private futexes are a recent kernel addition: faster futexes that cannot be shared between processes. This patch uses them by default, unless the PROCESS_SHARED attribute flag is used when creating a mutex and/or conditional variable. Also introduces pthread_condattr_init/destroy/setpshared/getpshared. Change-Id: I3a0e2116f467072b046524cb5babc00e41057a53
ionic/atomics_x86.c
|
3c543e1da9a2780a70b25299f39734bf0a18c4a0 |
04-Mar-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
x86 syscall system call implementation
ionic/syscall.S
|
9f6915631b918a56e0e6be958fb14d274cbab322 |
02-Mar-2010 |
Mike Chan <mike@android.com> |
bonic: libc: cpuacct support for setuid functions Any of the setuid functions now updates /acct/uid/ with its own tid before changing users. This is so we can properly account for cpu time per uid. Change-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4 Signed-off-by: Mike Chan <mike@android.com>
yscalls.mk
yscalls/__setresuid.S
yscalls/__setreuid.S
yscalls/__setuid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setuid.S
|
eb9d5ed3477ef8cd9ccfa424ea585541ea3af84a |
25-Feb-2010 |
Andrei Popescu <andreip@google.com> |
add sigaltstack syscall
yscalls.mk
yscalls/sigaltstack.S
|
75c5e25ae3615c34f4bcc7dcbe9b29e548e26b9c |
24-Feb-2010 |
San Mehat <san@google.com> |
bionic: syscalls: Add ioprio_set/ioprio_get syscall wrappers Signed-off-by: San Mehat <san@google.com>
yscalls.mk
yscalls/ioprio_get.S
yscalls/ioprio_set.S
|
97cf7f3394780d524038fc083e2c134031b54728 |
23-Jan-2010 |
David 'Digit' Turner <digit@google.com> |
Implement clone() C library function properly. Only provide an implementation for ARM at the moment, since it requires specific assembly fragments (the standard syscall stubs cannot be used because the child returns in a different stack).
ionic/clone.S
yscalls.mk
yscalls/__clone.S
yscalls/__sys_clone.S
|
3a654b1e04d4275ae315cfe1b196998acf10052c |
03-Jun-2009 |
David 'Digit' Turner <digit@google.com> |
Revert "Fix the C library initialization to avoid calling static C++ constructors twice." This reverts commit 03eabfe65e1e2c36f4d26c78a730fa19a3bdada3.
ionic/crtbegin_dynamic.S
ionic/crtbegin_static.S
|
03eabfe65e1e2c36f4d26c78a730fa19a3bdada3 |
28-May-2009 |
David 'Digit' Turner <digit@google.com> |
Fix the C library initialization to avoid calling static C++ constructors twice. The problem was due to the fact that, in the case of dynamic executables, the dynamic linker calls the DT_PREINIT_ARRAY, DT_INIT and DT_INIT_ARRAY constructors when loading shared libraries and dynamic executables, *before* calling the executable's entry point (i.e. arch-$ARCH/bionic/crtbegin_dynamic.c) which in turns call __libc_init() in libc.so, as defined by bionic/libc_init_dynamic.c The latter did call these constructors array again, mistakenly. The patch also updates the documentation of many related functions. Also adds a new section to linker/README.TXT explaining restrictions on C library usage. The patch has been tested on a Dream for stability issues with proprietary blobs: - H264 decoding works - Camera + Video recording works - GPS works - Sensors work The tests in system/extra/tests/bionic/libc/common/test_static_cpp_mutex.cpp has been run and shows the static C++ constructor being called only once.
ionic/crtbegin_dynamic.S
ionic/crtbegin_static.S
|
1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
ionic/__get_sp.S
ionic/__get_tls.c
ionic/__set_tls.c
ionic/_exit_with_stack_teardown.S
ionic/_setjmp.S
ionic/atomics_x86.S
ionic/atomics_x86.c
ionic/clone.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
ionic/crtend.S
ionic/crtend_so.S
ionic/dl_iterate_phdr_static.c
ionic/setjmp.S
ionic/vfork.S
nclude/endian.h
nclude/machine/_types.h
nclude/machine/asm.h
nclude/machine/cdefs.h
nclude/machine/exec.h
nclude/machine/ieee.h
nclude/machine/internal_types.h
nclude/machine/kernel.h
nclude/machine/limits.h
nclude/machine/setjmp.h
tring/bcmp.S
tring/bcopy.S
tring/bzero.S
tring/fss.S
tring/index.S
tring/memchr.S
tring/memcmp.S
tring/memcpy.S
tring/memmove.S
tring/memset.S
tring/rindex.S
tring/strcat.S
tring/strchr.S
tring/strcmp.S
tring/strcpy.S
tring/strlen.S
tring/strncmp.S
tring/strrchr.S
tring/swab.S
yscalls.mk
yscalls/__brk.S
yscalls/__clone.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__pread64.S
yscalls/__ptrace.S
yscalls/__pwrite64.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__set_thread_area.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__wait4.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/execve.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/flock.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fstatfs.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/link.S
yscalls/listen.S
yscalls/lseek.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/pipe.S
yscalls/poll.S
yscalls/prctl.S
yscalls/read.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/symlink.S
yscalls/sync.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/utimes.S
yscalls/waitid.S
yscalls/write.S
yscalls/writev.S
|
1767f908af327fa388b1c66883760ad851267013 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
ionic/__get_sp.S
ionic/__get_tls.c
ionic/__set_tls.c
ionic/_exit_with_stack_teardown.S
ionic/_setjmp.S
ionic/atomics_x86.S
ionic/atomics_x86.c
ionic/clone.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
ionic/crtend.S
ionic/crtend_so.S
ionic/dl_iterate_phdr_static.c
ionic/setjmp.S
ionic/vfork.S
nclude/endian.h
nclude/machine/_types.h
nclude/machine/asm.h
nclude/machine/cdefs.h
nclude/machine/exec.h
nclude/machine/ieee.h
nclude/machine/internal_types.h
nclude/machine/kernel.h
nclude/machine/limits.h
nclude/machine/setjmp.h
tring/bcmp.S
tring/bcopy.S
tring/bzero.S
tring/fss.S
tring/index.S
tring/memchr.S
tring/memcmp.S
tring/memcpy.S
tring/memmove.S
tring/memset.S
tring/rindex.S
tring/strcat.S
tring/strchr.S
tring/strcmp.S
tring/strcpy.S
tring/strlen.S
tring/strncmp.S
tring/strrchr.S
tring/swab.S
yscalls.mk
yscalls/__brk.S
yscalls/__clone.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__fork.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__pread64.S
yscalls/__ptrace.S
yscalls/__pwrite64.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__set_thread_area.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__syslog.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/__wait4.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/accept.S
yscalls/access.S
yscalls/acct.S
yscalls/bind.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/connect.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/execve.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/flock.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fstatfs.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/link.S
yscalls/listen.S
yscalls/lseek.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/pipe.S
yscalls/poll.S
yscalls/prctl.S
yscalls/read.S
yscalls/readlink.S
yscalls/readv.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/setsockopt.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/shutdown.S
yscalls/sigaction.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/stat.S
yscalls/symlink.S
yscalls/sync.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/utimes.S
yscalls/waitid.S
yscalls/write.S
yscalls/writev.S
|
4e468ed2eb86a2406e14f1eca82072ee501d05fd |
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
ionic/__get_tls.c
ionic/__set_tls.c
ionic/_exit_with_stack_teardown.S
ionic/_setjmp.S
ionic/atomics_x86.S
ionic/clone.S
ionic/crtbegin_dynamic.S
ionic/crtbegin_so.S
ionic/crtbegin_static.S
ionic/crtend.S
ionic/crtend_so.S
ionic/dl_iterate_phdr_static.c
ionic/setjmp.S
ionic/vfork.S
nclude/machine/asm.h
nclude/machine/kernel.h
yscalls.mk
yscalls/__fork.S
yscalls/__pread64.S
yscalls/__pwrite64.S
yscalls/__timer_create.S
yscalls/__timer_delete.S
yscalls/__timer_getoverrun.S
yscalls/__timer_gettime.S
yscalls/__timer_settime.S
yscalls/accept.S
yscalls/bind.S
yscalls/connect.S
yscalls/fork.S
yscalls/getitimer.S
yscalls/getpeername.S
yscalls/getsockname.S
yscalls/getsockopt.S
yscalls/listen.S
yscalls/recvfrom.S
yscalls/recvmsg.S
yscalls/sendmsg.S
yscalls/sendto.S
yscalls/setsockopt.S
yscalls/shutdown.S
yscalls/socket.S
yscalls/socketpair.S
yscalls/timer_create.S
yscalls/timer_delete.S
yscalls/timer_getoverrun.S
yscalls/timer_gettime.S
yscalls/timer_settime.S
yscalls/vfork.S
|
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 |
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
ionic/__get_sp.S
ionic/__get_tls.c
ionic/__set_tls.c
ionic/atomics_x86.c
nclude/endian.h
nclude/machine/_types.h
nclude/machine/asm.h
nclude/machine/cdefs.h
nclude/machine/exec.h
nclude/machine/ieee.h
nclude/machine/internal_types.h
nclude/machine/limits.h
nclude/machine/setjmp.h
tring/bcmp.S
tring/bcopy.S
tring/bzero.S
tring/fss.S
tring/index.S
tring/memchr.S
tring/memcmp.S
tring/memcpy.S
tring/memmove.S
tring/memset.S
tring/rindex.S
tring/strcat.S
tring/strchr.S
tring/strcmp.S
tring/strcpy.S
tring/strlen.S
tring/strncmp.S
tring/strrchr.S
tring/swab.S
yscalls/__brk.S
yscalls/__clone.S
yscalls/__fcntl.S
yscalls/__fcntl64.S
yscalls/__getcwd.S
yscalls/__getpriority.S
yscalls/__ioctl.S
yscalls/__llseek.S
yscalls/__mmap2.S
yscalls/__open.S
yscalls/__openat.S
yscalls/__ptrace.S
yscalls/__reboot.S
yscalls/__rt_sigaction.S
yscalls/__rt_sigprocmask.S
yscalls/__rt_sigtimedwait.S
yscalls/__set_thread_area.S
yscalls/__sigsuspend.S
yscalls/__statfs64.S
yscalls/__syslog.S
yscalls/__wait4.S
yscalls/_exit.S
yscalls/_exit_thread.S
yscalls/_waitpid.S
yscalls/access.S
yscalls/acct.S
yscalls/capget.S
yscalls/capset.S
yscalls/chdir.S
yscalls/chmod.S
yscalls/chown.S
yscalls/chroot.S
yscalls/clock_getres.S
yscalls/clock_gettime.S
yscalls/clock_nanosleep.S
yscalls/clock_settime.S
yscalls/close.S
yscalls/delete_module.S
yscalls/dup.S
yscalls/dup2.S
yscalls/epoll_create.S
yscalls/epoll_ctl.S
yscalls/epoll_wait.S
yscalls/execve.S
yscalls/fchdir.S
yscalls/fchmod.S
yscalls/fchmodat.S
yscalls/fchown.S
yscalls/fchownat.S
yscalls/flock.S
yscalls/fork.S
yscalls/fstat.S
yscalls/fstatat.S
yscalls/fstatfs.S
yscalls/fsync.S
yscalls/ftruncate.S
yscalls/futex.S
yscalls/getdents.S
yscalls/getegid.S
yscalls/geteuid.S
yscalls/getgid.S
yscalls/getgroups.S
yscalls/getpgid.S
yscalls/getpid.S
yscalls/getppid.S
yscalls/getresgid.S
yscalls/getresuid.S
yscalls/getrlimit.S
yscalls/getrusage.S
yscalls/gettid.S
yscalls/gettimeofday.S
yscalls/getuid.S
yscalls/init_module.S
yscalls/inotify_add_watch.S
yscalls/inotify_init.S
yscalls/inotify_rm_watch.S
yscalls/kill.S
yscalls/klogctl.S
yscalls/lchown.S
yscalls/link.S
yscalls/lseek.S
yscalls/lstat.S
yscalls/madvise.S
yscalls/mincore.S
yscalls/mkdir.S
yscalls/mkdirat.S
yscalls/mknod.S
yscalls/mlock.S
yscalls/mount.S
yscalls/mprotect.S
yscalls/mremap.S
yscalls/msync.S
yscalls/munlock.S
yscalls/munmap.S
yscalls/nanosleep.S
yscalls/pause.S
yscalls/pipe.S
yscalls/poll.S
yscalls/prctl.S
yscalls/read.S
yscalls/readlink.S
yscalls/readv.S
yscalls/rename.S
yscalls/renameat.S
yscalls/rmdir.S
yscalls/sched_get_priority_max.S
yscalls/sched_get_priority_min.S
yscalls/sched_getparam.S
yscalls/sched_getscheduler.S
yscalls/sched_rr_get_interval.S
yscalls/sched_setparam.S
yscalls/sched_setscheduler.S
yscalls/sched_yield.S
yscalls/select.S
yscalls/sendfile.S
yscalls/setgid.S
yscalls/setgroups.S
yscalls/setitimer.S
yscalls/setpgid.S
yscalls/setpriority.S
yscalls/setregid.S
yscalls/setresgid.S
yscalls/setresuid.S
yscalls/setreuid.S
yscalls/setrlimit.S
yscalls/setsid.S
yscalls/settimeofday.S
yscalls/setuid.S
yscalls/sigaction.S
yscalls/sigpending.S
yscalls/sigprocmask.S
yscalls/stat.S
yscalls/symlink.S
yscalls/sync.S
yscalls/timer_create.S
yscalls/timer_delete.S
yscalls/timer_getoverrun.S
yscalls/timer_gettime.S
yscalls/timer_settime.S
yscalls/times.S
yscalls/tkill.S
yscalls/truncate.S
yscalls/umask.S
yscalls/umount2.S
yscalls/uname.S
yscalls/unlink.S
yscalls/unlinkat.S
yscalls/utimes.S
yscalls/vfork.S
yscalls/waitid.S
yscalls/write.S
yscalls/writev.S
|