platform_bionic/libc/bionic
Josh Gao bf2af69fb2 Make raise/abort work with stale cached pid/tid values.
Switch raise to using tgkill with direct syscalls of getpid/gettid,
and switch abort to use raise(SIGABRT).

Bug: http://b/37769298
Test: debuggerd_test
Change-Id: If6f9d17fd8ae6177e742dc9f2f44bd78539431ba
2017-05-05 14:25:24 -07:00
..
__cmsg_nxthdr.cpp Move __cmsg_nxthdr to its proper file. 2014-07-10 12:47:13 +01:00
__cxa_guard.cpp Replace cxa_guard fences with acquire loads 2017-02-23 11:50:58 -08:00
__cxa_pure_virtual.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
__cxa_thread_atexit_impl.cpp Defend against -fstack-protector in libc startup. 2016-01-06 20:06:08 -08:00
__errno.cpp
__gnu_basename.cpp Implement the GNU basename(3) in addition to the POSIX one. 2014-08-19 14:30:30 -07:00
__libc_current_sigrtmax.cpp Make unified headers' SIGRTMIN/SIGRTMAX usable before API 21. 2017-04-26 14:34:36 -07:00
__libc_current_sigrtmin.cpp Make unified headers' SIGRTMIN/SIGRTMAX usable before API 21. 2017-04-26 14:34:36 -07:00
__libc_init_main_thread.cpp Revert "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."" 2016-11-10 17:02:45 -08:00
__memcpy_chk.cpp Improve FORTIFY failure diagnostics. 2016-02-26 22:06:17 -08:00
__set_errno.cpp Move __set_errno to ndk_cruft.cpp. 2015-10-29 18:11:32 -07:00
__stack_chk_fail.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
__strcat_chk.cpp Improve FORTIFY failure diagnostics. 2016-02-26 22:06:17 -08:00
__strcpy_chk.cpp Improve FORTIFY failure diagnostics. 2016-02-26 22:06:17 -08:00
abort.cpp Make raise/abort work with stale cached pid/tid values. 2017-05-05 14:25:24 -07:00
accept.cpp Mark sockets on creation (socket()) and accept4(). 2014-05-19 15:19:16 -07:00
accept4.cpp Mark sockets on creation (socket()) and accept4(). 2014-05-19 15:19:16 -07:00
access.cpp
android_set_abort_message.cpp Break android_set_abort_message out of libc_logging. 2017-04-03 16:00:10 -07:00
arpa_inet.cpp Fix inet_aton on LP32. 2015-10-09 17:36:05 -07:00
assert.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
atof.cpp
bionic_arc4random.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
bionic_netlink.cpp Fix ifaddrs error handling. 2016-10-14 14:35:26 -07:00
bionic_netlink.h Remove obsolete GCC workaround. 2016-06-10 12:49:04 -07:00
bionic_systrace.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
bionic_time_conversions.cpp Make it harder to use a broken legacy function by accident. 2016-04-04 16:15:37 -07:00
brk.cpp Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
c16rtomb.cpp Adds functionality specified by uchar.h 2014-06-04 08:39:24 -07:00
c32rtomb.cpp Adds functionality specified by uchar.h 2014-06-04 08:39:24 -07:00
chmod.cpp
chown.cpp Remove bogus transitive includes. 2014-12-29 13:29:50 -08:00
clearenv.cpp Switch to the upstream OpenBSD getenv/putenv/setenv implementation. 2014-04-22 17:41:00 -07:00
clock.cpp Move <sys/sysconf.h> to <bits/sysconf.h>. 2016-04-07 18:02:00 -07:00
clock_getcpuclockid.cpp Minor clock_getcpuclockid optimization. 2016-03-07 11:54:02 -08:00
clock_nanosleep.cpp clock_nanosleep: add CLOCK_THREAD_CPUTIME_ID special case 2016-03-28 10:29:16 -07:00
clone.cpp Set __get_thread()->tid as part of clone(). 2016-11-04 16:57:20 -04:00
close.cpp Simplify close(2) EINTR handling. 2015-04-23 08:41:45 -07:00
connect.cpp Cosmetic changes to netd client files. 2014-05-18 15:18:36 -07:00
ctype.cpp Remove isascii_l(3). 2014-07-14 15:48:02 -07:00
dirent.cpp Reorder DIR structure due to bad apps. 2015-06-04 14:04:16 -07:00
dl_iterate_phdr_static.cpp Fix signal trampolines. 2014-09-15 15:04:14 -07:00
dup2.cpp Fix dup2 in the case where the two fds are equal. 2015-02-23 21:52:56 -08:00
epoll_create.cpp epoll_create: reject size <= 0 2016-03-24 16:37:20 -07:00
epoll_pwait.cpp
epoll_wait.cpp
error.cpp Clean up <stdlib.h> slightly. 2015-01-26 14:28:41 -08:00
ether_aton.c Fix our *ether* headers mess. 2016-05-13 11:00:22 -07:00
ether_ntoa.c Fix our *ether* headers mess. 2016-05-13 11:00:22 -07:00
eventfd_read.cpp
eventfd_write.cpp
exec.cpp Fix execvp/execvpe behavior with absolute paths and ENOEXEC. 2016-08-25 17:40:27 -07:00
faccessat.cpp Add details on why AT_SYMLINK_NOFOLLOW is dangerous 2017-02-14 12:55:15 -08:00
fchmod.cpp Ensure raw fchmod/fchmodat syscalls are hidden. 2015-02-03 12:10:30 -08:00
fchmodat.cpp Ensure raw fchmod/fchmodat syscalls are hidden. 2015-02-03 12:10:30 -08:00
ffs.cpp
fgetxattr.cpp libc: Add O_PATH support for fgetxattr / fsetxattr 2015-06-01 15:51:56 -07:00
flistxattr.cpp Add O_PATH support for flistxattr() 2015-06-06 11:25:41 -07:00
flockfile.cpp Revert "Revert "Remove __sinit and __sdidinit."" 2015-12-05 07:30:59 -08:00
fork.cpp Set __get_thread()->tid as part of clone(). 2016-11-04 16:57:20 -04:00
fortify.cpp Link to the public post about clang FORTIFY. 2017-04-16 08:50:58 -07:00
fpclassify.cpp Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
fsetxattr.cpp libc: Add O_PATH support for fgetxattr / fsetxattr 2015-06-01 15:51:56 -07:00
ftruncate.cpp Cleanup ftruncate negative test. 2015-06-01 13:22:57 -07:00
fts.c Sync with upstream OpenBSD fts.c. 2014-11-21 19:27:28 -08:00
ftw.cpp Fix ftw/nftw to only report unreadable directories once. 2016-04-18 12:05:18 -07:00
futimens.cpp
getauxval.cpp set errno to ENOENT in getauxval per glibc 2.19 2015-03-17 19:50:55 -04:00
getcwd.cpp libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
getdomainname.cpp Add {get,set}domainname(2) 2016-03-25 14:16:58 -07:00
getentropy_linux.c bionic: make NONBLOCK call to getrandom 2016-11-23 15:10:52 -08:00
gethostname.cpp gethostname.c: change to report ENAMETOOLONG error when buflen is less 2014-11-12 12:07:33 -08:00
getpagesize.cpp Break up the rest of stubs.cpp. 2016-04-06 08:34:58 -07:00
getpgrp.cpp
getpid.cpp Make getpid work before the main thread is initialized. 2016-06-28 15:52:59 -07:00
getpriority.cpp Fix getpriority/setpriority types. 2016-11-29 15:14:11 -08:00
gettid.cpp Fix gettid() after clone(). 2016-10-28 12:14:23 -04:00
grp_pwd.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
icu.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
icu_static.cpp Use icu4c to implement <wctype.h>. 2016-11-29 19:19:30 +00:00
ifaddrs.cpp Fix google-explicit-constructor warnings. 2016-05-03 12:08:05 -07:00
initgroups.c
inotify_init.cpp
ioctl.cpp fix the mremap signature 2015-11-06 13:14:43 -08:00
isatty.c
jemalloc.h Export malloc_iterate and friends 2016-02-18 15:05:38 -08:00
jemalloc_wrapper.cpp Slim down static binaries by avoiding stdio. 2014-07-10 12:34:23 -07:00
langinfo.cpp Implement <langinfo.h>. 2016-11-19 11:46:54 -08:00
lchown.cpp Remove bogus transitive includes. 2014-12-29 13:29:50 -08:00
legacy_32_bit_support.cpp Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
lfs64_support.cpp CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps. 2014-09-23 18:21:52 -07:00
libc_init_common.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
libc_init_common.h Move VDSO pointers to a shared globals struct. 2015-10-09 15:59:04 -07:00
libc_init_dynamic.cpp Only initialize the global stack protector once. 2016-06-30 12:58:32 -07:00
libc_init_static.cpp Only initialize the global stack protector once. 2016-06-30 12:58:32 -07:00
libgen.cpp Allocate thread local buffers in __init_tls. 2017-02-22 16:05:03 -08:00
link.cpp
locale.cpp Allocate thread local buffers in __init_tls. 2017-02-22 16:05:03 -08:00
lockf.cpp Fix lockf for LP32. 2016-01-26 14:32:55 -08:00
lstat.cpp
malloc_common.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
malloc_info.cpp Implement malloc_info(3). 2014-08-22 10:23:12 -07:00
malloc_info.h Implement malloc_info(3). 2014-08-22 10:23:12 -07:00
mblen.cpp Implement mblen(3). 2016-04-28 16:41:29 -07:00
mbrtoc16.cpp Adds functionality specified by uchar.h 2014-06-04 08:39:24 -07:00
mbrtoc32.cpp Adds functionality specified by uchar.h 2014-06-04 08:39:24 -07:00
mbstate.cpp Adds functionality specified by uchar.h 2014-06-04 08:39:24 -07:00
memmem.cpp libc: add const-correct string.h overloads 2017-04-05 13:17:07 -07:00
mempcpy.cpp Add GNU extensions mempcpy and wmemcpy. 2015-02-18 22:02:56 -08:00
mkdir.cpp
mkfifo.cpp Add mkfifoat(3). 2014-10-23 19:10:54 -07:00
mknod.cpp
mmap.cpp mmap: fix calculation of is_private_anonymous variable 2015-11-20 09:16:59 -08:00
mntent.cpp Allocate thread local buffers in __init_tls. 2017-02-22 16:05:03 -08:00
mremap.cpp extend the PTRDIFF_MAX size check to mremap 2015-11-19 08:57:47 -05:00
ndk_cruft.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
net_if.cpp Fix google-explicit-constructor warnings. 2016-05-03 12:08:05 -07:00
netdb.cpp Break up the rest of stubs.cpp. 2016-04-06 08:34:58 -07:00
NetdClient.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
NetdClientDispatch.cpp Mark sockets on creation (socket()) and accept4(). 2014-05-19 15:19:16 -07:00
netinet_in.cpp POSIX says IPPORT_RESERVED is in <netdb.h>. 2016-08-12 10:38:35 -07:00
new.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
nl_types.cpp Add trivial no-op <nl_types.h>. 2016-04-06 17:22:44 -07:00
open.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
pathconf.cpp Clean up <sys/limits.h> a bit. 2016-11-30 09:06:53 -08:00
pause.cpp
pipe.cpp
poll.cpp libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
posix_fadvise.cpp Add posix_fadvise(3). 2014-09-11 08:45:46 -07:00
posix_fallocate.cpp
posix_madvise.cpp implement posix_madvise 2014-12-04 11:01:28 -08:00
posix_timers.cpp Make all rt_sigtimedwait signatures match. 2016-05-23 11:20:19 -07:00
pthread_atfork.cpp Eliminate deadlock in forked child due to delayed resetting mutex lock 2016-11-07 03:32:57 +00:00
pthread_attr.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
pthread_barrier.cpp Fix pthread_barrierattr_getpshared prototype. 2016-08-11 23:18:13 -07:00
pthread_cond.cpp Fix a comment in the pthread_cond_t implementation. 2017-02-18 16:35:36 -08:00
pthread_create.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
pthread_detach.cpp Revert "Remove the global thread list." 2017-02-02 02:41:38 +00:00
pthread_equal.cpp
pthread_exit.cpp Fix leak of bionic TLS when threads are detached. 2017-03-07 23:24:50 -08:00
pthread_getcpuclockid.cpp Be more strict about using invalid pthread_ts. 2017-02-13 17:59:29 -08:00
pthread_getschedparam.cpp Be more strict about using invalid pthread_ts. 2017-02-13 17:59:29 -08:00
pthread_gettid_np.cpp Be more strict about using invalid pthread_ts. 2017-02-13 17:59:29 -08:00
pthread_internal.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
pthread_internal.h Increase signal stack size on 32-bit to 16kB. 2017-03-08 16:43:59 -08:00
pthread_join.cpp Revert "Remove the global thread list." 2017-02-02 02:41:38 +00:00
pthread_key.cpp Prevent using static-allocated pthread keys before creation. 2015-04-14 13:32:09 -07:00
pthread_kill.cpp Be more strict about using invalid pthread_ts. 2017-02-13 17:59:29 -08:00
pthread_mutex.cpp Use clang's nullability instead of nonnull. 2016-05-05 17:11:54 -07:00
pthread_once.cpp Use FUTEX_WAIT_BITSET to avoid converting timeouts. 2015-11-19 13:42:03 -08:00
pthread_rwlock.cpp sem_timedwait with a null timeout doesn't mean "forever". 2015-12-16 15:15:58 -08:00
pthread_self.cpp
pthread_setname_np.cpp Be more strict about using invalid pthread_ts. 2017-02-13 17:59:29 -08:00
pthread_setschedparam.cpp Be more strict about using invalid pthread_ts. 2017-02-13 17:59:29 -08:00
pthread_sigmask.cpp
pthread_spinlock.cpp Implement pthread spin. 2015-11-18 17:51:21 -08:00
ptrace.cpp ptrace(3) should be varargs. 2014-07-16 16:07:10 -07:00
pty.cpp Allocate thread local buffers in __init_tls. 2017-02-22 16:05:03 -08:00
pututline.c libc should use O_CLOEXEC when opening files for its own use. 2014-08-26 15:56:54 -07:00
raise.cpp Make raise/abort work with stale cached pid/tid values. 2017-05-05 14:25:24 -07:00
rand.cpp Implement rand/srand in terms of random/srandom. 2014-07-14 12:02:22 -07:00
readlink.cpp add fortified readlink/readlinkat implementations 2015-04-17 18:49:12 -04:00
reboot.cpp
recv.cpp Fix recv.cpp so it can build with clang. 2014-07-02 16:46:34 -07:00
rename.cpp
rmdir.cpp
scandir.cpp Implement scandirat and scandirat64. 2015-10-27 13:47:36 -07:00
sched_cpualloc.c
sched_cpucount.c Fix cpu_set_t 2014-04-30 14:30:15 +01:00
sched_getaffinity.cpp
sched_getcpu.cpp
semaphore.cpp Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
send.cpp add fortified implementations of send/sendto 2017-02-14 15:50:28 -08:00
setegid.cpp
seteuid.cpp
setjmp_cookie.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
setpgrp.cpp
sigaction.cpp Use the kernel's sa_restorer for aarch64. 2014-09-16 15:49:50 -07:00
sigaddset.cpp Turn on -Wold-style-cast and fix the errors. 2015-01-21 17:09:58 -08:00
sigblock.c
sigdelset.cpp Turn on -Wold-style-cast and fix the errors. 2015-01-21 17:09:58 -08:00
sigemptyset.cpp Reduce <signal.h> namespace pollution. 2015-01-24 14:18:16 -08:00
sigfillset.cpp Reduce <signal.h> namespace pollution. 2015-01-24 14:18:16 -08:00
sighold.cpp Add SysV signal handling 2016-04-04 16:33:29 -07:00
sigignore.cpp Add SysV signal handling 2016-04-04 16:33:29 -07:00
siginterrupt.c
sigismember.cpp Turn on -Wold-style-cast and fix the errors. 2015-01-21 17:09:58 -08:00
signal.cpp Make _signal hidden in all cases. 2015-10-30 17:10:47 -07:00
signalfd.cpp Hide __signalfd4, used to implement signalfd(3). 2014-05-16 15:47:29 -07:00
sigpause.cpp Add SysV signal handling 2016-04-04 16:33:29 -07:00
sigpending.cpp
sigprocmask.cpp
sigqueue.cpp Hide rt_sigqueueinfo. 2015-05-18 11:29:20 -07:00
sigrelse.cpp Add SysV signal handling 2016-04-04 16:33:29 -07:00
sigset.cpp Add SysV signal handling 2016-04-04 16:33:29 -07:00
sigsetmask.c
sigsuspend.cpp
sigtimedwait.cpp support _POSIX_REALTIME_SIGNALS 2014-12-08 21:52:43 -08:00
sigwait.cpp Make all rt_sigtimedwait signatures match. 2016-05-23 11:20:19 -07:00
sigwaitinfo.cpp support _POSIX_REALTIME_SIGNALS 2014-12-08 21:52:43 -08:00
socket.cpp Mark sockets on creation (socket()) and accept4(). 2014-05-19 15:19:16 -07:00
stat.cpp
statvfs.cpp Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
strchr.cpp
strchrnul.cpp Add strchrnul. 2015-08-26 09:59:29 -07:00
strerror.cpp Allocate thread local buffers in __init_tls. 2017-02-22 16:05:03 -08:00
strerror_r.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
strnlen.c
strrchr.cpp
strsignal.cpp Allocate thread local buffers in __init_tls. 2017-02-22 16:05:03 -08:00
strtold.cpp Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
symlink.cpp
sync_file_range.cpp Add sync_file_range to <fcntl.h>. 2016-04-05 12:17:22 -07:00
sys_msg.cpp [mips64] Fix ipc syscalls 2016-09-09 12:24:04 +02:00
sys_sem.cpp [mips64] Fix ipc syscalls 2016-09-09 12:24:04 +02:00
sys_shm.cpp [mips64] Fix ipc syscalls 2016-09-09 12:24:04 +02:00
sys_siglist.c Move <sys/_sigdefs.h> and <sys/_errdefs.h> to private. 2016-04-13 17:45:39 -07:00
sys_signame.c Move <sys/_sigdefs.h> and <sys/_errdefs.h> to private. 2016-04-13 17:45:39 -07:00
sys_time.cpp Add futimes, futimesat, and lutimes. 2016-06-08 19:51:20 -07:00
sysconf.cpp Fix sysconf(_SC_ARG_MAX). 2016-08-10 15:51:06 -07:00
sysinfo.cpp Use sysinfo(2) to implement more of <sys/sysinfo.h>. 2016-08-11 14:51:31 -07:00
syslog.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
system_properties.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
tdestroy.cpp Turn on -Wold-style-cast and fix the errors. 2015-01-21 17:09:58 -08:00
termios.cpp Remove bogus transitive includes. 2014-12-29 13:29:50 -08:00
thread_private.cpp Sync to current upstream arc4random. 2014-06-24 14:13:48 -07:00
time64.c Use snprintf instead of sprintf. 2014-10-07 11:28:47 -07:00
time64_config.h
tmpfile.cpp Add fopen64/freopen64/tmpfile64 aliases. 2016-02-03 11:24:28 -08:00
umount.cpp
unlink.cpp
vdso.cpp Support 32-bit ARM vdso. 2016-07-12 13:55:51 -07:00
wait.cpp Removes wait3(2) from LP64. 2014-06-13 16:04:41 -07:00
wchar.cpp The default locale "" should be a UTF-8 locale. 2016-10-24 14:50:31 -07:00
wcstod.cpp Fix wcsto* where strings begin with whitespace. 2016-12-02 13:03:30 -08:00
wctype.cpp Fix icu4c calling on x86. 2016-12-08 15:16:37 -08:00
wmempcpy.cpp Add GNU extensions mempcpy and wmemcpy. 2015-02-18 22:02:56 -08:00