History log of /bionic/libc/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7cdb481dfe626524c93e4b6a1aae4621b1beedbc 06-Jul-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016f

The 2016f release of the tz code and data is available. It reflects the
following changes, which were either circulated on the tz mailing list
or are relatively minor technical or administrative changes:

Changes affecting future time stamps

The Egyptian government changed its mind on short notice, and
Africa/Cairo will not introduce DST starting 2016-07-07 after all.
(Thanks to Mina Samuel.)

Asia/Novosibirsk switches from +06 to +07 on 2016-07-24 at 02:00.
(Thanks to Stepan Golosunov.)

Changes to past and future time stamps

Asia/Novokuznetsk and Asia/Novosibirsk now use numeric time zone
abbreviations instead of invented ones.

Changes affecting past time stamps

Europe/Minsk's 1992-03-29 spring-forward transition was at 02:00
not 00:00.
(Thanks to Stepan Golosunov.)

Note: Paul Eggert changed the key used to sign the tzdata bundle and
the new public key cannot be found. The changes to the data since
2016e have been verified visually.

Change-Id: I1767b5d0f7a11349ecd85c1c16942f4d73172dd0
Test: Ran CTS/android.core.tests.libcore.package.harmony_java_util
Test: Ran CTS/android.core.tests.libcore.package.harmony_java_text
Test: Ran CTS/android.core.tests.libcore.package.libcore
Bug: 29984514
oneinfo/tzdata
1b0ee2041c5ccf4053be8648e0cfbe45c102aeb7 15-Jun-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016e

Changes affecting future time stamps

Africa/Cairo observes DST in 2016 from July 7 to the end of October.
Guess October 27 and 24:00 transitions. (Thanks to Steffen Thorsen.)
For future years, guess April's last Thursday to October's last
Thursday except for Ramadan.

Changes affecting past time stamps

Locations while uninhabited now use '-00', not 'zzz', as a
placeholder time zone abbreviation. This is inspired by Internet
RFC 3339 and is more consistent with numeric time zone
abbreviations already used elsewhere. The change affects several
arctic and antarctic locations, e.g., America/Cambridge_Bay before
1920 and Antarctica/Troll before 2005.

Asia/Baku's 1992-09-27 transition from +04 (DST) to +04 (non-DST) was
at 03:00, not 23:00 the previous day. (Thanks to Michael Deckers.)

Bug: 29354265
Change-Id: Iad332b686410c54277fe8efc83b38a1b5e90aeb2
oneinfo/tzdata
b0cfefac916a2e136afaeecb141d1804e19d6e6e 06-May-2016 Pierre Imai <imaipi@google.com> Always update search domain paths.

_resolv_set_nameservers_for_net() so far did not update the search
paths, unless the servers changed as well.

BUG: 28437641
Change-Id: Id31f2d97c173e00357fb2ba95908afb4572c0fc1
(cherry picked from commit 06e2202a4cc6d9a0f382a0bbdcdbd2d527734d5f)
ns/resolv/res_cache.c
19b669b00325bcbab4679c4e57c5d8d95f54decb 10-May-2016 Dimitry Ivanov <dimitry@google.com> Remove linker-namespace functions from the header

They are intended for platform use only and we shouldn't have them
in the public header file.

Bug: http://b/28174921
Change-Id: Ib9b3d0fa9442cfa2e784a693ad567d1444d774e5
(cherry picked from commit 41fd29532b52bb66e3e1f4620053713fd0299f6e)
nclude/android/dlext.h
ad59ec1da8df80bb56c76a5f14a3d7aef1e6d1c9 02-May-2016 Lorenzo Colitti <lorenzo@google.com> Merge "Record the resolution start time on errors." into nyc-dev
0b1a71f9a49ed13a680ff299c8d798cf36d565ea 27-Apr-2016 Pierre Imai <imaipi@google.com> Record the resolution start time on errors.

Also only record samples on the first try for a server.

BUG: 25731675

Change-Id: I10a68813c6636874e63aca1db661e63e1af72a2d
(cherry picked from commit 8b8611a0e6f1928b793c17e80d22c1e2810eadc0)
ns/resolv/res_send.c
d227b61862f3d40cfb80d661f0eaa25e203fbd75 28-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make malloc debug symbols platform-private" into nyc-dev
75c7830e2273942621a9ae590125732fbee28603 28-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add unwind information for r7 in arm syscalls." into nyc-dev
79ea68469f00b04fc9febe513e9ef2361b80cdd6 28-Apr-2016 Dimitry Ivanov <dimitry@google.com> Make malloc debug symbols platform-private

Bug: http://b/28432442
Change-Id: I96b9cb8b57726b4e8d53069e72666cf107cdeba2
(cherry picked from commit 54548d8cf91ba2e891b2dd0d25ae5956c62ad3ef)
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
6e45d37decbbaf78ed4685213aebb1c9b5ccf8c2 28-Apr-2016 Christopher Ferris <cferris@google.com> Add unwind information for r7 in arm syscalls.

It turns out that clang can emit code where the sp is saved in the r7
register on arm. Unfortunately, a lot of our syscalls overwrite that
value while the syscall is executing, so unwinding through that syscall
fails.

Update the syscall generation code to add unwinding information for
these uses.

Bug: 28411713
Change-Id: Id51a5d43c058631bb50834527f93fa299bbcf759
rch-arm/syscalls/___clock_nanosleep.S
rch-arm/syscalls/___close.S
rch-arm/syscalls/___faccessat.S
rch-arm/syscalls/___fchmod.S
rch-arm/syscalls/___fchmodat.S
rch-arm/syscalls/___fgetxattr.S
rch-arm/syscalls/___flistxattr.S
rch-arm/syscalls/___rt_sigqueueinfo.S
rch-arm/syscalls/__accept4.S
rch-arm/syscalls/__brk.S
rch-arm/syscalls/__connect.S
rch-arm/syscalls/__exit.S
rch-arm/syscalls/__fcntl64.S
rch-arm/syscalls/__fstatfs64.S
rch-arm/syscalls/__getcpu.S
rch-arm/syscalls/__getcwd.S
rch-arm/syscalls/__getdents64.S
rch-arm/syscalls/__getpid.S
rch-arm/syscalls/__getpriority.S
rch-arm/syscalls/__ioctl.S
rch-arm/syscalls/__openat.S
rch-arm/syscalls/__ptrace.S
rch-arm/syscalls/__reboot.S
rch-arm/syscalls/__rt_sigaction.S
rch-arm/syscalls/__rt_sigpending.S
rch-arm/syscalls/__rt_sigprocmask.S
rch-arm/syscalls/__rt_sigsuspend.S
rch-arm/syscalls/__rt_sigtimedwait.S
rch-arm/syscalls/__sched_getaffinity.S
rch-arm/syscalls/__set_tid_address.S
rch-arm/syscalls/__set_tls.S
rch-arm/syscalls/__sigaction.S
rch-arm/syscalls/__signalfd4.S
rch-arm/syscalls/__socket.S
rch-arm/syscalls/__statfs64.S
rch-arm/syscalls/__timer_create.S
rch-arm/syscalls/__timer_delete.S
rch-arm/syscalls/__timer_getoverrun.S
rch-arm/syscalls/__timer_gettime.S
rch-arm/syscalls/__timer_settime.S
rch-arm/syscalls/_exit.S
rch-arm/syscalls/acct.S
rch-arm/syscalls/adjtimex.S
rch-arm/syscalls/bind.S
rch-arm/syscalls/cacheflush.S
rch-arm/syscalls/capget.S
rch-arm/syscalls/capset.S
rch-arm/syscalls/chdir.S
rch-arm/syscalls/chroot.S
rch-arm/syscalls/clock_adjtime.S
rch-arm/syscalls/clock_getres.S
rch-arm/syscalls/clock_gettime.S
rch-arm/syscalls/clock_settime.S
rch-arm/syscalls/delete_module.S
rch-arm/syscalls/dup.S
rch-arm/syscalls/dup3.S
rch-arm/syscalls/epoll_create1.S
rch-arm/syscalls/epoll_ctl.S
rch-arm/syscalls/eventfd.S
rch-arm/syscalls/execve.S
rch-arm/syscalls/fchdir.S
rch-arm/syscalls/fchown.S
rch-arm/syscalls/fdatasync.S
rch-arm/syscalls/flock.S
rch-arm/syscalls/fremovexattr.S
rch-arm/syscalls/fstat64.S
rch-arm/syscalls/fstatat64.S
rch-arm/syscalls/fsync.S
rch-arm/syscalls/ftruncate64.S
rch-arm/syscalls/getegid.S
rch-arm/syscalls/geteuid.S
rch-arm/syscalls/getgid.S
rch-arm/syscalls/getgroups.S
rch-arm/syscalls/getitimer.S
rch-arm/syscalls/getpeername.S
rch-arm/syscalls/getpgid.S
rch-arm/syscalls/getppid.S
rch-arm/syscalls/getresgid.S
rch-arm/syscalls/getresuid.S
rch-arm/syscalls/getrlimit.S
rch-arm/syscalls/getrusage.S
rch-arm/syscalls/getsid.S
rch-arm/syscalls/getsockname.S
rch-arm/syscalls/gettimeofday.S
rch-arm/syscalls/getuid.S
rch-arm/syscalls/getxattr.S
rch-arm/syscalls/init_module.S
rch-arm/syscalls/inotify_add_watch.S
rch-arm/syscalls/inotify_init1.S
rch-arm/syscalls/inotify_rm_watch.S
rch-arm/syscalls/kill.S
rch-arm/syscalls/klogctl.S
rch-arm/syscalls/lgetxattr.S
rch-arm/syscalls/listen.S
rch-arm/syscalls/listxattr.S
rch-arm/syscalls/llistxattr.S
rch-arm/syscalls/lremovexattr.S
rch-arm/syscalls/lseek.S
rch-arm/syscalls/madvise.S
rch-arm/syscalls/mincore.S
rch-arm/syscalls/mkdirat.S
rch-arm/syscalls/mknodat.S
rch-arm/syscalls/mlock.S
rch-arm/syscalls/mlockall.S
rch-arm/syscalls/mprotect.S
rch-arm/syscalls/msync.S
rch-arm/syscalls/munlock.S
rch-arm/syscalls/munlockall.S
rch-arm/syscalls/munmap.S
rch-arm/syscalls/nanosleep.S
rch-arm/syscalls/personality.S
rch-arm/syscalls/pipe2.S
rch-arm/syscalls/prlimit64.S
rch-arm/syscalls/read.S
rch-arm/syscalls/readlinkat.S
rch-arm/syscalls/readv.S
rch-arm/syscalls/recvmsg.S
rch-arm/syscalls/removexattr.S
rch-arm/syscalls/renameat.S
rch-arm/syscalls/sched_get_priority_max.S
rch-arm/syscalls/sched_get_priority_min.S
rch-arm/syscalls/sched_getparam.S
rch-arm/syscalls/sched_getscheduler.S
rch-arm/syscalls/sched_rr_get_interval.S
rch-arm/syscalls/sched_setaffinity.S
rch-arm/syscalls/sched_setparam.S
rch-arm/syscalls/sched_setscheduler.S
rch-arm/syscalls/sched_yield.S
rch-arm/syscalls/sendfile.S
rch-arm/syscalls/sendfile64.S
rch-arm/syscalls/sendmmsg.S
rch-arm/syscalls/sendmsg.S
rch-arm/syscalls/setfsgid.S
rch-arm/syscalls/setfsuid.S
rch-arm/syscalls/setgid.S
rch-arm/syscalls/setgroups.S
rch-arm/syscalls/sethostname.S
rch-arm/syscalls/setitimer.S
rch-arm/syscalls/setns.S
rch-arm/syscalls/setpgid.S
rch-arm/syscalls/setpriority.S
rch-arm/syscalls/setregid.S
rch-arm/syscalls/setresgid.S
rch-arm/syscalls/setresuid.S
rch-arm/syscalls/setreuid.S
rch-arm/syscalls/setrlimit.S
rch-arm/syscalls/setsid.S
rch-arm/syscalls/settimeofday.S
rch-arm/syscalls/setuid.S
rch-arm/syscalls/shutdown.S
rch-arm/syscalls/sigaltstack.S
rch-arm/syscalls/socketpair.S
rch-arm/syscalls/swapoff.S
rch-arm/syscalls/swapon.S
rch-arm/syscalls/symlinkat.S
rch-arm/syscalls/sync.S
rch-arm/syscalls/sysinfo.S
rch-arm/syscalls/tee.S
rch-arm/syscalls/tgkill.S
rch-arm/syscalls/timerfd_create.S
rch-arm/syscalls/timerfd_gettime.S
rch-arm/syscalls/timerfd_settime.S
rch-arm/syscalls/times.S
rch-arm/syscalls/truncate.S
rch-arm/syscalls/truncate64.S
rch-arm/syscalls/umask.S
rch-arm/syscalls/umount2.S
rch-arm/syscalls/uname.S
rch-arm/syscalls/unlinkat.S
rch-arm/syscalls/unshare.S
rch-arm/syscalls/utimensat.S
rch-arm/syscalls/vmsplice.S
rch-arm/syscalls/wait4.S
rch-arm/syscalls/write.S
rch-arm/syscalls/writev.S
ools/gensyscalls.py
75746069ea649f84485343c300de13b62fce5e6f 26-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE Fix DNS search path info.

Fix the resolver information returned by
android_net_res_stats_get_info_for_net,
erroneously included MAXDNSRCH empty results if no search path was set.

BUG: 25731675
Change-Id: I97ef5d2d47dc62ca403a3323c7f14902e47b29b6
(cherry picked from commit 1b069a990ad783cd20327a35df59fcdc83e2e1e2)
ns/resolv/res_cache.c
f3158b94ab102b0f1066990683f08d283417cbba 21-Apr-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016d

Changes affecting future time stamps

America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
(Thanks to Alexander Krivenyshev for the heads-up.)

Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
(Thanks to Alexander Krivenyshev and Matt Johnson.)

New zone Asia/Tomsk, split off from Asia/Novosibirsk. It covers
Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
at 02:00. (Thanks to Stepan Golosunov.)

Changes affecting past time stamps

New zone Europe/Kirov, split off from Europe/Volgograd. It covers
Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
the same change. (Thanks to Stepan Golosunov.)

Russia and nearby locations had daylight-saving transitions on
1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
1992-03-28 at 23:00 and 1992-09-26 at 23:00. (Thanks to Stepan
Golosunov.)

Many corrections to historical time in Kazakhstan from 1991
through 2005. (Thanks to Stepan Golosunov.) Replace Kazakhstan's
invented time zone abbreviations with numeric abbreviations.

Bug: 28240832
Change-Id: If11e29f064f074f8b5812d397996322d007ab1d2
oneinfo/tzdata
21bf06372742b0524c358502eb692a2245d64dda 17-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE Add new info functions to resolver for use by Netd.

android_net_res_stats_get_info_for_net returns the current name servers, search
domains, parameters and stats for the given network ID.

android_net_res_stats_aggregate provides statistics such as errors counts from
the raw stats data reported by android_net_res_stats_get_info_for_net.

android_net_res_stats_get_usable_servers uses the data returned by
android_net_res_stats_aggregate to determine which of the servers are
considered valid or broken by the resolver.

BUG: 25731675
Change-Id: I6059b68e5e8b809027a4d3135f6081588bee8a7d
ns/include/resolv_params.h
ns/include/resolv_private.h
ns/include/resolv_stats.h
ns/resolv/res_cache.c
ns/resolv/res_send.c
ns/resolv/res_stats.c
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
589afca92c2fa026f908ec2c54c0450c438c602c 18-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE Store DNS server count in resolv_cache.

Instead of keeping a sentinel after nameservers[], nsaddrinfo[] and
nstats[], store the server count in the structure, freeing up memory and
eliminating the need to enumerate the server count every time
_resolv_is_nameservers_equal_locked() is invoked.

Also increase MAXNS from 3 to 4.

BUG: 28153323
Change-Id: I11a7257af695157c9e32019cd00c67b535b63c75
(cherry picked from commit fff356786f8a3a98c5c29f12bb7e59e6d98076a9)
ns/include/resolv_netid.h
ns/include/resolv_params.h
ns/resolv/res_cache.c
ns/resolv/res_send.c
ns/resolv/res_state.c
7a0224a66ba726f82c830c41e58ad910c9104f7a 21-Apr-2016 Christopher Ferris <cferris@google.com> Change pointer to allocation in unit tests.

I changed the output from "pointer" to "allocation" for allocation
mismatches. I forgot to update the tests.

Bug: 28218530

(cherry picked from commit 97fd7d95f5abd3fbc3274b2591883ecdd9cc03cc)

Change-Id: I4076e4ddb5d2385e786e3ebca187d1e84e3c172c
alloc_debug/tests/malloc_debug_unit_tests.cpp
2b876a630720bc9eb2ec6b487882529c252a687b 18-Mar-2016 Christopher Ferris <cferris@google.com> Add malloc debug documentation.

Bug: 27902359
Bug: 28218530

(cherry picked from commit 713a8e36f863c27736ad4f29a5fd9bf84be83aaf)

Change-Id: I63c0cc53287d414ae6accd03c191f3474c02fc82
alloc_debug/README.md
alloc_debug/README_api.md
258abf70f93ee9231e46111f75cbedbc7cdf4ff9 15-Apr-2016 Christopher Ferris <cferris@google.com> Small fixes to malloc debug.

- Change the printed name from pointer to allocation to be explicit about
what is wrong.
- Change the signal to be SIGRTMAX - 19 instead of SIGRTMIN. This should
prevent problems if we have to reserve other real time signals.

Bug: 28218530

(cherry picked from commit ea26b33248663a836d2f0719cb4e46967b648fe2)

Change-Id: I707d5200c1804bdbf45fc46de0f2565016c48a82
alloc_debug/Config.cpp
alloc_debug/FreeTrackData.cpp
alloc_debug/GuardData.cpp
28a63edc6874c0c6871f649b728610deefcc33db 15-Apr-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016c

Changes affecting future time stamps

Azerbaijan no longer observes DST. (Thanks to Steffen Thorsen.)

Chile reverts from permanent to seasonal DST. (Thanks to Juan
Correa for the heads-up, and to Tim Parenti for corrections.)
Guess that future transitions are August's and May's second
Saturdays at 24:00 mainland time. Also, call the period from
2014-09-07 through 2016-05-14 daylight saving time instead of
standard time, as that seems more appropriate now.

Changes affecting past time stamps

Europe/Kaliningrad and Europe/Vilnius changed from +03/+04 to
+02/+03 on 1989-03-26, not 1991-03-31. Europe/Volgograd changed
from +04/+05 to +03/+04 on 1988-03-27, not 1989-03-26.
(Thanks to Stepan Golosunov.)

Bug: 27826144
Change-Id: I4353fa075e6cc0f277a72c928442a63835ec4d97
oneinfo/tzdata
7718dd5c189afee37df36c426db1aaf4f5292c47 18-Apr-2016 Neil Fuller <nfuller@google.com> Merge "Update timezone data to 2016b" into nyc-dev
ff8cd0e7128a775ad7d78a36a0f1036137c9be8f 16-Apr-2016 Dimitry Ivanov <dimitry@google.com> Revert "Temporary move __udivdi3 back to LIBC for x86"

This reverts commit bc02fb964a59983521c5f6cf80b1189434952780.

Bug: http://b/26406724
Bug: http://b/26423217
Change-Id: I8e3186fc76502d6818753e5d76a7c145207ed9a3
(cherry picked from commit 9f39326a740860a0cfd472115b929bf0ab83799b)
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
e4e4e9da72aca324c74d76a2f0ff91a5d4588655 06-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE: Reduce the amount of logging in Bionic's resolver.

Change-Id: I3b7b5ef5a5ee6ba3ad8654f792400d42d5ecd4b9
ns/resolv/res_stats.c
8b50d08e826dacdd9422b7151121808307da3a10 05-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE: Fix off-by-one error in res_cache.c

(cherry picked from commit 03844d8cdb43c351d2c94eb67242966019f7600d)

Change-Id: Ib5fff46ac9211716a1577ee25bb22461c489ea9f
ns/include/resolv_stats.h
ns/resolv/res_cache.c
ns/resolv/res_send.c
ns/resolv/res_stats.c
4d8e740b0868b2670599b949ff07d74e5f317114 22-Feb-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE: Ignore unreliable DNS servers.

Collect statistics about DNS query success state and delay. Ignore
servers that have been tried at least five times and have a success rate
of < 0.25. Retry these servers once every 180s.

Bug: 25731675

(cherry picked from commit 6b3f0d65f2c706625e5efb495df0f2c6178b965a)

Change-Id: Id989404b14fd885fb31a5a4de36a4186be1c9ad1
ns/include/resolv_netid.h
ns/include/resolv_params.h
ns/include/resolv_private.h
ns/include/resolv_stats.h
ns/resolv/res_cache.c
ns/resolv/res_send.c
ns/resolv/res_stats.c
9b331089db29d5ffa9909d27b17b96e0d45bda51 30-Mar-2016 Pierre Imai <imaipi@google.com> Merge "Copy the entire zero-separated DNS seach domain string." into nyc-dev
89c41d68edd53189a006d7b7f21cdf0066b70711 29-Mar-2016 Josh Gao <jmgao@google.com> Add a checksum to jmp_buf on x86_64.

Bug: http://b/27856501
Bug: http://b/27417786
Change-Id: I541f5a7ce4972ef56b3f69e73927ca7df362609a
(cherry picked from commit 686e5f6f69c5c30a09d73e42657cb502a261ad6a)
rch-x86_64/bionic/setjmp.S
95e789a30732ba9d51dc01a50b2e973e6330295f 29-Mar-2016 Josh Gao <jmgao@google.com> Delete lies from x86_64 setjmp implementation.

Previously, the implementation of setjmp on x86_64 claimed that
sigprocmask would write to two longs' worth of bytes.

Bug: http://b/27856501
Change-Id: I9f32b40ac773a0cd91a976aace5bfba6e67fb0f8
(cherry picked from commit c244fcb8a3396f94976a56379cce144c4451c3d4)
rch-x86_64/bionic/setjmp.S
7af64bd083a86df3ec2322892a5fcfcc075c2114 29-Mar-2016 Josh Gao <jmgao@google.com> Add a checksum to jmp_buf on x86.

Bug: http://b/27856501
Bug: http://b/27417786
Change-Id: Id5a0a81fc38e311bff678cbc7dc2219bc0074503
(cherry picked from commit 926078539346f5d3cc864c9ba25993e8c6437c07)
rch-x86/bionic/setjmp.S
9ce09e423f24823d52f19ab8247e078977100132 12-Nov-2015 Mingwei Shi <mingwei.shi@intel.com> libc: implement kernel vdso syscalls for i386

This patch uses __kernel_vsyscall instead of "int 0x80"
as the syscall entry point. AT_SYSINFO points to
an adapter to mask the arch specific difference and gives a
performance boost on i386 architecture.

Bug: http://b/27533895
Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>

(cherry picked from commit be910529322b461148debefd50b9e0d67ae84f8e)
rch-x86/bionic/syscall.S
rch-x86/syscalls/___clock_nanosleep.S
rch-x86/syscalls/___close.S
rch-x86/syscalls/___faccessat.S
rch-x86/syscalls/___fchmod.S
rch-x86/syscalls/___fchmodat.S
rch-x86/syscalls/___fgetxattr.S
rch-x86/syscalls/___flistxattr.S
rch-x86/syscalls/___fsetxattr.S
rch-x86/syscalls/___mremap.S
rch-x86/syscalls/___rt_sigqueueinfo.S
rch-x86/syscalls/__accept4.S
rch-x86/syscalls/__brk.S
rch-x86/syscalls/__clock_gettime.S
rch-x86/syscalls/__connect.S
rch-x86/syscalls/__epoll_pwait.S
rch-x86/syscalls/__exit.S
rch-x86/syscalls/__fadvise64.S
rch-x86/syscalls/__fcntl64.S
rch-x86/syscalls/__fstatfs64.S
rch-x86/syscalls/__getcpu.S
rch-x86/syscalls/__getcwd.S
rch-x86/syscalls/__getdents64.S
rch-x86/syscalls/__getpid.S
rch-x86/syscalls/__getpriority.S
rch-x86/syscalls/__gettimeofday.S
rch-x86/syscalls/__ioctl.S
rch-x86/syscalls/__llseek.S
rch-x86/syscalls/__mmap2.S
rch-x86/syscalls/__openat.S
rch-x86/syscalls/__ppoll.S
rch-x86/syscalls/__preadv64.S
rch-x86/syscalls/__pselect6.S
rch-x86/syscalls/__ptrace.S
rch-x86/syscalls/__pwritev64.S
rch-x86/syscalls/__reboot.S
rch-x86/syscalls/__rt_sigaction.S
rch-x86/syscalls/__rt_sigpending.S
rch-x86/syscalls/__rt_sigprocmask.S
rch-x86/syscalls/__rt_sigsuspend.S
rch-x86/syscalls/__rt_sigtimedwait.S
rch-x86/syscalls/__sched_getaffinity.S
rch-x86/syscalls/__set_thread_area.S
rch-x86/syscalls/__set_tid_address.S
rch-x86/syscalls/__sigaction.S
rch-x86/syscalls/__signalfd4.S
rch-x86/syscalls/__socket.S
rch-x86/syscalls/__statfs64.S
rch-x86/syscalls/__timer_create.S
rch-x86/syscalls/__timer_delete.S
rch-x86/syscalls/__timer_getoverrun.S
rch-x86/syscalls/__timer_gettime.S
rch-x86/syscalls/__timer_settime.S
rch-x86/syscalls/__waitid.S
rch-x86/syscalls/_exit.S
rch-x86/syscalls/acct.S
rch-x86/syscalls/adjtimex.S
rch-x86/syscalls/bind.S
rch-x86/syscalls/capget.S
rch-x86/syscalls/capset.S
rch-x86/syscalls/chdir.S
rch-x86/syscalls/chroot.S
rch-x86/syscalls/clock_adjtime.S
rch-x86/syscalls/clock_getres.S
rch-x86/syscalls/clock_settime.S
rch-x86/syscalls/delete_module.S
rch-x86/syscalls/dup.S
rch-x86/syscalls/dup3.S
rch-x86/syscalls/epoll_create1.S
rch-x86/syscalls/epoll_ctl.S
rch-x86/syscalls/eventfd.S
rch-x86/syscalls/execve.S
rch-x86/syscalls/fallocate64.S
rch-x86/syscalls/fchdir.S
rch-x86/syscalls/fchown.S
rch-x86/syscalls/fchownat.S
rch-x86/syscalls/fdatasync.S
rch-x86/syscalls/flock.S
rch-x86/syscalls/fremovexattr.S
rch-x86/syscalls/fstat64.S
rch-x86/syscalls/fstatat64.S
rch-x86/syscalls/fsync.S
rch-x86/syscalls/ftruncate64.S
rch-x86/syscalls/getegid.S
rch-x86/syscalls/geteuid.S
rch-x86/syscalls/getgid.S
rch-x86/syscalls/getgroups.S
rch-x86/syscalls/getitimer.S
rch-x86/syscalls/getpeername.S
rch-x86/syscalls/getpgid.S
rch-x86/syscalls/getppid.S
rch-x86/syscalls/getresgid.S
rch-x86/syscalls/getresuid.S
rch-x86/syscalls/getrlimit.S
rch-x86/syscalls/getrusage.S
rch-x86/syscalls/getsid.S
rch-x86/syscalls/getsockname.S
rch-x86/syscalls/getsockopt.S
rch-x86/syscalls/getuid.S
rch-x86/syscalls/getxattr.S
rch-x86/syscalls/init_module.S
rch-x86/syscalls/inotify_add_watch.S
rch-x86/syscalls/inotify_init1.S
rch-x86/syscalls/inotify_rm_watch.S
rch-x86/syscalls/kill.S
rch-x86/syscalls/klogctl.S
rch-x86/syscalls/lgetxattr.S
rch-x86/syscalls/linkat.S
rch-x86/syscalls/listen.S
rch-x86/syscalls/listxattr.S
rch-x86/syscalls/llistxattr.S
rch-x86/syscalls/lremovexattr.S
rch-x86/syscalls/lseek.S
rch-x86/syscalls/lsetxattr.S
rch-x86/syscalls/madvise.S
rch-x86/syscalls/mincore.S
rch-x86/syscalls/mkdirat.S
rch-x86/syscalls/mknodat.S
rch-x86/syscalls/mlock.S
rch-x86/syscalls/mlockall.S
rch-x86/syscalls/mount.S
rch-x86/syscalls/mprotect.S
rch-x86/syscalls/msync.S
rch-x86/syscalls/munlock.S
rch-x86/syscalls/munlockall.S
rch-x86/syscalls/munmap.S
rch-x86/syscalls/nanosleep.S
rch-x86/syscalls/personality.S
rch-x86/syscalls/pipe2.S
rch-x86/syscalls/prctl.S
rch-x86/syscalls/pread64.S
rch-x86/syscalls/prlimit64.S
rch-x86/syscalls/process_vm_readv.S
rch-x86/syscalls/process_vm_writev.S
rch-x86/syscalls/pwrite64.S
rch-x86/syscalls/read.S
rch-x86/syscalls/readahead.S
rch-x86/syscalls/readlinkat.S
rch-x86/syscalls/readv.S
rch-x86/syscalls/recvfrom.S
rch-x86/syscalls/recvmmsg.S
rch-x86/syscalls/recvmsg.S
rch-x86/syscalls/removexattr.S
rch-x86/syscalls/renameat.S
rch-x86/syscalls/sched_get_priority_max.S
rch-x86/syscalls/sched_get_priority_min.S
rch-x86/syscalls/sched_getparam.S
rch-x86/syscalls/sched_getscheduler.S
rch-x86/syscalls/sched_rr_get_interval.S
rch-x86/syscalls/sched_setaffinity.S
rch-x86/syscalls/sched_setparam.S
rch-x86/syscalls/sched_setscheduler.S
rch-x86/syscalls/sched_yield.S
rch-x86/syscalls/sendfile.S
rch-x86/syscalls/sendfile64.S
rch-x86/syscalls/sendmmsg.S
rch-x86/syscalls/sendmsg.S
rch-x86/syscalls/sendto.S
rch-x86/syscalls/setfsgid.S
rch-x86/syscalls/setfsuid.S
rch-x86/syscalls/setgid.S
rch-x86/syscalls/setgroups.S
rch-x86/syscalls/sethostname.S
rch-x86/syscalls/setitimer.S
rch-x86/syscalls/setns.S
rch-x86/syscalls/setpgid.S
rch-x86/syscalls/setpriority.S
rch-x86/syscalls/setregid.S
rch-x86/syscalls/setresgid.S
rch-x86/syscalls/setresuid.S
rch-x86/syscalls/setreuid.S
rch-x86/syscalls/setrlimit.S
rch-x86/syscalls/setsid.S
rch-x86/syscalls/setsockopt.S
rch-x86/syscalls/settimeofday.S
rch-x86/syscalls/setuid.S
rch-x86/syscalls/setxattr.S
rch-x86/syscalls/shutdown.S
rch-x86/syscalls/sigaltstack.S
rch-x86/syscalls/socketpair.S
rch-x86/syscalls/splice.S
rch-x86/syscalls/swapoff.S
rch-x86/syscalls/swapon.S
rch-x86/syscalls/symlinkat.S
rch-x86/syscalls/sync.S
rch-x86/syscalls/sysinfo.S
rch-x86/syscalls/tee.S
rch-x86/syscalls/tgkill.S
rch-x86/syscalls/timerfd_create.S
rch-x86/syscalls/timerfd_gettime.S
rch-x86/syscalls/timerfd_settime.S
rch-x86/syscalls/times.S
rch-x86/syscalls/truncate.S
rch-x86/syscalls/truncate64.S
rch-x86/syscalls/umask.S
rch-x86/syscalls/umount2.S
rch-x86/syscalls/uname.S
rch-x86/syscalls/unlinkat.S
rch-x86/syscalls/unshare.S
rch-x86/syscalls/utimensat.S
rch-x86/syscalls/vmsplice.S
rch-x86/syscalls/wait4.S
rch-x86/syscalls/write.S
rch-x86/syscalls/writev.S
ionic/__libc_init_main_thread.cpp
ionic/libc_init_common.cpp
rivate/bionic_globals.h
ools/gensyscalls.py
9db1f3efa8499fa6a97ba5f4b2f12d431b7d25fe 29-Feb-2016 Pierre Imai <imaipi@google.com> Copy the entire zero-separated DNS seach domain string.

The DNS search string contains zeros as domain separator. The resolver
code erroneously used strlcpy(), which resulted in only the first domain
to be copied. The code uses pointers into this string to access the
individual domains. Since the structure is zero-initialized, this bug only
resulted in zero-length domains instead of accessing unitialized memory.

BUG: 27312811
Change-Id: Ia9d066c405dfcc5e82d6766d93ead2ce574e7b0d
(cherry picked from commit 0967fc7e59cda0ea2561b0eaa58ed842da7c0eb9)
ns/resolv/res_cache.c
05545f5c8fabf04ff164e86a04116c6bef70ae5e 24-Mar-2016 Colin Cross <ccross@android.com> Update Android.bp to match Android.mk

Change-Id: Ib5bbe66a398734b6db9a40d51f2849d1531853ef
ndroid.bp
11c79304886155209fc2af9bd7b4096515588584 24-Mar-2016 Neil Fuller <nfuller@google.com> Revert "Update timezone data to 2016b"

The bionic change merged down from upstream but the
external/icu one didn't.
A replacement change will be submitted along with one for
external/icu.

This reverts commit 7bcee86edcc8cb0f969c719fed9bc3bd04de142f.

Change-Id: I0dd28e02231e6ebba5b61131b22889a1268a0675
oneinfo/tzdata
4fc72e0230732af038c5f43634b8efb84b010af2 22-Mar-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016b

Changes affecting future time stamps

New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
2016-03-27 at 02:00 local time. They need distinct zones since their
post-1970 histories disagree. New zone Asia/Barnaul for Altai Krai and
Altai Republic, Russia, which will switch from +06 to +07 on the same date
and local time. Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27
at 02:00. (Thanks to Alexander Krivenyshev for the heads-up, and to
Matt Johnson and Stepan Golosunov for followup.)

As a trial of a new system that needs less information to be made up,
the new zones use numeric time zone abbreviations like "+04"
instead of invented abbreviations like "ASTT".

Haiti will not observe DST in 2016. (Thanks to Jean Antoine via
Steffen Thorsen.)

Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
(Thanks to Hannah Kreitem.) Guess future transitions will be March's last
Saturday at 01:00, not March's last Friday at 24:00.

Changes affecting past time stamps

Europe/Chisinau observed DST during 1990, and switched from +04 to
+03 at 1990-05-06 02:00, instead of switching from +03 to +02.
(Thanks to Stepan Golosunov.)

1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
KUYT/KUYST. (Thanks to Stepan Golosunov.)

The update produced (apparently benign) warnings from zic as suggested here:
http://mm.icann.org/pipermail/tz-announce/2016-March/000036.html

Bug: 27656428
Change-Id: I31c7805b6fdb458c3ee9e695b3dff7bd003d8cab
oneinfo/tzdata
3be39d1db781b3e9fab2dfb96b6555455c8645bf 22-Mar-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016b
am: 7bcee86

* commit '7bcee86edcc8cb0f969c719fed9bc3bd04de142f':
Update timezone data to 2016b
7bcee86edcc8cb0f969c719fed9bc3bd04de142f 22-Mar-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016b

Changes affecting future time stamps

New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
2016-03-27 at 02:00 local time. They need distinct zones since their
post-1970 histories disagree. New zone Asia/Barnaul for Altai Krai and
Altai Republic, Russia, which will switch from +06 to +07 on the same date
and local time. Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27
at 02:00. (Thanks to Alexander Krivenyshev for the heads-up, and to
Matt Johnson and Stepan Golosunov for followup.)

As a trial of a new system that needs less information to be made up,
the new zones use numeric time zone abbreviations like "+04"
instead of invented abbreviations like "ASTT".

Haiti will not observe DST in 2016. (Thanks to Jean Antoine via
Steffen Thorsen.)

Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
(Thanks to Hannah Kreitem.) Guess future transitions will be March's last
Saturday at 01:00, not March's last Friday at 24:00.

Changes affecting past time stamps

Europe/Chisinau observed DST during 1990, and switched from +04 to
+03 at 1990-05-06 02:00, instead of switching from +03 to +02.
(Thanks to Stepan Golosunov.)

1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
KUYT/KUYST. (Thanks to Stepan Golosunov.)

The update produced (apparently benign) warnings from zic as suggested here:
http://mm.icann.org/pipermail/tz-announce/2016-March/000036.html

Bug: 27656428
Change-Id: Ibbf7237344c21d22a0f781f547fbc95b46623ece
oneinfo/tzdata
97fce67302a80bf282bff118cfa96936c5ad9e81 16-Mar-2016 Christopher Ferris <cferris@google.com> Fix race in malloc debug option free_track.

The free track mechanism could fail if, at the same time a free occurs,
another thread is trying to free and verify the same allocation. This
doesn't work if the freed allocation is added to the list and we still
do work on it. The fix is to only add to the free list when we are done
with the allocation.

Also fix a problem where the usable size is computed incorrectly because
two of the arguments where reversed.

In addition, add a check that the allocation being verified has the correct
tag before trying to check the body of the allocation.

Add a test to catch the original failure.

Add a test for the tag being different.

Bug: 27601650

(cherry picked from commit d0919623a2ef56107590eca9a9522a250fb8bd4a)

Change-Id: Ie1aa4d9a829da9a96de9b8bd1cc8fc681e9cab15
alloc_debug/FreeTrackData.cpp
alloc_debug/malloc_debug.cpp
alloc_debug/tests/malloc_debug_unit_tests.cpp
4451b53c3761b46fa33a3e47bfb0c62ca47e5fbb 14-Mar-2016 Christopher Ferris <cferris@google.com> Fix problem where unknown option is not an error.

If the first option is found, then any unknown options are simply
ignored, but do not produce an error. Fixed this so that each
option found is actually verified to exist.

Bug: 27620263

(cherry picked from commit a4b14252752d14454afb48feb3272e8689e3a66d)

Change-Id: I709774456283879e2a8aa5ce375899eaa79f6bc3
alloc_debug/Config.cpp
alloc_debug/tests/malloc_debug_config_tests.cpp
c1f182894990ea76f3f3c0ab41cc104637532e71 11-Mar-2016 Christopher Ferris <cferris@google.com> Init functions after debug malloc succeeds.

Do not initialize all of the global function pointers associated with
debug malloc until the initialization has completed correctly.

Bug: 27600760

(cherry picked from commit 20f2c1ebd5b5860e69772b228ccda756eafc1398)

Change-Id: Ibc45213f55be9c8e95fb838b583353cd090c8b88
ionic/malloc_common.cpp
a2fa9c53e688eef2d4343df7e5ab03f6765397c4 10-Mar-2016 Colin Cross <ccross@android.com> Merge changes I3f1c1310,Ia8dc3481,I6b19fd63 into nyc-dev

* changes:
malloc_debug: fix multiplication overflow in debug_calloc
malloc_debug: round 0 byte allocations up to 1 byte
malloc_debug: iterate: use usable_size
239838608dbe9917acddfe5a51d92350a4c8e135 10-Mar-2016 Colin Cross <ccross@android.com> malloc_debug: fix multiplication overflow in debug_calloc

The over flow check for nmemb * bytes in debug_calloc is incorrect,
use the builtin overflow functions to check for multiplication and
addition overflow.

Change-Id: I3f1c13102621bc5380be1f69caa88dba2118f3cb
alloc_debug/malloc_debug.cpp
alloc_debug/tests/malloc_debug_unit_tests.cpp
12393862e55b9ab28dd29ae16fbdf498371726a7 04-Mar-2016 Elliott Hughes <enh@google.com> Improve and fix the stack-protector tests.

Bug: http://b/26888853

(cherry picked from commit fc69a8ad5f0d9b63de48e3858fb4811ede7ac64e)

Change-Id: Ibc431076000b9a8db46f68f858480045b03b6e79
ionic/__libc_init_main_thread.cpp
ionic/libc_init_common.cpp
rivate/bionic_globals.h
rivate/bionic_tls.h
15af478080cfbfa800fb8172fdf70a84075925e3 10-Mar-2016 Colin Cross <ccross@android.com> malloc_debug: round 0 byte allocations up to 1 byte

0 byte allocations can cause problems if they are immediately followed
by another allocation with no header, as both allocations will have the
same address. Treat 0 byte allocations as 1 byte allocations so that
debug_iterate will return separate addresses for them.

Bug: 27578580
Change-Id: Ia8dc3481fa7062391e9b3ae58a36e8d47e7ee557
alloc_debug/malloc_debug.cpp
b23c6606d2326f8835fc7fc35b23ff7ee5a48f48 10-Mar-2016 Colin Cross <ccross@android.com> malloc_debug: iterate: use usable_size

malloc_iterate with malloc debug enabled was returning allocation sizes
using the requested size instead of usable size. If anything wrote
pointers above the requested size but below the usable size, those
pointers would be invisible to libmemunreachable and referenced
allocations could be reported as a leak.

Bug: 27107100
Change-Id: I6b19fd631f68ce93b3aee408cc3d296ec457bd01
alloc_debug/malloc_debug.cpp
bf4c113cad4d1f4464867a057d5c703505ef32b2 05-Mar-2016 Josh Gao <jmgao@google.com> forkpty: set the output fd to -1 on the slave side.

glibc, FreeBSD, OpenBSD, and Darwin all just leave the fd unchanged and
possibly uninitialized. Setting it to -1 seems friendlier, though.

Bug: http://b/27506278
Change-Id: I7acdc8eecbea4404d5fb4ba0b4d572245a323886
ionic/pty.cpp
8dd7c611ea9889b316c02861d463edee83c6a207 05-Mar-2016 Elliott Hughes <enh@google.com> Don't call clock_getres in sysconf.

There are a hundred other reasons why we can't run on kernels old enough
to not have all the clocks covered by sysconf.

This was causing trouble for jemalloc 4.1.0 in a seccomp-constrained process
because jemalloc 4.1.0 introduced a call to sysconf that caused us to make
clock_getres syscalls for the first time, leading to SIGSYS.

Bug: http://b/27408522

(cherry picked from commit d2b8de2cd16ecd86c830d98c58bcf392475bd0b3)

Change-Id: Id46a0f2c2804c597a8c9091690a8a1fc4a65f4cd
ionic/sysconf.cpp
bb06d688a936a87e8bfee3934e85f8a6d9398f21 03-Mar-2016 Josh Gao <jmgao@google.com> Add a checksum to jmp_buf on AArch64.

Bug: http://b/27417786
Change-Id: I17c22dc28a46dd6b678b449b506b0da978f3793e
(cherry picked from commit 0c3655a864f33080ebbec1248c27a7ead87d6a28)
rch-arm64/bionic/setjmp.S
54f1339d1c745d9d30f0200c332dc76661e75214 03-Mar-2016 Josh Gao <jmgao@google.com> Add a checksum to jmp_buf on ARM.

Make it easier to diagnose applications mucking with the contents of
jmp_buf by checksumming its contents.

Bug: http://b/27417786
Change-Id: I9989e2ea3979a36ae0bc4c9e1bacafddbacc731b
(cherry picked from commit a4c69137c693c45fce4010ba61d69d7147f5dd9a)
rch-arm/bionic/setjmp.S
ionic/setjmp_cookie.cpp
6be6ef563e15cec05ea758f76b493b63c760923c 02-Mar-2016 Dimitry Ivanov <dimitry@google.com> Modify android_dlwarning function to use a callback

The previous implementation of android_dlwarning was not thread-safe
and could return a pointer soon to become invalid in some situations.
This change fixed the problem. I have also removed android_dlwarning
from the dlext.h header file in case we decide to keep
android_dlwarning in the final release.

Bug: http://b/27453994
Change-Id: If6c896a80a17c4be0e18795e617712ad36a106fe
nclude/android/dlext.h
fbdffcc34b757c267c736f5fde9c631ae4815247 02-Mar-2016 Elliott Hughes <enh@google.com> Fix getifaddrs' handling of point-to-point interfaces.

Also remove an if that implied that IFA_BROADCAST is a possibility for
AF_INET6.

The existing tests fail if you have a point-to-point interface configured,
so no new test necessary.

Bug: http://b/27442503

(cherry picked from commit ef925e50d38fe6f5499c1d0d24cca98bf88e5256)

Change-Id: I19c19d83a86d0a8004a6b45dea7febe9d6fb6a2e
ionic/ifaddrs.cpp
278ecb98cdccc793d7c113815eb963a3d9f69aaf 01-Mar-2016 Dimitry Ivanov <dimitry@google.com> Merge "Add android_dlwarning() method" into nyc-dev
598e2c0d2ae6b7fbc5eb470e4296c20ed1a011ee 23-Feb-2016 Christopher Ferris <cferris@google.com> Move hard-coded values to constants.

Change all of the hard-coded config values to be defined constants.
Also make sure to use these constants in the usage output.

Bug: 26739265

(cherry picked from commit 549e52200b6af3c33cba7ef759ea98b49fa40082)

Change-Id: I07b7095cad9c47207a31d9b95e4013f4cb07ae0e
alloc_debug/Config.cpp
alloc_debug/tests/malloc_debug_config_tests.cpp
df91dc2c192aa2789320c500037d28c919daa820 26-Feb-2016 Dimitry Ivanov <dimitry@google.com> Add android_dlwarning() method

This is temporary method intended to use
for a toast message on preview and beta
releases. Will be removed before the
production release.

Bug: http://b/27365747
Change-Id: I39cc716bb82863ae761b6821bcec77cce6db3781
nclude/android/dlext.h
809b50237b31251a86b4ea535cf5e15d27fde4c7 25-Feb-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016a
am: 5408d8f39a

* commit '5408d8f39aeaac1f477757f90b09cff32c641d56':
Update timezone data to 2016a
5408d8f39aeaac1f477757f90b09cff32c641d56 24-Feb-2016 Neil Fuller <nfuller@google.com> Update timezone data to 2016a

Changes affecting future time stamps

America/Cayman will not observe daylight saving this year after all.
Revert our guess that it would. (Thanks to Matt Johnson.)

Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
(Thanks to Alexander Krivenyshev.)

Asia/Tehran now has DST predictions for the year 2038 and later,
to be March 21 00:00 to September 21 00:00. This is likely better
than predicting no DST, albeit off by a day every now and then.

Changes affecting past and future time stamps

America/Metlakatla switched from PST all year to AKST/AKDT on
2015-11-01 at 02:00. (Thanks to Steffen Thorsen.)

America/Santa_Isabel has been removed, and replaced with a
backward compatibility link to America/Tijuana. Its contents were
apparently based on a misreading of Mexican legislation.

Changes affecting past time stamps

Asia/Karachi's two transition times in 2002 were off by a minute.
(Thanks to Matt Johnson.)

Bug: 26833368
Change-Id: I5af1d69f8ca767369f1cbc4aa863280b960777e0
oneinfo/tzdata
1724535fb4ebf6b6ff1b3ac06f7dcaf5cb36da78 20-Feb-2016 Christopher Ferris <cferris@google.com> Fix incorrect size of array.

When using sscanf and "%4s", the array passed in must include space for
a nul terminator.

Bug: 26739265

(cherry picked from commit f499dc91e774db4cb9d21f9a7c34704fa9b7ed39)

Change-Id: I8aac6fca3e5bc7a6399e2ed9c6ba4140a55ffdee
alloc_debug/Android.mk
alloc_debug/MapData.cpp
b7ff533ed28f82c0981b83ae80e8bc8e3f350d0f 08-Feb-2016 Colin Cross <ccross@android.com> malloc_debug: reread /proc/pid/maps when entry is missing

Reread /proc/pid/maps on demand in case a new library has been loaded.

Bug: 27208635
(cherry picked from commit d75d4bea54a788dada3f2538a33cc491e4c56ed4)

Change-Id: I80140cf57fa3b3e93d51dbe7b7a27595b72ee694
alloc_debug/MapData.cpp
alloc_debug/MapData.h
alloc_debug/backtrace.cpp
6deb3042df87f8569fb430dbf5f140f6a694ddfd 06-Feb-2016 Colin Cross <ccross@android.com> Add backtrace_string and export to libmemunreachable

Add backtrace_string to convert a malloc_debug backtrace to a string.
Also move the backtrace functions to libc_malloc_debug_backtrace so that
libmemunreachable can reuse them.

Bug: 27208635
(cherry picked from commit 2c75991359df165ca7cc7a6213fb227c0b5ed87c)

Change-Id: Ia93aaf010fbce1ace058439427066ea2dfd8bd13
ionic/libc_logging.cpp
alloc_debug/Android.mk
alloc_debug/MapData.cpp
alloc_debug/backtrace.cpp
alloc_debug/backtrace.h
alloc_debug/debug_log.h
alloc_debug/malloc_debug.cpp
rivate/libc_logging.h
d6c9b44091a8865a3b61ada247dd9abf4d6b8705 02-Feb-2016 Colin Cross <ccross@android.com> Export malloc_backtrace

Bug: 27208635
(cherry picked from commit 2d4721c0c57fe2f7c1e1b40df4763a561b3cf856)

Change-Id: Ida926cabb706dfd962b692ba1775da332f68488f
ionic/malloc_common.cpp
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
alloc_debug/exported32.map
alloc_debug/exported64.map
alloc_debug/malloc_debug.cpp
c40577f740ae4f66cdba4b2137668fb3114bb99d 29-Jan-2016 Colin Cross <ccross@android.com> Export malloc_iterate and friends

Export malloc_iterate, malloc_enable, and malloc_disable to be used by
libmemunreachable.

Bug: 27208635
(cherry picked from commit 869691c6f7691dd5bf343617aa185c32e0d3d160)

Change-Id: Ifa44421a84ac3be6a57fac28c4da501febe88c28
ionic/jemalloc.h
ionic/malloc_common.cpp
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
alloc_debug/TrackData.cpp
alloc_debug/TrackData.h
alloc_debug/exported32.map
alloc_debug/exported64.map
alloc_debug/malloc_debug.cpp
alloc_debug/tests/malloc_debug_unit_tests.cpp
rivate/bionic_malloc_dispatch.h
d863530eccceeae00c1c5d4968550a052f13ec2c 08-Feb-2016 Colin Cross <ccross@android.com> malloc_debug: reset TrackData mutex after fork

Add a pthread_atfork handler to malloc_debug to lock the TrackData mutex
during fork and reset it in the child. Ensures that the TrackData is
consistent when forking from a multi-threaded process, and that the
mutex is in a defined state in the child.

Bug: 27208635
(cherry picked from commit 7a28a3cf1f8df36e30724e8b4021cddde0596118)

Change-Id: I84bc67be09b8b767e1cf2f14141e2ae8dc4fb462
alloc_debug/DebugData.cpp
alloc_debug/DebugData.h
alloc_debug/TrackData.h
alloc_debug/malloc_debug.cpp
a071f48b1f2088c4dd1a18dac58834e4488ac563 23-Feb-2016 Christopher Ferris <cferris@google.com> Fix wrong guard values for 64 bit.

I added the code to force alignments of 8 for 32 bit and 16 for 64 bit,
but I missed a couple of tests that failed due to this change. Fix the
failing tests.

Bug: 26739265

(cherry picked from commit 0e2a0265798ed47cbbf6977f0f84cf81d93173a6)

Change-Id: I21c3e26a340df6e427f06625e525b88b19b0cae1
alloc_debug/tests/malloc_debug_config_tests.cpp
31e4472dc7779f4de13975090fc88b1e5dfb52b2 17-Feb-2016 Elliott Hughes <enh@google.com> Fix scope ids for link-local IPv6 addresses from getifaddrs(3).

Bug: http://b/27219454

(cherry picked from commit 7dac8b8aabadbf2dcff20d3646e701728ba3777d)

Change-Id: I006ae68b928b5836d064c020a6db43dcc05add9e
ionic/ifaddrs.cpp
nclude/netinet/in6.h
08d6edf52249e34942d8ed2af6c35b1e2980bc6d 18-Feb-2016 Christopher Ferris <cferris@google.com> Fix cfi directives for memmove/strlcpy.

Bug: 27227225

(cherry picked from commit 97b6e131fd85bb0ae321d9e5a8a613f5ee373cf4)

Change-Id: I9462340a478d9b699240703d8da5967000a33d08
rch-x86/atom/string/ssse3-strcpy-atom.S
rch-x86/silvermont/string/sse2-memmove-slm.S
bff9cca9ca5817e97dd43962bb11b012cbb97f54 18-Feb-2016 Christopher Ferris <cferris@google.com> Fix cfi directives in small strncmp case.

Bug: 27227225

(cherry picked from commit de84e51f8c7b45869a8f83a1d5eacbf19b6d5eb5)

Change-Id: I7ebbd1cf9bff849ecdfc84e0e98842fec3215bb4
rch-x86/atom/string/ssse3-strcmp-atom.S
39b952cf0a824db1cdc301dd048db0e56d4d5c24 12-Feb-2016 Christopher Ferris <cferris@google.com> Fix the default alignment of the allocations.

In order to enforce this constraint:

The pointer returned if the allocation succeeds shall be suitably
aligned so that it may be assigned to a pointer to any type of object
and then used to access such an object in the space allocated.

Force all allocations on 32 bit systems to have 8 byte alignment,
and all allocations on 64 bit systems to have 16 byte alignment.

Add a test to verify that the allocator returns the correct alignments.

Bug: 26739265

(cherry picked from commit 72df6708c829a4c6494936fdfbda6dc7e68e647b)

Change-Id: I44ca8bedb1dac375087da1af3a1d7d12034e037f
alloc_debug/BacktraceData.cpp
alloc_debug/Config.cpp
alloc_debug/Config.h
alloc_debug/DebugData.cpp
alloc_debug/GuardData.cpp
alloc_debug/malloc_debug.cpp
alloc_debug/malloc_debug.h
alloc_debug/tests/malloc_debug_config_tests.cpp
alloc_debug/tests/malloc_debug_unit_tests.cpp
66c25c360afb161be02fbdb8da21cd02c9d99447 13-Feb-2016 Elliott Hughes <enh@google.com> Fix regerror(..., nullptr, 0).

Found by passing a bad regular expression to the Google benchmark
code (https://github.com/google/benchmark).

(cherry picked from commit cac2908b08f517802e719ddafe39f45c85c96a33)

Change-Id: I317a7c2ea6535998c0853029023fcefc88cb3750
ndroid.mk
pstream-netbsd/android/include/netbsd-compat.h
80775d6a77a2dcd3ea478b01bcac395c308acbc8 09-Feb-2016 Elliott Hughes <enh@google.com> Update NOTICE files.

(cherry picked from commit b4931cee769ca3c60a2cb77f68078df893286cf0)

Change-Id: I0aaa89f9b6d997936ef6d08c602795add9132057
OTICE
07b987a4e4f9bc37dd68ff888807d7454d562102 06-Feb-2016 Mike Frysinger <vapier@google.com> Merge "define pw_gecos to pw_passwd for LP32 systems" am: 9c212fc436
am: 52ce6c3bf4

* commit '52ce6c3bf4b4e2ec2c6cf69f5706bad98e9e6b75':
define pw_gecos to pw_passwd for LP32 systems
9c212fc43617aeef5b1828407dd5d8daee506923 06-Feb-2016 Mike Frysinger <vapier@google.com> Merge "define pw_gecos to pw_passwd for LP32 systems"
ca6af7f4a81c4f8d1acf1ecbdcdae8c44bb0a092 03-Feb-2016 Mike Frysinger <vapier@google.com> define pw_gecos to pw_passwd for LP32 systems

Since we set both fields to NULL all the time, we can alias the two
fields together on LP32 to provide build-time compatibility.

BUG=24918750
TEST=python now builds for Brillo boards

Change-Id: I3394aea80c9a5288669389f71d0e4132f2157e3c
ionic/stubs.cpp
nclude/pwd.h
55965029120ba935de13a8a1c92da38f7c0bcf4a 06-Feb-2016 Christopher Ferris <cferris@google.com> Merge "Updated to v4.4.1 kernel headers." am: 831c8a5249
am: e5df2f5f59

* commit 'e5df2f5f5911eecb64e1f32467e9d9c30aa73779':
Updated to v4.4.1 kernel headers.
831c8a52498d3c7be204a00847275f6e9163626f 06-Feb-2016 Christopher Ferris <cferris@google.com> Merge "Updated to v4.4.1 kernel headers."
7f8a4ad1feb1a81661b62052d6491fe63d6b0cc1 06-Feb-2016 Dan Willemsen <dwillemsen@google.com> Merge "Update Android.bp" am: 138a11c8a1
am: 5519f42dc1

* commit '5519f42dc1f888ad5c269ec748e8d4844215e5fe':
Update Android.bp
138a11c8a1687c72098ac9ceedfdf857426748cf 06-Feb-2016 Dan Willemsen <dwillemsen@google.com> Merge "Update Android.bp"
05d08e9716b5974d6ed08973f44930804890b902 04-Feb-2016 Christopher Ferris <cferris@google.com> Updated to v4.4.1 kernel headers.

Small modifications needed to allow compilation with the new headers:

- Manually modify bionic/libc/kernel/uapi/asm-mips/asm/siginfo.h to
remove the uapi from the include.
- PR_XXX defines are now available for mips, so remove the definition
from linker_mips.cpp.

Bug: 23789423
Change-Id: I6dc8a03b012426d3a937db15cb24d3a50fab5a8c
nclude/sys/glibc-syscalls.h
ernel/uapi/asm-arm/asm/kvm.h
ernel/uapi/asm-arm/asm/unistd.h
ernel/uapi/asm-arm64/asm/hwcap.h
ernel/uapi/asm-arm64/asm/kvm.h
ernel/uapi/asm-arm64/asm/ptrace.h
ernel/uapi/asm-arm64/asm/signal.h
ernel/uapi/asm-arm64/asm/ucontext.h
ernel/uapi/asm-generic/mman-common.h
ernel/uapi/asm-generic/mman.h
ernel/uapi/asm-generic/siginfo.h
ernel/uapi/asm-generic/signal.h
ernel/uapi/asm-generic/socket.h
ernel/uapi/asm-generic/unistd.h
ernel/uapi/asm-mips/asm/break.h
ernel/uapi/asm-mips/asm/hwcap.h
ernel/uapi/asm-mips/asm/inst.h
ernel/uapi/asm-mips/asm/kvm.h
ernel/uapi/asm-mips/asm/mman.h
ernel/uapi/asm-mips/asm/sigcontext.h
ernel/uapi/asm-mips/asm/siginfo.h
ernel/uapi/asm-mips/asm/socket.h
ernel/uapi/asm-mips/asm/swab.h
ernel/uapi/asm-mips/asm/unistd.h
ernel/uapi/asm-x86/asm/bitsperlong.h
ernel/uapi/asm-x86/asm/bootparam.h
ernel/uapi/asm-x86/asm/e820.h
ernel/uapi/asm-x86/asm/hyperv.h
ernel/uapi/asm-x86/asm/kvm.h
ernel/uapi/asm-x86/asm/mce.h
ernel/uapi/asm-x86/asm/msr.h
ernel/uapi/asm-x86/asm/mtrr.h
ernel/uapi/asm-x86/asm/processor-flags.h
ernel/uapi/asm-x86/asm/ptrace-abi.h
ernel/uapi/asm-x86/asm/sigcontext.h
ernel/uapi/asm-x86/asm/sigcontext32.h
ernel/uapi/asm-x86/asm/svm.h
ernel/uapi/asm-x86/asm/unistd_32.h
ernel/uapi/asm-x86/asm/unistd_64.h
ernel/uapi/asm-x86/asm/unistd_x32.h
ernel/uapi/asm-x86/asm/vmx.h
ernel/uapi/drm/amdgpu_drm.h
ernel/uapi/drm/drm.h
ernel/uapi/drm/drm_fourcc.h
ernel/uapi/drm/drm_mode.h
ernel/uapi/drm/i810_drm.h
ernel/uapi/drm/i915_drm.h
ernel/uapi/drm/msm_drm.h
ernel/uapi/drm/nouveau_drm.h
ernel/uapi/drm/r128_drm.h
ernel/uapi/drm/radeon_drm.h
ernel/uapi/drm/savage_drm.h
ernel/uapi/drm/sis_drm.h
ernel/uapi/drm/tegra_drm.h
ernel/uapi/drm/via_drm.h
ernel/uapi/drm/virtgpu_drm.h
ernel/uapi/drm/vmwgfx_drm.h
ernel/uapi/linux/am437x-vpfe.h
ernel/uapi/linux/android/binder.h
ernel/uapi/linux/atm_zatm.h
ernel/uapi/linux/audit.h
ernel/uapi/linux/blkpg.h
ernel/uapi/linux/bpf.h
ernel/uapi/linux/btrfs.h
ernel/uapi/linux/can.h
ernel/uapi/linux/can/bcm.h
ernel/uapi/linux/can/error.h
ernel/uapi/linux/can/gw.h
ernel/uapi/linux/can/raw.h
ernel/uapi/linux/cryptouser.h
ernel/uapi/linux/dcbnl.h
ernel/uapi/linux/dlm_device.h
ernel/uapi/linux/dm-ioctl.h
ernel/uapi/linux/dvb/dmx.h
ernel/uapi/linux/dvb/frontend.h
ernel/uapi/linux/elf-em.h
ernel/uapi/linux/elf.h
ernel/uapi/linux/ethtool.h
ernel/uapi/linux/falloc.h
ernel/uapi/linux/fib_rules.h
ernel/uapi/linux/filter.h
ernel/uapi/linux/fou.h
ernel/uapi/linux/fs.h
ernel/uapi/linux/fuse.h
ernel/uapi/linux/gsmmux.h
ernel/uapi/linux/hsi/cs-protocol.h
ernel/uapi/linux/hyperv.h
ernel/uapi/linux/i2c-dev.h
ernel/uapi/linux/i2c.h
ernel/uapi/linux/if_addr.h
ernel/uapi/linux/if_alg.h
ernel/uapi/linux/if_arcnet.h
ernel/uapi/linux/if_bridge.h
ernel/uapi/linux/if_ether.h
ernel/uapi/linux/if_link.h
ernel/uapi/linux/if_packet.h
ernel/uapi/linux/if_tun.h
ernel/uapi/linux/if_tunnel.h
ernel/uapi/linux/iio/events.h
ernel/uapi/linux/iio/types.h
ernel/uapi/linux/ila.h
ernel/uapi/linux/in.h
ernel/uapi/linux/inet_diag.h
ernel/uapi/linux/input-event-codes.h
ernel/uapi/linux/input.h
ernel/uapi/linux/ip.h
ernel/uapi/linux/ip_vs.h
ernel/uapi/linux/ipv6.h
ernel/uapi/linux/ipv6_route.h
ernel/uapi/linux/kcmp.h
ernel/uapi/linux/kernel-page-flags.h
ernel/uapi/linux/kfd_ioctl.h
ernel/uapi/linux/kvm.h
ernel/uapi/linux/l2tp.h
ernel/uapi/linux/libc-compat.h
ernel/uapi/linux/lightnvm.h
ernel/uapi/linux/loop.h
ernel/uapi/linux/lwtunnel.h
ernel/uapi/linux/magic.h
ernel/uapi/linux/media-bus-format.h
ernel/uapi/linux/media.h
ernel/uapi/linux/mei.h
ernel/uapi/linux/membarrier.h
ernel/uapi/linux/mic_common.h
ernel/uapi/linux/mmc/ioctl.h
ernel/uapi/linux/mpls.h
ernel/uapi/linux/mpls_iptunnel.h
ernel/uapi/linux/msg.h
ernel/uapi/linux/nbd.h
ernel/uapi/linux/ndctl.h
ernel/uapi/linux/neighbour.h
ernel/uapi/linux/net_namespace.h
ernel/uapi/linux/net_tstamp.h
ernel/uapi/linux/netconf.h
ernel/uapi/linux/netfilter.h
ernel/uapi/linux/netfilter/ipset/ip_set.h
ernel/uapi/linux/netfilter/nf_conntrack_sctp.h
ernel/uapi/linux/netfilter/nf_conntrack_tcp.h
ernel/uapi/linux/netfilter/nf_tables.h
ernel/uapi/linux/netfilter/nfnetlink_conntrack.h
ernel/uapi/linux/netfilter/nfnetlink_cttimeout.h
ernel/uapi/linux/netfilter/nfnetlink_log.h
ernel/uapi/linux/netfilter/nfnetlink_queue.h
ernel/uapi/linux/netfilter/xt_CT.h
ernel/uapi/linux/netfilter/xt_set.h
ernel/uapi/linux/netfilter/xt_socket.h
ernel/uapi/linux/netfilter_bridge/ebtables.h
ernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h
ernel/uapi/linux/netlink.h
ernel/uapi/linux/nfc.h
ernel/uapi/linux/nfs.h
ernel/uapi/linux/nfs4.h
ernel/uapi/linux/nfsacl.h
ernel/uapi/linux/nfsd/debug.h
ernel/uapi/linux/nfsd/export.h
ernel/uapi/linux/nl80211.h
ernel/uapi/linux/nvme_ioctl.h
ernel/uapi/linux/openvswitch.h
ernel/uapi/linux/pci_regs.h
ernel/uapi/linux/perf_event.h
ernel/uapi/linux/pkt_cls.h
ernel/uapi/linux/pkt_sched.h
ernel/uapi/linux/pr.h
ernel/uapi/linux/prctl.h
ernel/uapi/linux/psci.h
ernel/uapi/linux/ptrace.h
ernel/uapi/linux/quota.h
ernel/uapi/linux/raid/md_p.h
ernel/uapi/linux/raid/md_u.h
ernel/uapi/linux/rds.h
ernel/uapi/linux/rtnetlink.h
ernel/uapi/linux/scif_ioctl.h
ernel/uapi/linux/screen_info.h
ernel/uapi/linux/securebits.h
ernel/uapi/linux/sem.h
ernel/uapi/linux/serial.h
ernel/uapi/linux/serial_core.h
ernel/uapi/linux/serial_reg.h
ernel/uapi/linux/snmp.h
ernel/uapi/linux/sock_diag.h
ernel/uapi/linux/stm.h
ernel/uapi/linux/sysctl.h
ernel/uapi/linux/target_core_user.h
ernel/uapi/linux/tc_act/tc_bpf.h
ernel/uapi/linux/tc_act/tc_connmark.h
ernel/uapi/linux/tc_act/tc_vlan.h
ernel/uapi/linux/tcp.h
ernel/uapi/linux/thermal.h
ernel/uapi/linux/tipc_netlink.h
ernel/uapi/linux/toshiba.h
ernel/uapi/linux/tty.h
ernel/uapi/linux/tty_flags.h
ernel/uapi/linux/uinput.h
ernel/uapi/linux/usb/cdc.h
ernel/uapi/linux/usb/ch9.h
ernel/uapi/linux/usb/functionfs.h
ernel/uapi/linux/userfaultfd.h
ernel/uapi/linux/userio.h
ernel/uapi/linux/v4l2-common.h
ernel/uapi/linux/v4l2-controls.h
ernel/uapi/linux/v4l2-dv-timings.h
ernel/uapi/linux/v4l2-mediabus.h
ernel/uapi/linux/v4l2-subdev.h
ernel/uapi/linux/version.h
ernel/uapi/linux/vfio.h
ernel/uapi/linux/vhost.h
ernel/uapi/linux/videodev2.h
ernel/uapi/linux/virtio_balloon.h
ernel/uapi/linux/virtio_blk.h
ernel/uapi/linux/virtio_config.h
ernel/uapi/linux/virtio_console.h
ernel/uapi/linux/virtio_gpu.h
ernel/uapi/linux/virtio_ids.h
ernel/uapi/linux/virtio_input.h
ernel/uapi/linux/virtio_net.h
ernel/uapi/linux/virtio_pci.h
ernel/uapi/linux/virtio_ring.h
ernel/uapi/linux/virtio_scsi.h
ernel/uapi/linux/virtio_types.h
ernel/uapi/linux/vsp1.h
ernel/uapi/linux/vt.h
ernel/uapi/linux/xfrm.h
ernel/uapi/linux/xilinx-v4l2-controls.h
ernel/uapi/misc/cxl.h
ernel/uapi/mtd/mtd-user.h
ernel/uapi/rdma/hfi/hfi1_user.h
ernel/uapi/rdma/ib_user_verbs.h
ernel/uapi/rdma/rdma_netlink.h
ernel/uapi/scsi/cxlflash_ioctl.h
ernel/uapi/sound/asequencer.h
ernel/uapi/sound/asoc.h
ernel/uapi/sound/asound.h
ernel/uapi/sound/compress_offload.h
ernel/uapi/sound/emu10k1.h
ernel/uapi/sound/firewire.h
ernel/uapi/sound/hdspm.h
ernel/uapi/sound/tlv.h
ernel/uapi/sound/usb_stream.h
ernel/uapi/xen/gntalloc.h
ernel/uapi/xen/gntdev.h
ed6eafd18f2f7c40513822f90a2c2dd1f85b419c 05-Feb-2016 Dimitry Ivanov <dimitry@google.com> Merge "Add check for pthread_self() when looking up a thread" am: b90837c3d3
am: 7e694a20fd

* commit '7e694a20fd4136f8aca9afa294dae663a49efacc':
Add check for pthread_self() when looking up a thread
b90837c3d316c6ea8d6f0b0b6a3643d0d3245a0e 05-Feb-2016 Dimitry Ivanov <dimitry@google.com> Merge "Add check for pthread_self() when looking up a thread"
4bc739a54c4ba9063e91bef06ff226dab118792d 05-Feb-2016 Dimitry Ivanov <dimitry@google.com> Add check for pthread_self() when looking up a thread

Check if thread_id is in fact pthread_self before
locking on g_thread_list_lock in __pthread_internal_find.

The main reason for doing this is not performance but to allow
the linker use raise() which was not working because pthread_kill()
couldn't find pthread_self() thread because the global thread
list is initialized in libc.so and the linker's version of this
list is empty.

Bug: http://b/25867917
Change-Id: I18fe620e8cd465b30f0e1ff45fff32958f3c5c00
ionic/pthread_internal.cpp
3e6217151660cc8d5f6dfbd52c80058e487c06bc 04-Feb-2016 Dan Willemsen <dwillemsen@google.com> Update Android.bp

Also reorders some arch-specific sources to match the order in the
Android.mk system.

Change-Id: Ibde46a7cef9840b759be796ce9ac6618d3b06532
ndroid.bp
8b326b4ad22a5938f9423864053937942c4e1bf1 04-Feb-2016 Elliott Hughes <enh@google.com> Merge "Add in6addr_any and in6addr_loopback symbols." am: d2be380258
am: 316eb69ad4

* commit '316eb69ad4c5e89c3a0f057e79d7e9342609a010':
Add in6addr_any and in6addr_loopback symbols.
0c485dae707fac45f5d8baff7da1a469e25c2261 03-Feb-2016 Elliott Hughes <enh@google.com> Add in6addr_any and in6addr_loopback symbols.

Change-Id: I3a90fa448b6bd43321672ba74b84a4e9e8a67738
ndroid.mk
ionic/bindresvport.c
ionic/netinet_in.cpp
nclude/netinet/in.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
d4f435d9b36f6855978a56480a9f46eea1815d96 03-Feb-2016 Elliott Hughes <enh@google.com> Merge "Really add adjtimex(2), and add clock_adjtime(2) too." am: 5da33dd673
am: d1cfd67c6b

* commit 'd1cfd67c6b92767c959a4ed9a00126e1c7ecbc19':
Really add adjtimex(2), and add clock_adjtime(2) too.
5f26c6bc91f653b61c01e2ff6e7eac4847e315a5 03-Feb-2016 Elliott Hughes <enh@google.com> Really add adjtimex(2), and add clock_adjtime(2) too.

Change-Id: I81fde2ec9fdf787bb19a784ad13df92d33a4f852
YSCALLS.TXT
rch-arm/syscalls/clock_adjtime.S
rch-arm64/syscalls/clock_adjtime.S
rch-mips/syscalls/clock_adjtime.S
rch-mips64/syscalls/clock_adjtime.S
rch-x86/syscalls/clock_adjtime.S
rch-x86_64/syscalls/clock_adjtime.S
nclude/sys/timex.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
9913c4cbaf1bbd5c5561f81453b7c9855786f514 03-Feb-2016 Elliott Hughes <enh@google.com> Merge "Add fopen64/freopen64/tmpfile64 aliases." am: 36ff699570
am: e8e8873d9f

* commit 'e8e8873d9f1d277ede6c9156f5bd78ef9eee3f1e':
Add fopen64/freopen64/tmpfile64 aliases.
f226ee59e0effedeabed09e2d65be7fa7499cc25 03-Feb-2016 Elliott Hughes <enh@google.com> Add fopen64/freopen64/tmpfile64 aliases.

Our fopen/freopen/tmpfile are already always O_LARGEFILE, but let's add
the aliases for _LARGEFILE_SOURCE compatibility.

Bug: http://b/24807045
Change-Id: I5d99b3ef3c9f27ce70f13313f6a92e96c7f21f80
ionic/tmpfile.cpp
nclude/stdio.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
tdio/stdio.cpp
ools/check-symbols-glibc.py
b159f13918acb247ec08515b68fe4f5e9feb979a 03-Feb-2016 Elliott Hughes <enh@google.com> Merge "Expose ftello64." am: b3cfafd2bd
am: e74d1d6507

* commit 'e74d1d6507a28c56941d95889219e1ea24b0ac5c':
Expose ftello64.
e4fa6e9cc7f894a5a85ca50249b1f6e9efd49d3a 03-Feb-2016 Elliott Hughes <enh@google.com> Expose ftello64.

Also add the missing test that would have caught this.

Bug: http://b/24807045
Change-Id: I756a4d825595b52396b15898e3f717156fd1ba2f
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
ddaa00388c24d420e643d451f0977153aaf8cbf6 03-Feb-2016 Josh Gao <jmgao@google.com> Merge "use GNU C89 extern inline semantics for __size_mul_overflow()" am: 153e9928b8
am: 8e8f990fc4

* commit '8e8f990fc4fde79c2d10a5c40341d2ce90eb4e95':
use GNU C89 extern inline semantics for __size_mul_overflow()
6b45d57739772bf4418923e960cc396ad5a0706e 21-Jan-2016 Xia Yang <xiay@nvidia.com> use GNU C89 extern inline semantics for __size_mul_overflow()

__size_mul_overflow generates warning under following compilation envrionment:

-OX -D_FORTIFY_SOURCE=2 (X=1, 2, 3)

For example:

echo '#include <stdio.h>' | \
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-gcc \
-I bionic/libc/arch-arm/include \
-I bionic/libc/include \
-I bionic/libc/kernel/uapi \
-I bionic/libc/kernel/common \
-I bionic/libc/kernel/uapi/asm-arm \
-I bionic/libm/include \
-I bionic/libm/include/arm \
-I bionic/libc/include \
-Werror \
-O1 \
-D_FORTIFY_SOURCE=2 \
-c \
-x c \
-

bionic/libc/include/stdio.h:360:13: error: '__size_mul_overflow' is
static but used in inline function 'fread' which is not static [-Werror]
if (__size_mul_overflow(size, count, &total)) {
^

C99 - 6.7.4
"An inline definition of a function with external linkage shall not contain
a definition of a modifiable object with static storage duration, and shall
not contain a reference to an identifier with internal linkage."

As standard does not require compiler to determine when it is safe to
reference an internal function in an external inline function, but instead
delegalizes such reference as a whole, gcc throws a warning for such code
under C99 compilation. Warning produced by libc header is inhereted widely
and strips the option of using -Werror to track code sanity.

Replace static inline specifier with gnu89 extern inline. Latter "is used
only for inlining. In no case is the function compiled on its own", which
is slightly different from former semantically, but should produce the same
result here.

Change-Id: I6a3374498e5499d110e54468cf9d0d67d2debbe2
nclude/sys/cdefs.h
7c9f671a8db4c596ee85aec6794bdac768c2aa9a 02-Feb-2016 Christopher Ferris <cferris@google.com> Merge "Remove the unused TrackHeader structure." am: fe60bae4b7
am: 15c35a02da

* commit '15c35a02daf0a1f8b2c47ac66fde0fd267c33fc1':
Remove the unused TrackHeader structure.
701bb65511aed14da6c51179619785e5706fa5a6 02-Feb-2016 Christopher Ferris <cferris@google.com> Remove the unused TrackHeader structure.

Change-Id: I07ae5de717e1fcfbe5dfe552a531db9f630da622
alloc_debug/malloc_debug.h
alloc_debug/tests/malloc_debug_unit_tests.cpp
3509a17b80b86c52f5247e7029b11751495368bb 02-Feb-2016 Christopher Ferris <cferris@google.com> Merge "Add better free tracking." am: 4821db1b3e
am: e98d704731

* commit 'e98d704731dd685d495025ff7cfd751c6e672668':
Add better free tracking.
4821db1b3ecc14828d4acf4abed26bb7d8b8cf6a 02-Feb-2016 Christopher Ferris <cferris@google.com> Merge "Add better free tracking."
5d9b0a9541f801db5fd510ab3325a3fb5e96fe62 02-Feb-2016 Greg Hackmann <ghackmann@google.com> Merge changes I8ca219fa,Ia92d35b1 am: 5992e5fb6d
am: 33c8164b63

* commit '33c8164b6321d80550b5ec7fbb5f7b49c4ddd954':
socket.h: update AF_* constants
Add adjtimex
5992e5fb6da2722fb4c3850048f71ef077735381 02-Feb-2016 Greg Hackmann <ghackmann@google.com> Merge changes I8ca219fa,Ia92d35b1

* changes:
socket.h: update AF_* constants
Add adjtimex
c7ca8f3a6332638021b9ae99e1ce15739350ee98 28-Jan-2016 Greg Hackmann <ghackmann@google.com> socket.h: update AF_* constants

Change-Id: I8ca219fa429ca8d8f872ed1db98275cd1a06f00b
Signed-off-by: Greg Hackmann <ghackmann@google.com>
nclude/sys/socket.h
7993b80f894db20af4d1d154221c42fea6171a3d 29-Jan-2016 Christopher Ferris <cferris@google.com> Add better free tracking.

Included in this change:

- Change the tag when a pointer is freed so it's easy to detect if
an already freed pointer is being used.
- Move the free backtrace out of the header. This backtrace is only
used under only some circumstances, so no need to allocate space
in all headers for it.
- Add new option free_track_backtrace_num_frames to specify how many
frames to record when the free occurs. This removes the dependency
on the backtrace option to get backtraces.

Bug: 26739265
Change-Id: I76f5209507dcf46af67ada162a7cb2bf282116f2
alloc_debug/BacktraceData.cpp
alloc_debug/BacktraceData.h
alloc_debug/Config.cpp
alloc_debug/Config.h
alloc_debug/DebugData.h
alloc_debug/FreeTrackData.cpp
alloc_debug/FreeTrackData.h
alloc_debug/backtrace.cpp
alloc_debug/backtrace.h
alloc_debug/malloc_debug.cpp
alloc_debug/malloc_debug.h
alloc_debug/tests/backtrace_fake.cpp
alloc_debug/tests/malloc_debug_config_tests.cpp
alloc_debug/tests/malloc_debug_unit_tests.cpp
1516f02229bd4b0ed40a8da9b60f5f568354e178 29-Jan-2016 Shinichiro Hamaji <hamaji@google.com> Merge "Tell kati about generated dependencies around crt" am: 37591462fa
am: c91cd8a47f

* commit 'c91cd8a47f14a96e37d9a5054720886bdacf0bd5':
Tell kati about generated dependencies around crt
37591462fa76791c2372d789c3532c7cd0ca7a84 29-Jan-2016 Shinichiro Hamaji <hamaji@google.com> Merge "Tell kati about generated dependencies around crt"
20660aff456f6acc80b75a18c8f5c94cd8c5ae1d 29-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Add min/max values for config values." am: 50647711eb
am: bfc044628a

* commit 'bfc044628accf3af2ba696f44b2452ce5c8a17dc':
Add min/max values for config values.
50647711ebaf2360aca05cc94a2fdf431c1a153e 29-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Add min/max values for config values."
3f3f6c526b2d8f47df7462df0c0071c391cc7b4d 28-Jan-2016 Greg Hackmann <ghackmann@google.com> Add adjtimex

Change-Id: Ia92d35b1851e73c9f157a749dba1e98f68309a8d
Signed-off-by: Greg Hackmann <ghackmann@google.com>
YSCALLS.TXT
rch-arm/syscalls/adjtimex.S
rch-arm64/syscalls/adjtimex.S
rch-mips/syscalls/adjtimex.S
rch-mips64/syscalls/adjtimex.S
rch-x86/syscalls/adjtimex.S
rch-x86_64/syscalls/adjtimex.S
nclude/sys/timex.h
3bcf094f21568fa91805f03a199625aad9eb0066 28-Jan-2016 Shinichiro Hamaji <hamaji@google.com> Tell kati about generated dependencies around crt

This was a regression since kati has been introduced. Without
this, touching libc/arch-common/bionic/__dso_handle.h doesn't
let ninja rebuild object files.

Bug: 26839129
Change-Id: Ie9ef4559c0d1ff0910a4d250ea36938b291d15db
rt.mk
166c8535a5a4253bcb2b04bbd20a2a8c04c44f2c 28-Jan-2016 Christopher Ferris <cferris@google.com> Add min/max values for config values.

This is to only allow realistic values for some of the options.

Bug: 26739265

Change-Id: I172d5401c27e5d638d80f1c93c678c26c4dae0fc
alloc_debug/Config.cpp
alloc_debug/tests/malloc_debug_config_tests.cpp
701e3663bbd2a723964e7d549b98d10cf02cfe74 28-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge changes I7dc213e9,I2928d682 am: fd799baf81
am: c22e0ea41d

* commit 'c22e0ea41d5e70130ecc0eb52ceb64c00cb3d3c2':
Hide '__moddi3' symbol for x86 and mips
Hide '__isthreaded' for lp64 libc.so
fd799baf81e7642f2d91968ba01c39f097c0f357 28-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge changes I7dc213e9,I2928d682

* changes:
Hide '__moddi3' symbol for x86 and mips
Hide '__isthreaded' for lp64 libc.so
ffaa2169d759a3a85ac0b67ae6be80f9dfe073b6 28-Jan-2016 Dimitry Ivanov <dimitry@google.com> Hide '__moddi3' symbol for x86 and mips

Bug: http://b/26805673
Change-Id: I7dc213e9f25510a2a74a30e8c43fd7a64cb3dbdb
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
aa2fd0fece33853e87439c6b4279291ce5d7dcd1 27-Jan-2016 Dimitry Ivanov <dimitry@google.com> Hide '__isthreaded' for lp64 libc.so

Bug: http://b/26805673
Change-Id: I2928d68287894be9f9ae7ed1858af512d8c80a3b
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
4b42cd8cd960f64284b213cb7eefb6bfc2ac2eee 27-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Remove unused file." am: e4daf100b3
am: f788d6d8c9

* commit 'f788d6d8c9f445bca3140998bd394c58b35340b7':
Remove unused file.
2fc7f9db3df70b33e1cdf6faa445ec57e81b05df 27-Jan-2016 Christopher Ferris <cferris@google.com> Remove unused file.

This file should have been deleted with the malloc debug rewrite, but
popped back into existence due to a merge conflict.

Change-Id: I74e53daaf3febf650b20e3da5329558ac84c5bcd
ionic/malloc_debug_common.cpp
16f81e76c84768f68e9765f2ff6f9d1388fdb93f 27-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix a sign extension bug in stdio." am: 172420e6a2
am: 0fb1e6bdac

* commit '0fb1e6bdac04c9cb113232ca95d57f8e96361df0':
Fix a sign extension bug in stdio.
955426ef79ae635b74ff917c2b9ebc1a24c6a3ef 27-Jan-2016 Elliott Hughes <enh@google.com> Fix a sign extension bug in stdio.

This also lets us test the EOVERFLOW behavior, which pointed out that the
fgetpos/fsetpos return on failure has always been wrong...

Bug: http://b/24807045
Change-Id: I35273eb07c8c9155af858adb27569983397580b6
tdio/stdio.cpp
62a854daf54ad5a25272a22db1a466cb33bee225 27-Jan-2016 Tom Cherry <tomcherry@google.com> Merge "Replace snprintf() with __libc_format_buffer()" am: 194860a9e6
am: 7a62c10096

* commit '7a62c10096735f8cd0257dc5069a7af69a7f279e':
Replace snprintf() with __libc_format_buffer()
194860a9e638b1d093857f08b8fad37c9ec0e113 27-Jan-2016 Tom Cherry <tomcherry@google.com> Merge "Replace snprintf() with __libc_format_buffer()"
8352475c756663fb22fce851a5ff9b9d8320f4de 27-Jan-2016 Tom Cherry <tomcherry@google.com> Replace snprintf() with __libc_format_buffer()

If snprintf() is called from the linker, it may erroneously return a
null string. The libc internal __libc_format_buffer() does not have
this problem, so it is now used instead.

Bug: 26756577

Change-Id: I37a97e27f59b3c0a087f54a6603cc3aff7f07522
ionic/system_properties.cpp
994f43ff6f6b62ef90c78c13dbc9de077f7674c3 27-Jan-2016 Elliott Hughes <enh@google.com> Merge "Implement funopen64." am: 896224aa7f
am: 61af93ae54

* commit '61af93ae5471b1bf723d51b1a5ab62cc7c7376db':
Implement funopen64.
896224aa7f307b6c53d8c4dfa0b0e3556b3b9fda 27-Jan-2016 Elliott Hughes <enh@google.com> Merge "Implement funopen64."
35a96b2af41664617a90719b40a929cc6572e52a 27-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix lockf for LP32." am: a449fafc89
am: 44c4b858ec

* commit '44c4b858ec3892243cc085faf8a96b44bb8a5a9c':
Fix lockf for LP32.
dc00a367f6e8814352031da9626288379de3cd32 27-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Move android_ network functions to LIBC_PRIVATE" am: 3a33b52981
am: d580a8b150

* commit 'd580a8b1505be000c748a380cae9ef4a510a3823':
Move android_ network functions to LIBC_PRIVATE
a449fafc894c47305b49087d995e821e878e59c1 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix lockf for LP32."
3a33b5298101e959c83ea60003618d3052d0adfe 26-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Move android_ network functions to LIBC_PRIVATE"
03e65eb03bf0bfaafa797daf91e80e8308968db3 26-Jan-2016 Elliott Hughes <enh@google.com> Implement funopen64.

Bug: http://b/24807045
Change-Id: I161920978161389be34b707cc6ce8e05f760d552
ndroid.mk
nclude/stdio.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
tdio/local.h
tdio/stdio.cpp
pstream-openbsd/lib/libc/stdio/funopen.c
97cb4fbed2e978bde0d761106294a7920faf9db0 26-Jan-2016 Dimitry Ivanov <dimitry@google.com> Move android_ network functions to LIBC_PRIVATE

Make following functions platform-private:
android_getaddrinfofornet
android_getaddrinfofornetcontext
android_gethostbyaddrfornet
android_gethostbynamefornet

Bug: http://b/26794226
Change-Id: I0855b0b82721e4d24e918508931b4d5587fcae7d
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
d4ae54f668632e47f080ab60f2dc540560e98989 26-Jan-2016 Elliott Hughes <enh@google.com> Fix lockf for LP32.

Bug: http://b/13077650
Change-Id: Ibbe2d907d23791c908475e0875a5c745ac948813
ionic/lockf.cpp
c217342f364c934c23e8b32dba45965c03988487 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Support _FILE_OFFSET_BITS=64 for most of <stdio.h>." am: 94bb0fab93
am: 1500a65adb

* commit '1500a65adbd7cd18c7bb6d0282947cd44dc76ef6':
Support _FILE_OFFSET_BITS=64 for most of <stdio.h>.
6ccf926eaaf4d8d732bc3ca8293a87ab0225e0e5 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Implement POSIX lockf." am: d9bb708575
am: 7397cc04f0

* commit '7397cc04f0f2291ff893c69c9cf6debcfdb466ea':
Implement POSIX lockf.
94bb0fab931102f1fcf393aa507a6b77b741844f 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Support _FILE_OFFSET_BITS=64 for most of <stdio.h>."
d9bb70857577808c197030e7f5422ee1f976f3ac 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Implement POSIX lockf."
5704c423c81790195161c1757ae79da188590c51 26-Jan-2016 Elliott Hughes <enh@google.com> Implement POSIX lockf.

This has been requested a few times over the years. This is basically
a very late rebase of https://android-review.googlesource.com/45470
which was abandoned years ago. One addition is that this version has
_FILE_OFFSET_BITS=64 support.

POSIX puts this in <unistd.h>. glibc also has it in <fcntl.h>.

Bug: http://b/13077650
Change-Id: I5862b1dc326e326c01ad92438ecc1578d19ba739
ndroid.mk
ionic/lockf.cpp
nclude/bits/lockf.h
nclude/bits/posix_limits.h
nclude/bits/pthread_types.h
nclude/bits/timespec.h
nclude/bits/wchar_limits.h
nclude/fcntl.h
nclude/limits.h
nclude/machine/posix_limits.h
nclude/machine/pthread_types.h
nclude/machine/timespec.h
nclude/machine/wchar_limits.h
nclude/pthread.h
nclude/sched.h
nclude/signal.h
nclude/stdint.h
nclude/sys/stat.h
nclude/unistd.h
nclude/wchar.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
9677fab88c25fd2e6f3149ad00fb8870963f0675 26-Jan-2016 Elliott Hughes <enh@google.com> Support _FILE_OFFSET_BITS=64 for most of <stdio.h>.

This doesn't address funopen, but does add fgetpos/fsetpos/fseeko/ftello.

Bug: http://b/24807045
Change-Id: Ibff6f00df5fb699c8e8f13b91a75caf024540b73
nclude/stdio.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
tdio/stdio.cpp
854ded45c4c40f789a7c6db5022154eda8e5619a 26-Jan-2016 Yabin Cui <yabinc@google.com> Merge "Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""" am: e1497902c1
am: 83045d3b41

* commit '83045d3b417a58453448d261a0cd27fc1d6987ef':
Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""
f4df48a5bf96087f72fd948bbe07e01a8cceb2f7 26-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Fix gcc test issues." am: 126cf324a3
am: 613bc05ba6

* commit '613bc05ba6213a51f9f6570fac650c4eae07bbc1':
Fix gcc test issues.
ca482742985a22dbf5ee4a0afdf8525300f7785d 26-Jan-2016 Yabin Cui <yabinc@google.com> Revert "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""

This reverts commit 6d5108520225fd2c4b10ca63565545ec120aab4a.
And add missing bionic_sdk_version.h.

Change-Id: I24cc738b1fd1d26234c52afbc787f5b3c4a9c9cb
ionic/libc_init_dynamic.cpp
ionic/libc_init_static.cpp
ionic/semaphore.cpp
rivate/bionic_sdk_version.h
126cf324a39689e0c16cf815d0fb01f2bc18df05 26-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Fix gcc test issues."
1e185a5056f85e281f699a92114b758591ae3b92 26-Jan-2016 Christopher Ferris <cferris@google.com> Fix gcc test issues.

Change-Id: I2b26b779f5198c7c9362a452b971260a8852aa7b
alloc_debug/Android.mk
alloc_debug/tests/malloc_debug_unit_tests.cpp
b13236a4d55994f7045b22bc12d512df475be650 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Revert "Make sem_wait able to return errno EINTR for sdk > 23."" am: ac67b4eb7c
am: 85ad95cd59

* commit '85ad95cd593cf8902695fa683d071e68796fb019':
Revert "Make sem_wait able to return errno EINTR for sdk > 23."
ac67b4eb7c70ea668abb32298b0cb16920a32a66 26-Jan-2016 Elliott Hughes <enh@google.com> Merge "Revert "Make sem_wait able to return errno EINTR for sdk > 23.""
6d5108520225fd2c4b10ca63565545ec120aab4a 26-Jan-2016 Dan Albert <danalbert@google.com> Revert "Make sem_wait able to return errno EINTR for sdk > 23."

Broke the build. There's no such file as bionic_sdk_version.h anywhere in the tree.

This reverts commit 892b61d3409e8cdf0e121c688737eb058d57f7ab.

Change-Id: Iec3f4588edfb1d1524bb5f16451fd05dc6ebe44a
ionic/libc_init_dynamic.cpp
ionic/libc_init_static.cpp
ionic/semaphore.cpp
f7d6a3147eddcbbcf2bd11e77ac48d270a3a70ed 26-Jan-2016 Yabin Cui <yabinc@google.com> Merge "Make sem_wait able to return errno EINTR for sdk > 23." am: c96b6e1747
am: dc91caf2f0

* commit 'dc91caf2f01fb8e394d91593ee18e6c85c31e8de':
Make sem_wait able to return errno EINTR for sdk > 23.
c96b6e1747c5b5ca154bada84ec0a3868540e96f 26-Jan-2016 Yabin Cui <yabinc@google.com> Merge "Make sem_wait able to return errno EINTR for sdk > 23."
506d9a5991f723b45dfbbbe9c995dddd114d0564 25-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Fix build for gcc." am: e40e429753
am: ee6936ca39

* commit 'ee6936ca39702577be30a36d66b29a4318b6d624':
Fix build for gcc.
e40e429753cfe84fee0aaf553b57ce8679a28c9d 25-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Fix build for gcc."
f2b67b85f5e192812212d3176c07e195c0ffa503 25-Jan-2016 Christopher Ferris <cferris@google.com> Fix build for gcc.

Gcc doesn't like the brace object initialization, so make all of
the Feature objects explicit.

Also, no arguments to the error_log macros make gcc unhappy, so add
an option to turn these into warnings. These will be fixed when we
add the explicit _error and _warn log functions.

Change-Id: I35af834dabb5548923e893dd980a751fdebfa13a
alloc_debug/Android.mk
alloc_debug/Config.cpp
892b61d3409e8cdf0e121c688737eb058d57f7ab 25-Jan-2016 Yabin Cui <yabinc@google.com> Make sem_wait able to return errno EINTR for sdk > 23.

Posix standards says sem_wait is interruptible by the delivery
of a signal. To keep compatiblity with old apps, only fix that
in newer sdk versions.

Bug: 26743454

Change-Id: I924cbb436658e3e0f397c922d866ece99b8241a3
ionic/libc_init_dynamic.cpp
ionic/libc_init_static.cpp
ionic/semaphore.cpp
342ad45b74273aee27cc7694079cd29967a5bcf2 25-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Malloc debug rewrite." am: 0f7631fd92
am: a5279732c4

* commit 'a5279732c48843bf8ed0b85460b19bceccb51d16':
Malloc debug rewrite.
0f7631fd92fb431ed74c5a63588d87f652b3ef77 25-Jan-2016 Christopher Ferris <cferris@google.com> Merge "Malloc debug rewrite."
786c8f2a3adc74d6f678bbca81cee0af1c06e318 25-Jan-2016 Elliott Hughes <enh@google.com> Merge "Move internal FILE flags macros to "local.h" from <stdio.h>." am: 7150e5a8ef
am: fbb43e96cd

* commit 'fbb43e96cd02a4bb116aab74a68bb95c3f68d38a':
Move internal FILE flags macros to "local.h" from <stdio.h>.
e70e0e9267d069bf56a5078c99307e08a7280de7 25-Jan-2016 Elliott Hughes <enh@google.com> Move internal FILE flags macros to "local.h" from <stdio.h>.

Bug: http://b/24807045
Change-Id: Ia42ec1907370b4af957ece94a856f71c7ee27cb7
nclude/stdio.h
tdio/local.h
16ef1585d7abdaeb7592c7c9a0539904e131a2bf 25-Jan-2016 Elliott Hughes <enh@google.com> Merge "Add _seek64 to FILE." am: ad9c3f34f7
am: ed90327224

* commit 'ed90327224955bb4a65c1c06582a5fe26f7f8c24':
Add _seek64 to FILE.
63860cb8fd1adf3f679b9b4ad876323a8d65cd9d 17-Nov-2015 Christopher Ferris <cferris@google.com> Malloc debug rewrite.

The major components of the rewrite:

- Completely remove the qemu shared library code. Nobody was using it
and it appears to have broken at some point.
- Adds the ability to enable/disable different options independently.
- Adds a new option that can enable the backtrace on alloc/free when
a process gets a specific signal.
- Adds a new way to enable malloc debug. If a special property is
set, and the process has an environment variable set, then debug
malloc will be enabled. This allows something that might be
a derivative of app_process to be started with an environment variable
being enabled.
- get_malloc_leak_info() used to return one element for each pointer that
had the exact same backtrace. The new version returns information for
every one of the pointers with same backtrace. It turns out ddms already
automatically coalesces these, so the old method simply hid the fact
that there where multiple pointers with the same amount of backtrace.
- Moved all of the malloc debug specific code into the library.
Nothing related to the malloc debug data structures remains in libc.
- Removed the calls to the debug malloc cleanup routine. Instead, I
added an atexit call with the debug malloc cleanup routine. This gets
around most problems related to the timing of doing the cleanup.

The new properties and environment variables:

libc.debug.malloc.options
Set by option name (such as "backtrace"). Setting this to a bad value
will cause a usage statement to be printed to the log.

libc.debug.malloc.program
Same as before. If this is set, then only the program named will
be launched with malloc debug enabled. This is not a complete match,
but if any part of the property is in the program name, malloc debug is
enabled.

libc.debug.malloc.env_enabled
If set, then malloc debug is only enabled if the running process has the
environment variable LIBC_DEBUG_MALLOC_ENABLE set.

Bug: 19145921

Change-Id: I7b0e58cc85cc6d4118173fe1f8627a391b64c0d7
ndroid.mk
ionic/debug_backtrace.cpp
ionic/debug_backtrace.h
ionic/debug_mapinfo.cpp
ionic/debug_mapinfo.h
ionic/libc_init_common.cpp
ionic/libc_init_dynamic.cpp
ionic/malloc_common.cpp
ionic/malloc_debug_backtrace.h
ionic/malloc_debug_check.cpp
ionic/malloc_debug_common.h
ionic/malloc_debug_disable.h
ionic/malloc_debug_leak.cpp
ionic/malloc_debug_qemu.cpp
alloc_debug/Android.mk
alloc_debug/BacktraceData.cpp
alloc_debug/BacktraceData.h
alloc_debug/Config.cpp
alloc_debug/Config.h
alloc_debug/DebugData.cpp
alloc_debug/DebugData.h
alloc_debug/FreeTrackData.cpp
alloc_debug/FreeTrackData.h
alloc_debug/GuardData.cpp
alloc_debug/GuardData.h
alloc_debug/MapData.cpp
alloc_debug/MapData.h
alloc_debug/TrackData.cpp
alloc_debug/TrackData.h
alloc_debug/backtrace.cpp
alloc_debug/backtrace.h
alloc_debug/debug_disable.cpp
alloc_debug/debug_disable.h
alloc_debug/debug_log.h
alloc_debug/exported32.map
alloc_debug/exported64.map
alloc_debug/malloc_debug.cpp
alloc_debug/malloc_debug.h
alloc_debug/tests/backtrace_fake.cpp
alloc_debug/tests/backtrace_fake.h
alloc_debug/tests/libc_fake.cpp
alloc_debug/tests/log_fake.cpp
alloc_debug/tests/log_fake.h
alloc_debug/tests/malloc_debug_config_tests.cpp
alloc_debug/tests/malloc_debug_unit_tests.cpp
alloc_debug/tests/property_fake.cpp
rivate/bionic_globals.h
rivate/bionic_malloc_dispatch.h
719ceaa69fa7e9435309d26443214dac3f2e692f 25-Jan-2016 Josh Gao <jmgao@google.com> Merge "Remove dlmalloc." am: c650447239
am: 0cdf1c1ebd

* commit '0cdf1c1ebd08aec49f18bed5f6275017d81b5d09':
Remove dlmalloc.
ad9c3f34f762ed45cce5dbb93218124ed31f6873 25-Jan-2016 Elliott Hughes <enh@google.com> Merge "Add _seek64 to FILE."
c650447239352d43acc2fd99a8579a85ae0469ab 25-Jan-2016 Josh Gao <jmgao@google.com> Merge "Remove dlmalloc."
0ac0cee0d1ab60a92103a5021e76ec31da2e3234 07-Jan-2016 Josh Gao <jmgao@google.com> Remove dlmalloc.

Bug: http://b/17207577
Change-Id: Ie009badca6deb1f91b27a4340b70cdd6bedff893
ndroid.mk
ionic/dlmalloc.c
ionic/dlmalloc.h
ionic/malloc_debug_common.cpp
ionic/ndk_cruft.cpp
nclude/malloc.h
rivate/bionic_tls.h
pstream-dlmalloc/README.txt
pstream-dlmalloc/malloc.c
pstream-dlmalloc/malloc.h
023c3071a036d84bbd7973edef152c5a48679cb7 23-Jan-2016 Elliott Hughes <enh@google.com> Add _seek64 to FILE.

Move fdopen/fopen/freopen and change them to initialize _seek64 instead
of the legacy _seek. The in-memory streams can stick with _seek for now,
since you're not going to fit a > 4GiB in-memory stream on a 32-bit device
anyway.

Bug: http://b/24807045
Change-Id: I09dcb426817b571415ce24d4d15f364cdda395b3
ndroid.mk
tdio/local.h
tdio/stdio.cpp
pstream-openbsd/lib/libc/stdio/fdopen.c
pstream-openbsd/lib/libc/stdio/fgetpos.c
pstream-openbsd/lib/libc/stdio/fopen.c
pstream-openbsd/lib/libc/stdio/freopen.c
pstream-openbsd/lib/libc/stdio/fsetpos.c
d9eede6a3b59d13727b07cc7ac6ae40ce7428a6b 23-Jan-2016 Elliott Hughes <enh@google.com> Merge "Put struct FILE back how NDK-built apps expect it." am: 8fb40bad49
am: dfb812170c

* commit 'dfb812170c5f87bbd6eaadc262e17585723b7fec':
Put struct FILE back how NDK-built apps expect it.
b877601bff1fcc60c7ea2180d15e38b1e873f36e 23-Jan-2016 Elliott Hughes <enh@google.com> Put struct FILE back how NDK-built apps expect it.

The first rule of stdio is you never change struct FILE. This broke all
NDK-built apps that used stdin/stdout/stderr. (Which is more than you
might think, given that those streams don't go anywhere useful. Svelte!)

I've added a big code comment because I knew when I removed the field that
doing so was a mistake, but I couldn't think why.

Bug: http://b/24807045
Bug: http://b/26747402
Change-Id: Ie1233586b223bb1cdf8e354c66d5ff23487a833a
tdio/local.h
tdio/stdio.cpp
9e3c7ae776639a235b5eaa595a1f2507903a9d07 22-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Temporary apply LIBC version to __pthread_gettid"" am: a42483baad
am: 03a37344b2

* commit '03a37344b28e52d4f3c6d8a4945f9d18693ec29f':
Revert "Temporary apply LIBC version to __pthread_gettid"
32e3b663a78c1f4f0cb9244358a8afa8111c4547 22-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "libc: hide __signalfd4 symbol" am: 05c2f6b3d3
am: 807f2fe5a1

* commit '807f2fe5a1cde3d7a0f68357dfc9da71c9d32f72':
libc: hide __signalfd4 symbol
e1287b60282316df0ba84659d9fa5f8215d1b9fc 22-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "libc: hide fake_gmtime_r and fake_localtime_r" am: 40316a3748
am: 5225f05de7

* commit '5225f05de766f053a6e1d2b3582753eaebafe6f8':
libc: hide fake_gmtime_r and fake_localtime_r
bba395492a0bb6ee72d0ad8e4d468e852392220e 21-Jan-2016 Dimitry Ivanov <dimitry@google.com> Revert "Temporary apply LIBC version to __pthread_gettid"

This reverts commit 0ef1d121b5e4845f4ef3b59ae9a1f99ceb531186.

Bug: http://b/26392296
Bug: http://b/26391427
Change-Id: I7bbb555de3a43813e7623ff6ad4e17874d283eca
ionic/ndk_cruft.cpp
ibc.arm.map
ibc.map.txt
ibc.mips.map
ibc.x86.map
05c2f6b3d39ee92eae248e902a5a54fdcc6c696f 22-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "libc: hide __signalfd4 symbol"
90d2daec5129fa1157886d972559475d6ab3a3c2 22-Jan-2016 Dimitry Ivanov <dimitry@google.com> libc: hide fake_gmtime_r and fake_localtime_r

Bug: http://b/26274444
Change-Id: Icf96a00142a287d8d3466d2545e213e605601b42
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
1a8732c2325397bca61e98b18c9c5e458b13394b 22-Jan-2016 Dimitry Ivanov <dimitry@google.com> libc: hide __signalfd4 symbol

Bug: http://b/26274444
Change-Id: Iaa2df640cac07e2e407ca11b9701ee9e11729146
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
f9df100c74220caf54a0ddaeabd0690333dbeda4 21-Jan-2016 Elliott Hughes <enh@google.com> Merge "Simplify fseek/ftell." am: 8d6e19408c
am: 2e86797fdf

* commit '2e86797fdf13312f806e08927c54e7bc9de34ceb':
Simplify fseek/ftell.
2704bd13409a77237147f861c43796148326b2e3 21-Jan-2016 Elliott Hughes <enh@google.com> Simplify fseek/ftell.

Another step towards _FILE_OFFSET_BITS=64 support.

Bug: http://b/24807045
Change-Id: I00b83c81a7b108176c4d9437bc32611f73b7e967
ndroid.mk
nclude/stdio.h
tdio/local.h
tdio/stdio.cpp
pstream-openbsd/lib/libc/stdio/fseek.c
pstream-openbsd/lib/libc/stdio/ftell.c
95232a56bd5ec859b5f1949847fbc54145fd5e85 21-Jan-2016 Elliott Hughes <enh@google.com> Merge "Move stdio implementation details around a little." am: 5f1ff279ea
am: 908d2d6eb4

* commit '908d2d6eb432826317f8c5fec2e7ea4cfd433973':
Move stdio implementation details around a little.
2b00b763464a1a800925de52a96881696ba92c6e 21-Jan-2016 Colin Cross <ccross@android.com> Merge "Update Android.bp to match Android.mk" am: 0904e878ae
am: eec1830d4d

* commit 'eec1830d4d18c511bad6b9ef33bc38de7b5dac17':
Update Android.bp to match Android.mk
5f1ff279ea6aa4c35c59a81018131810e35b2bff 21-Jan-2016 Elliott Hughes <enh@google.com> Merge "Move stdio implementation details around a little."
b0aca0f5aa4830f98bb3bbbc55a6577b4bdce619 20-Jan-2016 Colin Cross <ccross@android.com> Merge "Update Android.bp to match Android.mk" am: 18dea9b8d4
am: 966377d273

* commit '966377d273cb1909d8e06f1d117891d71ffe99e7':
Update Android.bp to match Android.mk
6dcab28311e0328fc00b63b210d7ebaf8b464db1 20-Jan-2016 Colin Cross <ccross@android.com> Update Android.bp to match Android.mk

Change-Id: Ia14a7af94d6220b3078b8d37b76990454b16703c
ndroid.bp
18dea9b8d41a05597f0f5e05cb82b1f347059a26 20-Jan-2016 Colin Cross <ccross@android.com> Merge "Update Android.bp to match Android.mk"
021335ebdac3768be571ea2fd0cb776b29a7f2df 20-Jan-2016 Elliott Hughes <enh@google.com> Move stdio implementation details around a little.

Change-Id: I24594426d5479bdd55cbef0ab1b7d76c249dbd0c
ndroid.mk
tdio/findfp.c
tdio/stdio.c
tdio/stdio.cpp
45ce099db42a82f895afbaa59ca76e22e1eb0786 20-Jan-2016 Elliott Hughes <enh@google.com> Merge "Make FILE*s less usable after fclose(3)." am: 8b49f53a5e
am: ff03d820b7

* commit 'ff03d820b7ce90fdc86919e611768175a347e11e':
Make FILE*s less usable after fclose(3).
8b49f53a5e3b4073c9341a5be6c9deb9a1666e7e 20-Jan-2016 Elliott Hughes <enh@google.com> Merge "Make FILE*s less usable after fclose(3)."
923f165b29866cba1bd077117127f576763b384d 20-Jan-2016 Elliott Hughes <enh@google.com> Make FILE*s less usable after fclose(3).

BSD doesn't invalidate the fd stored in struct FILE, which can make
it possible (via fileno(3), for example), to perform operations on
an fd you didn't intend to (rather than just failing with EBADF).

Fixing this makes the code slightly simpler anyway, and might help
catch bad code before it ships.

Bug: http://stackoverflow.com/questions/10816837/fclose-works-differently-on-android-and-linux
Change-Id: I9db74584038229499197a2695c70b58ed0372a87
ndroid.mk
tdio/findfp.c
tdio/local.h
tdio/stdio_ext.cpp
pstream-openbsd/lib/libc/stdio/fclose.c
pstream-openbsd/lib/libc/stdio/fileno.c
8ce38af73ad5dcdc3515f15bb58b7e7b133db1ee 19-Jan-2016 Colin Cross <ccross@android.com> Update Android.bp to match Android.mk

Change-Id: Ib6ab28c5b4569c9537c4647b3661166fdb82544a
ndroid.bp
76555a85416539ee18a87c598fb59e5f56a0d2c2 19-Jan-2016 Chih-hung Hsieh <chh@google.com> Merge "Switch libc default to clang." am: 50e0c388ac
am: fa930ef4d3

* commit 'fa930ef4d3f3386a60146d74cbc19d82f69b660d':
Switch libc default to clang.
b43ee658bbb071cc45bbd8455d3a9b8ec0cbbd4c 19-Jan-2016 Chih-Hung Hsieh <chh@google.com> Switch libc default to clang.

* Default to clang when USE_CLANG_PLATFORM_BUILD is not set
and the target has no clang bug.

BUG: 26102335
Change-Id: Ied6c9dc5593bfbadbb8d8b38e66ea237d649bae5
ndroid.mk
599775d7cdacb4159a040a13a4c6c3abdf21caf7 19-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix GCC build breakage." am: 579f42b789
am: f011e14463

* commit 'f011e144639891752f913779705c4f8f2f7381a7':
Fix GCC build breakage.
d1293faba6dbb9aa8a6253d565f8276e819c1453 19-Jan-2016 Elliott Hughes <enh@google.com> Fix GCC build breakage.

Change-Id: I0339f525c68af942fb97f4bffc771717e67e0e07
ionic/net_if.cpp
3e1a3dd357e6a2749fe33077c746d3ba6896ea0f 19-Jan-2016 Elliott Hughes <enh@google.com> Merge "Add more fortify symbols to the expected differences from glibc." am: 94ddc29c0e
am: e6fa0d3de7

* commit 'e6fa0d3de75125cd6e76167515a2a213baacac56':
Add more fortify symbols to the expected differences from glibc.
e45113332f1d82402252df7a8ce481054369e67c 19-Jan-2016 Elliott Hughes <enh@google.com> Merge "Implement if_nameindex(3)/if_freenameindex(3)." am: 89f4e09d8d
am: 6abae32142

* commit '6abae32142ff6e76457fa968a5a4711688c7946f':
Implement if_nameindex(3)/if_freenameindex(3).
94ddc29c0ebb0ba8493c070d40efb5d68260982d 19-Jan-2016 Elliott Hughes <enh@google.com> Merge "Add more fortify symbols to the expected differences from glibc."
ed57b98758176f0cccdec16cbed524e444039fe7 16-Jan-2016 Elliott Hughes <enh@google.com> Implement if_nameindex(3)/if_freenameindex(3).

This is just a subset of the recently-implemented getifaddrs(3), though if
we want to handle interfaces (such as "rmnet_*") that don't have an address,
we need to either expose ifaddrs_storage and keep track of which interfaces
we've already seen (which is pretty messy), or refactor the netlink code so
we can reuse it and just extract the information we need for if_nameindex(3).
This patch goes the latter route.

Also clean up if_nametoindex(3) and if_indextoname(3).

Change-Id: I5ffc5df0bab62286cdda2e7af06f032c767119a8
ndroid.mk
ionic/bionic_netlink.cpp
ionic/bionic_netlink.h
ionic/if_indextoname.c
ionic/if_nametoindex.c
ionic/ifaddrs.cpp
ionic/net_if.cpp
nclude/net/if.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
d07c4434f16edda1e2ded58ca50b702c39e9cc62 16-Jan-2016 Elliott Hughes <enh@google.com> Add more fortify symbols to the expected differences from glibc.

Change-Id: I6266b2e6cbea3c014b4ea30a7100186965e40cf1
ools/check-symbols-glibc.py
af05de0866b272b446e0b7671ebe2bebea74766d 16-Jan-2016 Elliott Hughes <enh@google.com> Merge "Sync with upstream OpenBSD." am: 68d0150221
am: dc75a7abe9

* commit 'dc75a7abe9bb9c06d72f5e7742c8348b2b5118ed':
Sync with upstream OpenBSD.
68d0150221eb505a576f6ad5ca1f367b4ce547a0 16-Jan-2016 Elliott Hughes <enh@google.com> Merge "Sync with upstream OpenBSD."
87dd943df7167e55434eae059723c1d15a0fb580 16-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "Align Soong builds closer to Make" am: 6ec2d5fbb5
am: a7c621eb88

* commit 'a7c621eb88fa517f09011af9b1e10b38e6493c70':
Align Soong builds closer to Make
506c6deff726c8c052ff5abb0cef57e63707bd1c 16-Jan-2016 Elliott Hughes <enh@google.com> Sync with upstream OpenBSD.

Also some minor build cleanup.

Change-Id: Ibd20602d7ea45685f0c47fceb00ffd6c7ae35954
ndroid.mk
ns/include/resolv_private.h
pstream-openbsd/android/include/openbsd-compat.h
pstream-openbsd/lib/libc/gen/err.c
pstream-openbsd/lib/libc/gen/errx.c
pstream-openbsd/lib/libc/gen/time.c
pstream-openbsd/lib/libc/gen/verr.c
pstream-openbsd/lib/libc/gen/verrx.c
pstream-openbsd/lib/libc/gen/vwarn.c
pstream-openbsd/lib/libc/gen/vwarnx.c
pstream-openbsd/lib/libc/gen/warn.c
pstream-openbsd/lib/libc/gen/warnx.c
pstream-openbsd/lib/libc/net/res_random.c
pstream-openbsd/lib/libc/stdio/asprintf.c
pstream-openbsd/lib/libc/stdio/fgetwc.c
pstream-openbsd/lib/libc/stdio/fgetws.c
pstream-openbsd/lib/libc/stdio/fputwc.c
pstream-openbsd/lib/libc/stdio/getdelim.c
pstream-openbsd/lib/libc/stdio/open_memstream.c
pstream-openbsd/lib/libc/stdio/open_wmemstream.c
pstream-openbsd/lib/libc/stdio/tempnam.c
pstream-openbsd/lib/libc/stdio/vasprintf.c
pstream-openbsd/lib/libc/stdio/vfprintf.c
pstream-openbsd/lib/libc/stdio/vfwprintf.c
pstream-openbsd/lib/libc/stdio/vswprintf.c
pstream-openbsd/lib/libc/stdlib/reallocarray.c
pstream-openbsd/lib/libc/stdlib/setenv.c
pstream-openbsd/lib/libc/stdlib/system.c
pstream-openbsd/lib/libc/string/strlcat.c
pstream-openbsd/lib/libc/string/strlcpy.c
pstream-openbsd/lib/libc/string/strtok.c
pstream-openbsd/lib/libc/string/wcslcpy.c
pstream-openbsd/lib/libc/time/wcsftime.c
9c9aa749708c95256f6f5509fc2336f45ab52fe2 16-Jan-2016 Dan Willemsen <dwillemsen@google.com> Align Soong builds closer to Make

This moves the Android.bp file to use wildcards in the same places that
they're using in the Android.mk file. It also fixes a file that was in a
different order.

Make and Soong still produce binaries with object files in different
orders, but that's due to Make reordering the object files based on
compile type. Soong keeps the original specified order. It's not
possible to emulate the reordered files in the Android.bp, since the
arch-specific files won't interleave properly.

Change-Id: I9052b3ed7c523c13df5cbe606f913c32c88c7c5f
ndroid.bp
c3ca5335eca6e34d22aad8dcadfc3452bdabf111 14-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix Soong mips builds" am: 1307831ba4
am: db7fb61cd7

* commit 'db7fb61cd739c83111a52e6d5fc6c3f6dd3ea094':
Fix Soong mips builds
e4f486ca25794898cd6e80b283f2ef92fd23aea5 14-Jan-2016 Dan Willemsen <dwillemsen@google.com> Fix Soong mips builds

Change-Id: I6ae8208e077d831969b08e7abd232deaa20ceca1
ndroid.bp
b4725b82f6ed5a3f8c03cebdba0b35f330d1618c 14-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix Soong x86 builds" am: df2f5fbe6f
am: e779309574

* commit 'e77930957460b891cfc05bf5880ea4fdde580de5':
Fix Soong x86 builds
a528d82ce02eb9334c8ee063c72c42d01af4c742 14-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Move __system_property* to LIBC_PRIVATE for lp64 libc"" am: 126d5ab779
am: 2bbd79e60b

* commit '2bbd79e60b0a8812413f6e003fc0415fcfd38267':
Revert "Move __system_property* to LIBC_PRIVATE for lp64 libc"
026cfe672ca40141b8b4f5631ac7019fe246f8e8 14-Jan-2016 Colin Cross <ccross@android.com> Merge "Rearrange build files to support USE_SOONG=true" am: 2487f3e15f
am: a4804222a3

* commit 'a4804222a3f11c936fe9674da706aa1758899a6e':
Rearrange build files to support USE_SOONG=true
de344e6f1ea50e22c7a8175669fbae993aa81103 14-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix Soong x86 atom builds" am: 5d10e69bea
am: 0d9e22277b

* commit '0d9e22277b87e83bc64bfdd6f27f9478a080b58d':
Fix Soong x86 atom builds
5077411304ed0128623f6dd0173f630d6e45f44d 14-Jan-2016 Colin Cross <ccross@android.com> Merge "Update Android.bp for changes to Android.mk" am: c292f57ec7
am: 77fe634d7c

* commit '77fe634d7cb980831cdc4493a903cb2a48c3ed03':
Update Android.bp for changes to Android.mk
ae6f69e2101977f2b426710694d47aa88f085749 13-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix <sys/sysmacros.h>." am: 9817c6c0cf
am: 4195fff5f3

* commit '4195fff5f348572a94a54211c147ba2a15d32e02':
Fix <sys/sysmacros.h>.
4031cbe9c2072107b481b1794767333bb27d8287 13-Jan-2016 Dan Willemsen <dwillemsen@google.com> Fix Soong x86 builds

Change-Id: Ida3f3584f832d61caf7200557ea57be799eaf38e
ndroid.bp
126d5ab779d8d4b34e7450a36db4641629f15d29 13-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Move __system_property* to LIBC_PRIVATE for lp64 libc""
e1078a939afe4b29ddb0f6ef13419395e1f0b03c 13-Jan-2016 Dimitry Ivanov <dimitry@google.com> Revert "Move __system_property* to LIBC_PRIVATE for lp64 libc"

This reverts commit ff14fb5a1f809d87125fa0d14f08d486b6bf1ea1.

Bug: http://b/26497521
Change-Id: Id7131b37a31e936db0e72ef9969e1f13d2dd578f
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
2487f3e15f19cd370f2e45b466c577cbb4db23f8 13-Jan-2016 Colin Cross <ccross@android.com> Merge "Rearrange build files to support USE_SOONG=true"
5d10e69bea2381317c70861cf9984275906c81b4 13-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix Soong x86 atom builds"
c292f57ec74469c3202e74d171c5079b687869d1 13-Jan-2016 Colin Cross <ccross@android.com> Merge "Update Android.bp for changes to Android.mk"
d28efc7e486d01cf0dad29cef0cb00115f48d659 13-Jan-2016 Chih-hung Hsieh <chh@google.com> Merge "Explicit binary op order for both gcc and clang/llvm." am: 2c7d1e67e0
am: 20bc1b11bb

* commit '20bc1b11bb6ebc98d8733fa008cef229f40c6404':
Explicit binary op order for both gcc and clang/llvm.
701b54533b477c7c7469d9a3109bfd705ccbf7a8 13-Jan-2016 Dan Willemsen <dwillemsen@google.com> Fix Soong x86 atom builds

Change-Id: Ie92e605c499f128335a8da7cfefa7e6ae367a223
ndroid.bp
936426e3380213d11515c5910107884cb486f0d4 13-Jan-2016 Elliott Hughes <enh@google.com> Merge "Handle AF_PACKET in getifaddr(3)." am: 8d809f18c7
am: f6caddf340

* commit 'f6caddf3406795435521c047525999ef01f77513':
Handle AF_PACKET in getifaddr(3).
9361ad3f80adc1e21ab97c8d684afed311788e00 12-Jan-2016 Elliott Hughes <enh@google.com> Fix <sys/sysmacros.h>.

1. The definitions were wrong.
2. The definitions were inline functions.
3. The definitions were polluting the namespace even for code that doesn't
want BSD cruft.

Note that everybody will still get these by default, because you still get
all the BSD stuff by default.

Bug: http://b/12706131
Change-Id: I062ecd09feef7a6e8ba1922d465b96a9c4bf4f4e
nclude/sys/sysmacros.h
nclude/sys/types.h
c23aeb8414176a0d8dd0cc36f9a5a1907e233a0c 11-Jan-2016 Colin Cross <ccross@android.com> Rearrange build files to support USE_SOONG=true

Building with USE_SOONG=true will build with an Android.bp file if it is
present in the directory, otherwise an Android.mk file. Only a few of
the bionic directories compile with soong, so include all of them from
the top level Android.mk file and remove the top level Android.bp file.
Individual subdirectories with Android.bp files will use soong with
USE_SOONG=true.

Change-Id: Idf8d7977ea4668fa646be25b543bf9d3773de615
ndroid.mk
2c7d1e67e02816cade2bc7a89b5ea42523840b8e 12-Jan-2016 Chih-hung Hsieh <chh@google.com> Merge "Explicit binary op order for both gcc and clang/llvm."
592c7b4cd72e18f2f1941df3d63026d7f94ef7ce 12-Jan-2016 Chih-Hung Hsieh <chh@google.com> Explicit binary op order for both gcc and clang/llvm.

* gcc assembler parses (1 << n - 1) as ((1 << n) - 1)
* llvm assembler parses (1 << n - 1) as (1 << (n - 1))

BUG: 26289334
Change-Id: Iaaa3d07f59c0f87cb1b80b9a1c4e765b66846791
rch-x86/atom/string/sse2-strrchr-atom.S
rch-x86/atom/string/sse2-wcsrchr-atom.S
a3f9fca568015e6f16640e1c85d4f5bd28180747 11-Jan-2016 Colin Cross <ccross@android.com> Update Android.bp for changes to Android.mk

Change-Id: Ie01e326e2776c699237b156155610d08801c0cd4
ndroid.bp
fdb2963e0a65ececa89837eff64ffd8aca8027d2 22-Dec-2015 Yi Kong <yikong@google.com> Handle AF_PACKET in getifaddr(3).

Also fix a bug where we were mutating the address/broadcast address
of an existing entry rather than the new entry, and use 'const' to
ensure we don't make that mistake again.

Change-Id: I31c127a5d21879b52c85cd0f7ed2e66554a21e39
ionic/ifaddrs.cpp
8849ad6287d52f8294fb09ffa4426416720df25e 08-Jan-2016 Elliott Hughes <enh@google.com> Merge "Defend against -fstack-protector in libc startup." am: 195b85a80f
am: 6e499bc37d

* commit '6e499bc37d9caa8c914a8f83345bc2b2d8ae8132':
Defend against -fstack-protector in libc startup.
386a8cef0bebd3aad0c13d2fc9892d5ba6de64cf 08-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Move __aeabi* symbols to LIBC_N version" am: 2afe5af77f
am: 8f52313afe

* commit '8f52313afe1fefd9f8d6b5f19c37dfd4063be289':
Move __aeabi* symbols to LIBC_N version
195b85a80faadcb4180f7f8192fc8ae162165892 08-Jan-2016 Elliott Hughes <enh@google.com> Merge "Defend against -fstack-protector in libc startup."
6d142bcf34ffd49efaf4285bb2af63a1636706f9 08-Jan-2016 Dimitry Ivanov <dimitry@google.com> Move __aeabi* symbols to LIBC_N version

We had these symbols incorrectly versioned as LIBC_PRIVATE
in M release. This change moves __aeabi* symbols from LIBC
to LIBC_N and adds __gnu_Unwind_Find_exidx to the list

Bug: https://github.com/android-ndk/ndk/issues/1
Change-Id: I0b353012adeacb00ae29ea10c63b9d1cf1cadbe7
rch-arm/bionic/__aeabi.c
rch-arm/bionic/exidx_dynamic.c
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
42d949ff9d2956e25f84e537f43a8f93ecb37baf 07-Jan-2016 Elliott Hughes <enh@google.com> Defend against -fstack-protector in libc startup.

Exactly which functions get a stack protector is up to the compiler, so
let's separate the code that sets up the environment stack protection
requires and explicitly build it with -fno-stack-protector.

Bug: http://b/26276517
Change-Id: I8719e23ead1f1e81715c32c1335da868f68369b5
ndroid.mk
rch-arm64/arm64.mk
rch-x86_64/x86_64.mk
ionic/__cxa_thread_atexit_impl.cpp
ionic/__libc_init_main_thread.cpp
ionic/libc_init_common.cpp
ionic/libc_init_dynamic.cpp
ionic/libc_init_static.cpp
ionic/pthread_internal.h
rivate/bionic_tls.h
8f21ec0ba4db001e3c6d0daaa279d93043f02e56 06-Jan-2016 Josh Gao <jmgao@google.com> Merge "Kill BOARD_MALLOC_ALIGNMENT." am: 988e71b2b2
am: b0f7fc83aa

* commit 'b0f7fc83aa649b5287a884ccf5b74fd7dcc24096':
Kill BOARD_MALLOC_ALIGNMENT.
63a42070fca452da2d543d2c253d1844eb611ef9 06-Jan-2016 Josh Gao <jmgao@google.com> Kill BOARD_MALLOC_ALIGNMENT.

Bug: http://b/26403338
Change-Id: Iba4006277fdb7c7ca60542c517634ae86c847b4f
ndroid.bp
ndroid.mk
5d00304996a9a071748bd74823b34c9e03bce30f 06-Jan-2016 Josh Gao <jmgao@google.com> Merge "Replace MALLOC_IMPL with MALLOC_SVELTE." am: e1f8c66d0b
am: 8e3cc4179b

* commit '8e3cc4179bc1130cdcb940466602a89ceb9c0327':
Replace MALLOC_IMPL with MALLOC_SVELTE.
e1f8c66d0b5806b4080d120723de2deec561a3ef 06-Jan-2016 Josh Gao <jmgao@google.com> Merge "Replace MALLOC_IMPL with MALLOC_SVELTE."
32388ba4dc765619e89dac5b71a68372019da58e 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Temporary hack to avoid stack protector crashes."
3389f89dcc9c16a721db376a0063ddb5cce093db 06-Jan-2016 Tom Cherry <tomcherry@google.com> Merge "Revert "system_properties.cpp: special case ro.* properties"" am: 9353089262
am: f16931bcc0

* commit 'f16931bcc080e664c4bd5f8605a020dc96729485':
Revert "system_properties.cpp: special case ro.* properties"
9353089262b21f88a2dca6516f03a4dd39a5dbd1 06-Jan-2016 Tom Cherry <tomcherry@google.com> Merge "Revert "system_properties.cpp: special case ro.* properties""
e97ce31fe768f6383234d809eef144f049210a5e 06-Jan-2016 Tom Cherry <tomcherry@google.com> Revert "system_properties.cpp: special case ro.* properties"

This reverts commit c5fd81ab2524a06be907d9c5234e79346bbbbd7c.

Bug: 26416032

Change-Id: Id2d6761fdf55efa28c0b08b597daaa5cd381d758
ionic/system_properties.cpp
2489161ce5d65421030d09fac7fe09d217bb0981 06-Jan-2016 Elliott Hughes <enh@google.com> Temporary hack to avoid stack protector crashes.

It'll take me a while to refactor things cleanly, but if we just want
something that boots for testing...

Bug: http://b/26276517
Change-Id: I24729d3dc546e36e0eff383f0d1d05c3aa1f2e0b
ndroid.mk
17726057bf30392081b317e13f9bd8462d2f4ae1 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Remove mktime_tz." am: 1464f6d8d9
am: 896fc0648e

* commit '896fc0648eabe52085c46397e735d4363686d8a5':
Remove mktime_tz.
1464f6d8d9d560ed57bd878b822b2611c821b8bd 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Remove mktime_tz."
d7763eaabbb2d995c5a0384204e37f124077f1bd 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Temporary move __udivdi3 back to LIBC for x86" am: 4664c14fa4
am: ac414ee303

* commit 'ac414ee3039d10a70154a99143688bf9dc03ef00':
Temporary move __udivdi3 back to LIBC for x86
bc02fb964a59983521c5f6cf80b1189434952780 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Temporary move __udivdi3 back to LIBC for x86

Bug: http://b/26289334
Bug: http://b/26413821
Change-Id: Ifb0eb6f16aca54cb4a9184a6394992ee57dd3408
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
76dfa6e351952e60893e236022df54a23a558b65 06-Jan-2016 Elliott Hughes <enh@google.com> Remove mktime_tz.

Bug: http://b/15765976
Change-Id: Ifc8cd19ae621e611d66173ae927ef9a0445965c1
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
rivate/bionic_time.h
zcode/localtime.c
fb10eadaf949b5d3f2aa9ad2993d1aef862f8e6a 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Fix gcc+arm builds" am: 74d7aa1c34
am: b83976c897

* commit 'b83976c89788d2a74cd1359d75640da5e010e42b':
Fix gcc+arm builds
6f72fdede8c820cabc5e823763dae34bcbeeb40b 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Fix gcc+arm builds

gcc requires unique names of symbols for .symver

Bug: http://b/26391427
Change-Id: I6392e34a45a37245fd4e53fb54243be73f443313
rch-arm/bionic/__aeabi.c
4b06b7e6cb0eacf42b0979899747ebc4065e8de5 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Deprecate bzero" am: 52fd4ca0a0
am: 632b99ccfb

* commit '632b99ccfb0e1b7edfdbd16fc7cbd9d260fa0e2c':
Deprecate bzero
3bd261a49caf0881b92d0fbfdec99980db7edacb 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Export public __aeabi* symbols as LIBC_PRIVATE" am: 609156e266
am: 46ae417324

* commit '46ae417324a2ffe393fd704e25a8651269db457d':
Export public __aeabi* symbols as LIBC_PRIVATE
52fd4ca0a0367109500a31a63c5d392372f8f2ad 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Deprecate bzero"
609156e266726d89ec9084db77fd3aa68d50c622 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Export public __aeabi* symbols as LIBC_PRIVATE"
d90d067312ac9aaf82e272b4477f0ba71a9b0bdd 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Export public __aeabi* symbols as LIBC_PRIVATE

But keep LIBC as default version for them

Bug: http://b/26391427
Bug: http://b/26410625
Change-Id: I819e354bbba482d1f983d9be15c23fcce10e5dd9
rch-arm/bionic/__aeabi.c
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
f8141f73a19cf6efdf7e8fd033bb8769656c655c 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix a broken link in a comment." am: 031dfe198b
am: 38687177b7

* commit '38687177b7e55a82e2d19584b4e2fd051f968838':
Fix a broken link in a comment.
6117a6a88dc4c450bac2ddccd39bcc684760bf69 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Tidy up KernelArgumentBlock::getauxval." am: 7d27b68ef4
am: 5601b43fe6

* commit '5601b43fe6cb611f873bbc7cd227af2767b45edc':
Tidy up KernelArgumentBlock::getauxval.
031dfe198b53753bc852961e915fedb78c5f42df 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Fix a broken link in a comment."
7d27b68ef4abf279700ff6a4eb9584b6c969a00d 06-Jan-2016 Elliott Hughes <enh@google.com> Merge "Tidy up KernelArgumentBlock::getauxval."
6134ed8b8f90a0c9a2d132021908fa4ce4633719 06-Jan-2016 Dimitry Ivanov <dimitry@google.com> Deprecate bzero

bzero is hashdefined to memset in strings.h and it
was removed from POSIX 2008.

Bug: http://b/26407170
Change-Id: Ia6d54f0e314dc7f5f3fbad0e9b00344f49f77d43
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
35fe6811846aa3d73d00e7b1c6117ec142506375 06-Jan-2016 Nick Kralevich <nnk@google.com> Merge "system_properties.cpp: special case ro.* properties" am: ffa54cd7ba
am: 8dc77ff0cb

* commit '8dc77ff0cbf4e02c3b1262b4bec01d2749cb5049':
system_properties.cpp: special case ro.* properties
40c2bf6cf6d9fa423d36128823451ae1cc1f7662 06-Jan-2016 Elliott Hughes <enh@google.com> Fix a broken link in a comment.

Bug: https://code.google.com/p/android/issues/detail?id=197784
Change-Id: I2f9e5bc2dd2b8a6992c7c55bc856e4a323c7c8a8
ionic/libc_init_common.cpp
c5fd81ab2524a06be907d9c5234e79346bbbbd7c 06-Jan-2016 Nick Kralevich <nnk@google.com> system_properties.cpp: special case ro.* properties

Currently, reads of ro.* properties are treated differently than
writes of ro.* properties. When writing an ro.* property, we ignore
the "ro." portion of the property, and base the security decision
on the label of the remaining portion.

See https://android.googlesource.com/platform/system/core/+/e7a9e52740c952c623f7842ffa1d09b58b45e552/init/property_service.cpp
line 120-126

For example, for writing, the label associated with
"ro.build.fingerprint" comes from the /property_contexts file
entry:

# ro.build.fingerprint is either set in /system/build.prop, or is
# set at runtime by system_server.
build.fingerprint u:object_r:fingerprint_prop:s0

However, we fail to follow this same special case when sorting
properties into files. Instead, ro.build.fingerprint is assigned
u:object_r:default_prop:s0 instead of u:object_r:fingerprint_prop:s0

Ignore the "ro." portion when sorting properties into files.
This will make reads and writes of properties use the same label.

Bug: 21852512
Change-Id: Ie88ffc6b78b31fc8ddf370ae27c218546fb25a83
ionic/system_properties.cpp
63fbb233cbdf0f0d6fb6ce23234f5fc75855ba85 06-Jan-2016 Elliott Hughes <enh@google.com> Tidy up KernelArgumentBlock::getauxval.

Correct the comment, and remove the unused functionality. getauxval(3) does
now set errno to let you know it failed to find anything, but since none of
this function's callers care anyway it seems safer to leave errno untouched
until we actually have a demonstrated need for it.

Bug: https://code.google.com/p/android/issues/detail?id=198111
Change-Id: I232a42dc5a02c8faab94c7d69bef610408276c23
rivate/KernelArgumentBlock.h
7d63998febd0bef3641c334bdcd88779b30656ee 06-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "libc: Update Android.bp with recent changes" am: 507d6f2a51
am: 299d30caee

* commit '299d30caee749c2755696afffeee1ccb7cccb909':
libc: Update Android.bp with recent changes
507d6f2a51f907f46b5d4bfe32b5a826ad7dd25f 06-Jan-2016 Dan Willemsen <dwillemsen@google.com> Merge "libc: Update Android.bp with recent changes"
9b59acc9c766c8056d65b920c8c7cf96e3dcb3e0 05-Jan-2016 Dan Willemsen <dwillemsen@google.com> libc: Update Android.bp with recent changes

Change-Id: I54047df9db95169452bbac6d52c75161d2f3bb64
ndroid.bp
4e28ad70c5f6299ca9470429ff6532879569992b 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Move __aeabi_ which are not in libgcc.a to LIBC" am: e647db7485
am: be98a0e0b0

* commit 'be98a0e0b037cd8e4811761920d764e6540d1536':
Move __aeabi_ which are not in libgcc.a to LIBC
bb5730ecdb0a340ea5f5441be819c6faa508998b 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Move __aeabi_ which are not in libgcc.a to LIBC

The following arm symbols should be exported by libc.so:
__aeabi_atexit; # arm
__aeabi_memclr; # arm
__aeabi_memclr4; # arm
__aeabi_memclr8; # arm
__aeabi_memcpy; # arm
__aeabi_memcpy4; # arm
__aeabi_memcpy8; # arm
__aeabi_memmove; # arm
__aeabi_memmove4; # arm
__aeabi_memmove8; # arm
__aeabi_memset; # arm
__aeabi_memset4; # arm
__aeabi_memset8; # arm

Bug: https://github.com/android-ndk/ndk/issues/1
Change-Id: I542d1ad023b8aece5dc05a28a9ca549cb51455b4
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
09f4651c0ef1920e5f48d87308f6cdd1e5b74149 05-Jan-2016 Josh Gao <jmgao@google.com> Replace MALLOC_IMPL with MALLOC_SVELTE.

Bug: http://b/26390299
Change-Id: I665f64bff4d598607e1eb7c4078819fe1d400feb
ndroid.mk
7fb6e5a4ee82bfff3e43b3b1783cbb90d5eaf404 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Temporary apply LIBC version to __pthread_gettid" am: ff164ef661
am: d3e42336a6

* commit 'd3e42336a6a3c7738f83245d1a4cce0c0bdb0bbe':
Temporary apply LIBC version to __pthread_gettid
0ef1d121b5e4845f4ef3b59ae9a1f99ceb531186 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Temporary apply LIBC version to __pthread_gettid

This is workaround for http://b/26391427

Bug: http://b/26391427
Change-Id: Ibf5c611cf4c04dfa595644225e6d9503089a18da
ionic/ndk_cruft.cpp
ibc.arm.map
ibc.map.txt
ibc.mips.map
ibc.x86.map
5b8a5ddcf55cafb7114224359b2817137031657a 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Temporary apply LIBC version to __pthread_gettid"" am: c1113a3fc7
am: 331006a759

* commit '331006a75959036dd593f9b839d183dbeb7a2936':
Revert "Temporary apply LIBC version to __pthread_gettid"
c8bb96a163ac4e4f47f305df9e4dc1252f6a938d 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Revert "Temporary apply LIBC version to __pthread_gettid"

This reverts commit eb90e91cb5872f6aac7008b0c83e103d396be196.

Change-Id: I63450087b6d3c23218b77d5eee37965f254a82d6
ionic/ndk_cruft.cpp
b608b35e669648e76c2744bb9093b726cf43ad3f 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge "Temporary apply LIBC version to __pthread_gettid" am: 56ecf28014
am: 1ace273152

* commit '1ace2731523e91beb132ac9e6bcaa431e2bf9829':
Temporary apply LIBC version to __pthread_gettid
eb90e91cb5872f6aac7008b0c83e103d396be196 05-Jan-2016 Dimitry Ivanov <dimitry@google.com> Temporary apply LIBC version to __pthread_gettid

This is workaround for http://b/26391427

Bug: http://b/26391427
Change-Id: I4ccc56e8b1bd2597f267df9706a33bb635abcfcb
ionic/ndk_cruft.cpp
026e1b7fd8832cd298bcc9c8838287b713b54444 04-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge changes I4fc241e6,Idca71396 am: 04673ee997
am: cf5e570519

* commit 'cf5e570519d537a3d002d605ffb72f6b1a6216cf':
Move __system_property* to LIBC_PRIVATE for lp64 libc
Move ndk-cruft symbols to LIBC_PRIVATE
04673ee997996e970d58c2ab83041ca7f01ebe5c 04-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge changes I4fc241e6,Idca71396

* changes:
Move __system_property* to LIBC_PRIVATE for lp64 libc
Move ndk-cruft symbols to LIBC_PRIVATE
ff14fb5a1f809d87125fa0d14f08d486b6bf1ea1 04-Jan-2016 Dimitry Ivanov <dimitry@google.com> Move __system_property* to LIBC_PRIVATE for lp64 libc

Bug: http://b/26367254
Change-Id: I4fc241e69444a4b5641dfdf09576fe3ce5c1169e
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
eac1d371f6cef488d51c551f37a794a2cc47165f 04-Jan-2016 Dimitry Ivanov <dimitry@google.com> Move ndk-cruft symbols to LIBC_PRIVATE

Bug: http://b/26385283
Change-Id: Idca71396f9de4141eefc4e1851ba92ebff1ac792
ibc.arm.map
ibc.map.txt
ibc.mips.map
ibc.x86.map
f19a48c36a93bd69da96e8eb456d65a58b74f7cb 04-Jan-2016 Elliott Hughes <enh@google.com> Merge "Revert "Revert "Implement getifaddrs(3)/freeifaddrs(3).""" am: e13434f9da
am: 0542458477

* commit '054245847742895989b37999771e30c832feb35d':
Revert "Revert "Implement getifaddrs(3)/freeifaddrs(3).""
9cddb482b498abd134f7ccfc9933747e8bcb9cc7 04-Jan-2016 Elliott Hughes <enh@google.com> Revert "Revert "Implement getifaddrs(3)/freeifaddrs(3).""

This reverts commit 76814a8250fd5e1502909ef5e10e4d166cc96c0e.

This differs from the original in fixing the GCC -Werror build:

bionic/libc/bionic/ifaddrs.cpp: In function 'void __handle_netlink_response(ifaddrs**, nlmsghdr*)':
bionic/libc/bionic/ifaddrs.cpp:113:62: error: use of old-style cast [-Werror=old-style-cast]
ifinfomsg* ifi = reinterpret_cast<ifinfomsg*>(NLMSG_DATA(hdr));

This appears to be a GCC bug; the GCC command-line correctly uses -isystem,
and manually adding #pragma GCC system_header doesn't help. So just turn the
warning off for GCC for now. We won't need to worry about building with GCC
soon anyway.

Bug: http://b/26238832
Change-Id: I01615bd335edf11baf487b1c83a9157cd780f4a1
ndroid.mk
ionic/ifaddrs.cpp
nclude/ifaddrs.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
8e4ed428fa22abcf964a6de6f1fe6c631e1a3dc5 04-Jan-2016 Dimitry Ivanov <dimitry@google.com> Merge changes Ic66f6519,Ic16acea5 am: 2fed6aa9f0
am: e544566d70

* commit 'e544566d70c46f9baa1443f0eeac357fb88f2454':
Make some of unwanted symbols LIBC_PRIVATE
Make symbols exported via libgcc.a LIBC_PRIVATE
ab761ad9cf32a98e09f121c31564c2c6080f9fa4 22-Dec-2015 Yi Kong <yikong@google.com> Merge "Revert "Implement getifaddrs(3)/freeifaddrs(3)."" am: b62e633ff6
am: fcd69c0d03

* commit 'fcd69c0d03d64d3281ea5710a12487dc461d5384':
Revert "Implement getifaddrs(3)/freeifaddrs(3)."
b62e633ff679a65df97be55bd0ae6a02633ce472 22-Dec-2015 Yi Kong <yikong@google.com> Merge "Revert "Implement getifaddrs(3)/freeifaddrs(3).""
76814a8250fd5e1502909ef5e10e4d166cc96c0e 22-Dec-2015 Yi Kong <yikong@google.com> Revert "Implement getifaddrs(3)/freeifaddrs(3)."

Werror build broken. Revert while working on a fix.

This reverts commit 0945ed5cc5921243724fed4465d20881f4891a8d.

Change-Id: I67edab7a7a3b9aa673ce9d14aa95380f947838a1
ndroid.mk
ionic/ifaddrs.cpp
nclude/ifaddrs.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
dda7874883fa733e2c3518b8a0569a94a1d33bda 22-Dec-2015 Yi Kong <yikong@google.com> Merge "Implement getifaddrs(3)/freeifaddrs(3)." am: 71417caa92
am: 9766fc8f4e

* commit '9766fc8f4efb263c8304b111030b1381a3ef8462':
Implement getifaddrs(3)/freeifaddrs(3).
71417caa927bb6720ae6cd759f335d8081f57895 22-Dec-2015 Yi Kong <yikong@google.com> Merge "Implement getifaddrs(3)/freeifaddrs(3)."
788a2bc756fdc3dbaf0d2622ba47fccdfd8e6f01 22-Dec-2015 Dimitry Ivanov <dimitry@google.com> Make some of unwanted symbols LIBC_PRIVATE

Bug: http://b/26274444
Change-Id: Ic66f6519a974b72779071235c1d0dd36655fd1b9
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
5ce79b0af3c7b958d48bf0b4e14116765ffe04c8 22-Dec-2015 Dimitry Ivanov <dimitry@google.com> Make symbols exported via libgcc.a LIBC_PRIVATE

Bug: http://b/26298172
Change-Id: Ic16acea56624680d48c0b190fbe5a6142a3fca2b
ibc.arm.brillo.map
ibc.arm.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.x86.brillo.map
ibc.x86.map
7331fe18d7ffd550996e07b534bc7a6cf625afa5 14-Dec-2015 Dimitry Ivanov <dimitry@google.com> linker: implement shared namespaces

Shared namespaces clone the list of loaded native
libraries from the caller namespace. This allows
classloaders for bundled apps to share already loaded
libraries with default namespace.

Bug: http://b/22548808
Bug: http://b/26165097
Change-Id: I8949d45937fdb38e1f586ff0679003adac0d9dad
(cherry picked from commit e78deef364d952dd1141a2f3067a12060aaf11e6)
nclude/android/dlext.h
0945ed5cc5921243724fed4465d20881f4891a8d 19-Dec-2015 Elliott Hughes <enh@google.com> Implement getifaddrs(3)/freeifaddrs(3).

Time to dust off the old libcore implementation from gingerbread and add it
to bionic. Unlike the original, this actually looks at both RTM_NEWLINK and
RTM_NEWADDR.

Bug: http://b/26238832
Change-Id: I7bb4b432deb766065b66b9c9ff36ed68249aba82
ndroid.mk
ionic/ifaddrs.cpp
nclude/ifaddrs.h
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.map
1da6fc444baff5d74f4ce4ff6e5f787f4fb90677 19-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "linker: implement shared namespaces"
17708b7f8a4d641d661bd3b3ba658ad32c3121a5 18-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Reset access to system properties on reinitialization" am: dd57119ced
am: 71cf3d83ac

* commit '71cf3d83acb0ba64a0ca75edbd66498659ffd427':
Reset access to system properties on reinitialization
34a396347125727599a9a22d841d4d89007aa674 18-Dec-2015 Elliott Hughes <enh@google.com> Merge "sem_timedwait with a null timeout doesn\'t mean "forever"." am: 7cb3c4af13
am: 9c18a263ed

* commit '9c18a263ed1211c08908c82e79b14387c4e55e58':
sem_timedwait with a null timeout doesn't mean "forever".
e78deef364d952dd1141a2f3067a12060aaf11e6 14-Dec-2015 Dimitry Ivanov <dimitry@google.com> linker: implement shared namespaces

Shared namespaces clone the list of loaded native
libraries from the caller namespace. This allows
classloaders for bundled apps to share already loaded
libraries with default namespace.

Bug: http://b/22548808
Bug: http://b/26165097
Change-Id: I8949d45937fdb38e1f586ff0679003adac0d9dad
nclude/android/dlext.h
e5d1651c0872b91e85cbaee298f72125f4f9275b 17-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "linker: add dlvsym(3)" am: d4f86aed42
am: d311207aeb

* commit 'd311207aeb7aecd657fb0e101c76f07cd3f4bf2f':
linker: add dlvsym(3)
dd57119ced4670de2ea18fc84a59f20ccec353a7 17-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Reset access to system properties on reinitialization"
7cb3c4af134cfa4308742c86086bccdd06463c0c 17-Dec-2015 Elliott Hughes <enh@google.com> Merge "sem_timedwait with a null timeout doesn't mean "forever"."
1dddcc24d5a66dbd2faf6e06c492273565e1bf22 17-Dec-2015 Christopher Ferris <cferris@google.com> Merge "Fix missing parentheses." am: 27032a39dd
am: c5ba41662a

* commit 'c5ba41662a16a23e1e20f8c9955f28d3d2858f5b':
Fix missing parentheses.
8f1bd82d5c35e76410dd13e15a7140ea7d27ace0 17-Dec-2015 Christopher Ferris <cferris@google.com> Merge "Fix bug in dlmalloc\'s version of calloc." am: 9f20db1c94
am: b866c94484

* commit 'b866c94484916c0898cd1cc52c57c4924dddbb9e':
Fix bug in dlmalloc's version of calloc.
d4f86aed42a97e1d7c502595b0fe1270f7989c7a 17-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "linker: add dlvsym(3)"
0b13f29b2cc88e389bb85378c81ccc352361466d 17-Dec-2015 Christopher Ferris <cferris@google.com> Fix missing parentheses.

The BIONIC_ROUND_UP_POWER_OF_2 macro did not have parentheses around
the whole expression. This lead to the wrong value being computed when
used as part of a mathematical expression such as this:

value = BIONIC_ROUND_UP_POWER_OF_2(value) - 1;

This only happens on 64 bit abis.

Change-Id: I6f8afbdaf16fe64a88fa0246d074b3534c9159c1
rivate/bionic_macros.h
9cf99cbad89c8495828788ce693a99ced434f66f 11-Dec-2015 Dimitry Ivanov <dimitry@google.com> linker: add dlvsym(3)

This changes implements dlvsym - dlsym for versioned symbols.

Bug: http://b/22865643
Change-Id: Ic90a60d512104261a1416c43f9100f0d88e3b46f
nclude/dlfcn.h
dd586f2ebd0c42904e699f3634568a38c97d4da7 17-Dec-2015 Elliott Hughes <enh@google.com> sem_timedwait with a null timeout doesn't mean "forever".

It actually means "crash immediately". Well, it's an error. And callers are
much more likely to realize their mistake if we crash immediately rather
than return EINVAL. Historically, glibc has crashed and bionic -- before
the recent changes -- returned EINVAL, so this is a behavior change.

Change-Id: I0c2373a6703b20b8a97aacc1e66368a5885e8c51
ionic/pthread_cond.cpp
ionic/pthread_mutex.cpp
ionic/pthread_rwlock.cpp
ionic/semaphore.cpp
rivate/bionic_time_conversions.h
ad33ebead801f24d3197bc16f875501729e98485 16-Dec-2015 Christopher Ferris <cferris@google.com> Fix bug in dlmalloc's version of calloc.

Under some circumstances, doing a calloc will make sure that the memory
returned will be zero up to the size of the requested size. However, if
there is more usable size than the requested size, that extra part
of the allocation will not be zeroed. This change fixes it so that the
entire usable memory is always zeroed.

Change-Id: I8a66d6767c074023c4ba3568bf2705e1886740fc
pstream-dlmalloc/malloc.c
3808670f13ad1e5ea3400fe611514f4cf6d3ef05 16-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Revert "Remove remaining ndk_cruft from LP64 platforms""" am: d3e5301a75
am: 696340ce71

* commit '696340ce7101b07a5af61351d462382a784b7085':
Revert "Revert "Remove remaining ndk_cruft from LP64 platforms""
bc2e88a85d5fd3e59c041a667283378c1503a16c 16-Dec-2015 Dimitry Ivanov <dimitry@google.com> Revert "Revert "Remove remaining ndk_cruft from LP64 platforms""

This reverts commit 23af25b747b5e7b0ca513a87b32f1f6a3cb99698.

Bug: http://b/26164862
Change-Id: I201bf49530f33f8ba6a1a35b79723afb9e84c7a5
ndroid.mk
ionic/ndk_cruft.cpp
ibc.arm.map
ibc.arm64.brillo.map
ibc.arm64.map
ibc.map.txt
ibc.mips.map
ibc.mips64.brillo.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.brillo.map
ibc.x86_64.map
e8f9d357d71ab3d2921772dfb2db7a994b351b1f 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Remove remaining ndk_cruft from LP64 platforms"" am: 52a05f3ce7
am: 3c9ce841fa

* commit '3c9ce841fac975c36855ec4ccd3a20861b61e07f':
Revert "Remove remaining ndk_cruft from LP64 platforms"
23af25b747b5e7b0ca513a87b32f1f6a3cb99698 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Revert "Remove remaining ndk_cruft from LP64 platforms"

This reverts commit b1d0a2ae7790f882d8f1ab24d7ef15e2b90c8ca2.

Change-Id: I1da06be0b78a4f2a4cad7e4a19a3ee755f55a813
ndroid.mk
ionic/ndk_cruft.cpp
ibc.arm.map
ibc.arm64.brillo.map
ibc.arm64.map
ibc.map.txt
ibc.mips.map
ibc.mips64.brillo.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.brillo.map
ibc.x86_64.map
4b29ffc9e3fc1eaa124ebd6b163e987215a35110 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Remove remaining ndk_cruft from LP64 platforms" am: b34ae08cc6
am: 21d1cb7ac6

* commit '21d1cb7ac6cfbe641b209eb067bc480d98e1a372':
Remove remaining ndk_cruft from LP64 platforms
b1d0a2ae7790f882d8f1ab24d7ef15e2b90c8ca2 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Remove remaining ndk_cruft from LP64 platforms

This change removes endpwent, dlmalloc_inspect_all, dlmalloc_trim
from lp64 libc.so. It also removed necessety of having brillo
version scripts for lp64 platforms.

Bug: http://b/26164862
Change-Id: I4e9b38907bb1dc410f0eb6d2f5d5944fe713da51
ndroid.mk
ionic/ndk_cruft.cpp
ibc.arm.map
ibc.arm64.brillo.map
ibc.arm64.map
ibc.map.txt
ibc.mips.map
ibc.mips64.brillo.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.brillo.map
ibc.x86_64.map
1bf10549297a9e397babd398631321e4cf407220 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge changes Iaee1b711,Ia3dd0761 am: 881673cb45
am: 8215a6d64a

* commit '8215a6d64a1f05b0bd4fd6bd875016a42fb70200':
Generate libc version-script for brillo
Revert "Don't verify version scripts on 32-bit Brillo"
585e9598493d3b4a0e545dad35c0f361d4ad2d3e 14-Dec-2015 Dimitry Ivanov <dimitry@google.com> Generate libc version-script for brillo

Brillo doesn't use the ndk cruft, so we need
separate set of version scripts. Added new "nobrillo"
tag to mark such symbols in *.map.txt files.

Bug: http://b/26164862
Change-Id: Iaee1b7119f75b68c2971679fc32817e6df29fd94
ndroid.mk
ibc.arm.brillo.map
ibc.arm.map
ibc.arm64.brillo.map
ibc.arm64.map
ibc.map.txt
ibc.mips.brillo.map
ibc.mips.map
ibc.mips64.brillo.map
ibc.mips64.map
ibc.x86.brillo.map
ibc.x86.map
ibc.x86_64.brillo.map
ibc.x86_64.map
ools/genversion-scripts.py
a3dd076126df616b75b4fc4484f4750e0e3e6a7f 14-Dec-2015 Dimitry Ivanov <dimitry@google.com> Revert "Don't verify version scripts on 32-bit Brillo"

This reverts commit 31951b7f0dc7ce577a21682e54362b0cf2913e11.

Bug: http://b/26164862
ndroid.mk
120e22f7b61d63af035331302fa4aec775229fd8 13-Dec-2015 Dan Willemsen <dwillemsen@google.com> Merge "Don\'t verify version scripts on 32-bit Brillo" am: a7ff3964ab
am: 66a0ec83d8

* commit '66a0ec83d8a47fa9cc1a840d24d8786f72854df2':
Don't verify version scripts on 32-bit Brillo
31951b7f0dc7ce577a21682e54362b0cf2913e11 12-Dec-2015 Dan Willemsen <dwillemsen@google.com> Don't verify version scripts on 32-bit Brillo

Brillo doesn't use the ndk cruft, so the same version scripts do not
apply. Until we have brillo-specific version scripts, just disable the
version script check.

Bug: 26164862
Change-Id: I682860ec1c5b36014c7a6cf24da43df553e9dc9f
ndroid.mk
b018d97ab0fee96397596d42d45939fc6242498e 11-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Remove __bionic_libgcc_unwind_symbols from version script" am: 52e2db647c
am: bde6ae87c5

* commit 'bde6ae87c571aa3beacf0e23ffb07b80553122a3':
Remove __bionic_libgcc_unwind_symbols from version script
2f019872dcac77a5d77336cbd97fe269fb4f6b5f 11-Dec-2015 Dimitry Ivanov <dimitry@google.com> Remove __bionic_libgcc_unwind_symbols from version script

Bug: http://b/26004476
Change-Id: Iaa468de4cbcc94e88badc5cde0f4421c710c1f38
ibc.arm.map
ibc.map.txt
b417169d80cdf975c71b03de247ea2365e83c229 10-Dec-2015 Tom Cherry <tomcherry@google.com> Reset access to system properties on reinitialization

Treat subsequent calls to __system_properties_init() as a
reinitialization of system properties and revoke access to prop files
that have been previously mapped but that the process's current context
does not have access to. Additionally reset the no_access_ flag in
case permissions have loosened and previously unaccessible files can now
be accessed.

This is meant to work around an issue that setcon() does not revoke
mmap() mappings, so we must manually revoke them after a successful
setcon() call.

Bug 26114086

Change-Id: I4d690abb6817283ca64ac26ea4c1dad398a98fbc
ionic/system_properties.cpp
7f7b6db617642197968ee5e3f2a60b3599b4096d 11-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Do not set properties in bionic_systrace" am: e46ded5ce1
am: 2b268b38ad

* commit '2b268b38ade7434a866a1bd10ff7b38cbb232917':
Do not set properties in bionic_systrace
e46ded5ce1582202cb809c907128e423e58ce7ed 11-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Do not set properties in bionic_systrace"
46e2eadad24b9d11f5319efd393066ae8c35cd54 10-Dec-2015 Tom Cherry <tomcherry@google.com> Do not set properties in bionic_systrace

Currently, if the debug.atrace.tags.enableflags property is not found,
it is set to a safe value such that a pointer to this property can be
stored for later access. This may result in selinux denials because not
all processes write permissions for this property or permission to
connect to the property write socket at all.

Change I6d953c0c281fd72ad3eba8a479fd258023579b5b writes this property to
a safe value upon boot, which greatly decreases the cases in which this
property will not be accessible and removes the need to write it here.
This commit removes this write.

Bug 26115803

Change-Id: Ief72c5f731d3a1231b5080eb531fa0a491a8b1d1
ionic/bionic_systrace.cpp
3ca048bbaa2465a34bc55de7227f128b61837f17 10-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "constexpr constructor for atfork_list_t" am: 9d8632e1a7
am: a13d5748a4

* commit 'a13d5748a4dc3ca35ad590844fa231b0f929f2c7':
constexpr constructor for atfork_list_t
9d8632e1a76de6bd6abc853c0fbd6a2c9dc32cdc 10-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "constexpr constructor for atfork_list_t"
3b5c2f20dc3461af68175a9aba28675157908dc9 10-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Add permitted_when_isolated_path to linker namespaces" am: 39801757c3
am: 6e161cc84e

* commit '6e161cc84efee24b884cf27538ee2980c48c5575':
Add permitted_when_isolated_path to linker namespaces
39801757c3bf688bee28f636959757953b2bb695 10-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Add permitted_when_isolated_path to linker namespaces"
3f5936c96db7acf5123b7d24db38f62010f07b29 10-Dec-2015 Elliott Hughes <enh@google.com> Merge "Fix -fstack-protector-strong for x86." am: 6500f51c0e
am: 7041f09c18

* commit '7041f09c18888f22e23c5f43d6222de6883eb689':
Fix -fstack-protector-strong for x86.
6500f51c0e3ef37dbda889dbd1125c03c787ae50 10-Dec-2015 Elliott Hughes <enh@google.com> Merge "Fix -fstack-protector-strong for x86."
284ae3559ed909613b189b98bdc3efab94373a30 08-Dec-2015 Dimitry Ivanov <dimitry@google.com> Add permitted_when_isolated_path to linker namespaces

The permitted_when_isolated_path is a way to white-list
directories not present in search-path. It is ignored for
not isolated namespaces.

Bug: http://b/25853516
Bug: http://b/22548808
Change-Id: Ib1538037268eea69323ea49968a34a4a1d1938a5
nclude/android/dlext.h
df9a26d025b490eabb459689115139bf1dd3351c 08-Dec-2015 Todd Kjos <tkjos@google.com> Merge "bionic: Build Breakage" am: 5736959094
am: f936e20707

* commit 'f936e2070773624675db9f86a764e29222fba61c':
bionic: Build Breakage
9da687e2f49c2a67135bf30d074de445728e109d 08-Dec-2015 Mark Salyzyn <salyzyn@google.com> bionic: Build Breakage

Bug: 23668800
Change-Id: Ic7cf5864d3f5881e6f7105a49ecf62b1bc4a604c
ionic/libc_logging.cpp
6c54ddd20f663de9e383fcd7b4cff93471369d87 08-Dec-2015 Elliott Hughes <enh@google.com> Fix -fstack-protector-strong for x86.

We need to ensure %gs:20 is set up early enough for -fstack-protector-strong
on x86, and that __set_tls doesn't get stack protector checks because it's a
prerequisite for them. x86 devices/emulators won't boot without this.

Bug: http://b/26073874
Change-Id: Icf0d34294648cc0c8cb406a3617befe0d45c525a
ndroid.mk
rch-x86/x86.mk
ionic/libc_init_common.cpp
89a50fe1ebfa09f6a5e82566e27f80708a50db4d 08-Dec-2015 Dimitry Ivanov <dimitry@google.com> constexpr constructor for atfork_list_t

Bug: http://b/26026986
Change-Id: Iad95383a23f81eea776bebce641c555d26547b77
ionic/pthread_atfork.cpp
187460905b8887a608d43ad09b759be21ec91d0a 08-Dec-2015 Mark Salyzyn <salyzyn@google.com> Merge "Add monotonic logging for bionic" am: eaccfde075
am: 0bd75ded3a

* commit '0bd75ded3a35343a63ae2fd22140e323bf038416':
Add monotonic logging for bionic
eaccfde0759c6df6011c2a1e69ca275f2e24d909 08-Dec-2015 Mark Salyzyn <salyzyn@google.com> Merge "Add monotonic logging for bionic"
a27c6278f7f2d1b88cd7f526dda121c6e5aee7ab 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Base bcopy on memmove rather than memcpy." am: f0a451dcd1 am: cf0c1af1dd
am: 73b35f42b7

* commit '73b35f42b7df3db1e9627989aa86ebcd436ceafe':
Base bcopy on memmove rather than memcpy.
39b65949dabf849eae31ec3e603d5f04af704734 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Make all of ndk_cruft.cpp one big extern "C"." am: 9dec0a775b am: 36545d2e76
am: c94e261348

* commit 'c94e2613487043ae100ca185121702cf77b85aaa':
Make all of ndk_cruft.cpp one big extern "C".
d102c84fd7b922dd63ba558c2bd7f6c12ead5cc5 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Fix stdio static initializers to make both clang and GCC happy." am: 7bd33cdf15 am: 1190230f33
am: e122edac1a

* commit 'e122edac1ae04822451842b93cc9ffde017c0182':
Fix stdio static initializers to make both clang and GCC happy.
a8ff53c8473e7395b13a432dd81edf2a8fe013ed 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Revert "Revert "Remove __sinit and __sdidinit.""" am: c4eef1fb5b am: 568ad51d80
am: ee13c1562c

* commit 'ee13c1562c333ae79291ba528f1440dbdc62af32':
Revert "Revert "Remove __sinit and __sdidinit.""
cf0c1af1dd2aff82ee13a1d688248b809ef7334b 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Base bcopy on memmove rather than memcpy."
am: f0a451dcd1

* commit 'f0a451dcd10241c8f2ead2448ed922eb80f387f6':
Base bcopy on memmove rather than memcpy.
36545d2e7621d87f68aed620d1c99a9c0f0fbf94 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Make all of ndk_cruft.cpp one big extern "C"."
am: 9dec0a775b

* commit '9dec0a775b07f58d133ae5c35713e7cf60ddcc7c':
Make all of ndk_cruft.cpp one big extern "C".
1190230f3316bc26804c60cdd1a859f09c7f11ca 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Fix stdio static initializers to make both clang and GCC happy."
am: 7bd33cdf15

* commit '7bd33cdf15c26c5855628eb2ac0e7d0f52189010':
Fix stdio static initializers to make both clang and GCC happy.
568ad51d803228b287a91a307806d1771ed81b7b 08-Dec-2015 Elliott Hughes <enh@google.com> Merge "Revert "Revert "Remove __sinit and __sdidinit."""
am: c4eef1fb5b

* commit 'c4eef1fb5ba325317e94b598c6fbf8e4c4bf83e1':
Revert "Revert "Remove __sinit and __sdidinit.""
d51a0b0f9da767d5d67c9f3565c34afcaab1a908 05-Dec-2015 Rohit Agrawal <rohitagr@google.com> Base bcopy on memmove rather than memcpy.

POSIX defined bcopy to handle overlapping memory akin to memmove and
bionic appears to have always done so.

Change-Id: I2599113411e3532913270ba1c1b49e35cbc5f106
ionic/ndk_cruft.cpp
cfd5a46b092536905ffe45a19cfe1b9e35aa8d10 05-Dec-2015 Elliott Hughes <enh@google.com> Make all of ndk_cruft.cpp one big extern "C".

Change-Id: Iddd9b5f36e661e443fa13d12326e72df8c0d209c
ionic/ndk_cruft.cpp
29ee6397a844e2d88f776f5c0b4e656e58df9840 07-Dec-2015 Elliott Hughes <enh@google.com> Fix stdio static initializers to make both clang and GCC happy.

Previously only clang was happy. GCC said:

error: missing initializer for field 'wcio_mbstate_in' of 'struct wchar_io_data'

Change-Id: I25a11b64f4dfa22a5dd5daded152191fe2cfacaf
tdio/findfp.c
bb46afd6c44a847efe96e30d72708fd2d0906e8c 05-Dec-2015 Elliott Hughes <enh@google.com> Revert "Revert "Remove __sinit and __sdidinit.""

This reverts commit c8bae05f3ff9f1c736f7be70fa17d02795d748bb.

We were breaking init (ueventd) because we initialize system properties
before we initialize stdio. The new system property implementation uses
stdio to read from /property_contexts, so we end up touching stdio data
structures before they've been initialized.

This second attempt takes things further by removing the stdio initialization
function altogether. The data structures for stdin/stdout/stderr can be
statically initialized as data, and -- since we already had to give the
atexit implementation a backdoor for stdio -- we can just admit that we
need to clean up stdio, and that we always do so last.

This patch also removes the 17 statically pre-allocated file structures,
so the first fopen will now allocate a block of 10 (the usual overflow
behavior). I did this just to make my life simpler, but it's not actually
necessary to remove it if we want it back.

Change-Id: I936b2eb5e88e4ebaf5516121872b71fc88e5609c
ionic/flockfile.cpp
ionic/libc_init_common.cpp
ionic/ndk_cruft.cpp
tdio/findfp.c
tdio/local.h
tdio/refill.c
tdlib/atexit.c
dbe0ba3e60033244df9ebe525996ce0e5e775900 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Revert "Remove __sinit and __sdidinit."" am: 0d89913e74 am: f4e511ecf9
am: b38fe63b9a

* commit 'b38fe63b9a33c371320e9beb59012a38c8d73a7f':
Revert "Remove __sinit and __sdidinit."
f4e511ecf99dab30aeecba4ab1da29a3b89bbbaa 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Revert "Remove __sinit and __sdidinit.""
am: 0d89913e74

* commit '0d89913e74981cd51532e66a2e2f138392be4de1':
Revert "Remove __sinit and __sdidinit."
c8bae05f3ff9f1c736f7be70fa17d02795d748bb 05-Dec-2015 Elliott Hughes <enh@google.com> Revert "Remove __sinit and __sdidinit."

This reverts commit 4371961e00ad83fca033992c8a19c7d262fe6f84.

This broke booting; ueventd crashes with a null pointer dereference
somewhere in __sfp (but the kernel doesn't unwind, so I don't know
what was calling __sfp).

Change-Id: I65375fdfdf1d339a06558b4057b580cacd6324e2
ionic/flockfile.cpp
ionic/libc_init_common.cpp
ionic/ndk_cruft.cpp
tdio/findfp.c
tdio/local.h
tdio/refill.c
578f5e50f23e85cf7b6c22e332cf58b3c275e3f1 05-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Do not create prop files for ctl.* properties" am: 4ade5195f1 am: 071234cfd9
am: 2ae9dc726b

* commit '2ae9dc726b991cf9b4ae2d4ac60a8d5d7a9da75d':
Do not create prop files for ctl.* properties
071234cfd9d97c9f7ac640d755e6de900480a846 05-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Do not create prop files for ctl.* properties"
am: 4ade5195f1

* commit '4ade5195f188b84ce3599c71ef058d040b141da4':
Do not create prop files for ctl.* properties
4ade5195f188b84ce3599c71ef058d040b141da4 05-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Do not create prop files for ctl.* properties"
1251fe3936506dac3783dbb8bfdcbf7b58d53970 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Fix GCC build." am: ef2ba3dbf9 am: 70d477c913
am: 703a31ad1f

* commit '703a31ad1fed536bfcf0ce1eb3dfcb2bbcfb42b6':
Fix GCC build.
bc6eed9633e583be93fc95132cd12c6fcedee4b8 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Remove __sinit and __sdidinit." am: 2558b11230 am: 942d81c246
am: 7f4f737552

* commit '7f4f737552c2f72af107f06a2d2572e8cf4598df':
Remove __sinit and __sdidinit.
c1f151808c8d7dc3d57aba7822603f986717955f 05-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "add checks for initialization for system properties" am: 136bf8fa45 am: e049fa71cb
am: 1dd18ea8f5

* commit '1dd18ea8f5a19718da4844f6dcbddf78c1300985':
add checks for initialization for system properties
a21bdf6d674bd4d9cfed042330a7e553155e438c 05-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Clear pthread_internal_t allocated on user provided stack." am: 2452cf3c33 am: 21cca02a52
am: 7cb613b6ca

* commit '7cb613b6cacb0eadd8b68fff92bd857692eb184a':
Clear pthread_internal_t allocated on user provided stack.
70d477c913981047235054b6bbb4faa5bfcafb8f 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Fix GCC build."
am: ef2ba3dbf9

* commit 'ef2ba3dbf986257ded12531fe15bf0d1d4a87d50':
Fix GCC build.
21eadee6e97c08485c9ec52a8f44cabd4261bf4a 05-Dec-2015 Tom Cherry <tomcherry@google.com> Do not create prop files for ctl.* properties

Change-Id: Ia6660c68c9e0cb89938751dbc0747ee038394778
ionic/system_properties.cpp
8766edc098304436a8b2b1b01ef01b9401918d54 05-Dec-2015 Elliott Hughes <enh@google.com> Fix GCC build.

error: '__sdidinit' initialized and declared 'extern' [-Werror]

Change-Id: I97d9c174da6a99ca61b72572dfb4694813372a60
ionic/ndk_cruft.cpp
942d81c246fca0e840fd7917451f67a3ff6a7caa 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Remove __sinit and __sdidinit."
am: 2558b11230

* commit '2558b112300e0a27590b9e31f627fe94594fa6a0':
Remove __sinit and __sdidinit.
2558b112300e0a27590b9e31f627fe94594fa6a0 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Remove __sinit and __sdidinit."
e049fa71cb918b3b0f0dde5b4c7a650a5b6ee88a 05-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "add checks for initialization for system properties"
am: 136bf8fa45

* commit '136bf8fa45b243b56a8f2543d43970f253118cd7':
add checks for initialization for system properties
870f165ceb3348d79499d40ce8b629f62a15ff2b 01-Dec-2015 Mark Salyzyn <salyzyn@google.com> Add monotonic logging for bionic

Primarily a debug feature that can be switched at runtime to permit
developer to have the option of high-resolution Android logs with
either CLOCK_REALTIME (default) or CLOCK_MONOTONIC to correlate with
other system activities like kernel logs or systrace.

Bug: 23668800
Change-Id: Ib29024899540f51a72cad5dde25517a7134d68f7
ionic/libc_logging.cpp
6ed51c0e8542922f8ceb2659a7921e0af096d734 04-Dec-2015 Tom Cherry <tomcherry@google.com> add checks for initialization for system properties

If a __system_property* function is called before
__system_properties_init() then the app will will abort. This commit
returns either an error code or a safe return value instead.

Bug 26027140

Change-Id: I95ffd143e9563658ab67a397991e84fb4c46ab77
ionic/system_properties.cpp
ba96c0e3ef1edd0f87d22205cfb9258bd56271b4 04-Dec-2015 Tom Cherry <tomcherry@google.com> Remove c++14'isms from system_properties

Change-Id: If78e7d2770e8f8321f0d1824c3c52f93820dd325
ionic/system_properties.cpp
21cca02a52e76c8a76ddf841bc447de9f650c4f0 04-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Clear pthread_internal_t allocated on user provided stack."
am: 2452cf3c33

* commit '2452cf3c332fdfdae6b6b27b57acaa6786a91c87':
Clear pthread_internal_t allocated on user provided stack.
2452cf3c332fdfdae6b6b27b57acaa6786a91c87 04-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Clear pthread_internal_t allocated on user provided stack."
304348af197f30b3bf0e0764b97eb9699a376c68 03-Dec-2015 Yabin Cui <yabinc@google.com> Clear pthread_internal_t allocated on user provided stack.

Several parts in pthread_internal_t should be initialized
to zero, like tls, key_data and thread_local_dtors. So
just clear the whole pthread_internal_t is more convenient.

Bug: 25990348
Change-Id: Ibb6d1200ea5e6e1afbc77971f179197e8239f6ea
ionic/pthread_create.cpp
e670e2f859dd436c43979453dd33c915075cfa4b 04-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Remove c++14\'isms from system_properties"
am: b35a2fb370

* commit 'b35a2fb370db711fcea38441a1295cd542fc3daa':
Remove c++14'isms from system_properties
845e24a05e56003d0ac35d904bfc02f5dac762f1 04-Dec-2015 Tom Cherry <tomcherry@google.com> Remove c++14'isms from system_properties

Change-Id: If78e7d2770e8f8321f0d1824c3c52f93820dd325
ionic/system_properties.cpp
1f081b7de73acc91b1cbdf5edb346fa4c2f58ff5 04-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Separate properties by selabel" am: 376b94f1e7 am: 84bc4f5cc7
am: 555da4236c

* commit '555da4236ccbabd871558e2e2febfe5b05425286':
Separate properties by selabel
84bc4f5cc765f54c18c3674e775de5fe88c1e499 03-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Separate properties by selabel"
am: 376b94f1e7

* commit '376b94f1e777375eb9ebb04a882b898aafa94625':
Separate properties by selabel
376b94f1e777375eb9ebb04a882b898aafa94625 03-Dec-2015 Tom Cherry <tomcherry@google.com> Merge "Separate properties by selabel"
96e8efdc66edad0748dabc8675d1815ee9740fa5 03-Dec-2015 Dan Willemsen <dwillemsen@google.com> Merge "Re-add putw for LP32" am: 22dca83e1c am: 5bfa22ceab
am: f3e4983f6c

* commit 'f3e4983f6cf79a2fad7c3a98609f86b5f7dddcb9':
Re-add putw for LP32
4371961e00ad83fca033992c8a19c7d262fe6f84 03-Dec-2015 Elliott Hughes <enh@google.com> Remove __sinit and __sdidinit.

We're eagerly initializing stdio now, so this can all be simplified.

Change-Id: Icb288f8dd0ee08f02bea0d23670f75e78bed6b99
ionic/flockfile.cpp
ionic/libc_init_common.cpp
ionic/ndk_cruft.cpp
tdio/findfp.c
tdio/local.h
tdio/refill.c
5bfa22ceabfcb418337d262967172a90dc573e4b 03-Dec-2015 Dan Willemsen <dwillemsen@google.com> Merge "Re-add putw for LP32"
am: 22dca83e1c

* commit '22dca83e1c37d3b465b9fa432bbf7cb4bd0df868':
Re-add putw for LP32
b9055518fc0607344f1de803b80a5293c0f2f0ee 03-Dec-2015 Dan Willemsen <dwillemsen@google.com> Re-add putw for LP32

This was missed when switching to LOCAL_SRC_FILES_EXCLUDE

Change-Id: I6ea23c9eb31abe11e0ec4abfc2ee2f2a43c76ce2
ndroid.mk
49a309ff6a8349cbd1625711497743463638bebf 24-Sep-2015 Tom Cherry <tomcherry@google.com> Separate properties by selabel

The purpose of this change is to add read access control to the property
space.

In the current design, a process either has access to the single
/dev/__properties__ file and therefore all properties that it contains
or it has access to no properties. This change separates properties
into multiple property files based on their selabel, which allows
creation of sepolicies that allow read access of only specific sets of
properties to specific domains.

Bug 21852512

Change-Id: Ice265db79201ca811c6b6cf6d851703f53224f03
ionic/system_properties.cpp
nclude/sys/_system_properties.h
b90ac08e22b6cb2ef2800c5e518b2c379ae794a0 02-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Explicitly disallow default c-tor" am: b24f7a0513 am: 9f525b66eb
am: 64ffc84d4d

* commit '64ffc84d4de667e1bcca2f38bd542e788c6d8063':
Explicitly disallow default c-tor
9f525b66eb0ef7fd03d9387ec1efc1ee833f5077 02-Dec-2015 Dimitry Ivanov <dimitry@google.com> Merge "Explicitly disallow default c-tor"
am: b24f7a0513

* commit 'b24f7a0513f7468ccf7563d7d347c6e7bab391d9':
Explicitly disallow default c-tor
a5e183c06690f601fd45bddd5599884ad291ac23 02-Dec-2015 Dimitry Ivanov <dimitry@google.com> Explicitly disallow default c-tor

Change-Id: Ia52995a459443159e80383d5b396c3edd90a08ae
rivate/ScopedPthreadMutexLocker.h
21ef19609116322154901f5b3e52e8fb1d2be975 01-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Init stdio in __libc_init_common." am: 6bef152af2 am: 1f4b0c44b3
am: 2b941035dd

* commit '2b941035dd13f2b411fee5549883a1a8b6b9a30e':
Init stdio in __libc_init_common.
967c5d20623fb2ff8bbf43b6510bc1503afce6c3 01-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Enable using clang to build __cxa_thread_atexit_impl." am: af87c9ccfc am: 4262d3e9ac
am: b2ddaafc68

* commit 'b2ddaafc68aa87c29ea0afb8bbf48ab08c5cd63e':
Enable using clang to build __cxa_thread_atexit_impl.
1f4b0c44b37bbf840a8210c8948e1d6efb0cdc11 01-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Init stdio in __libc_init_common."
am: 6bef152af2

* commit '6bef152af2c622ee0c57f9c374b76f3dd352e52b':
Init stdio in __libc_init_common.
4262d3e9ac2462502875f5a7f1925a44ce29b299 01-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Enable using clang to build __cxa_thread_atexit_impl."
am: af87c9ccfc

* commit 'af87c9ccfc3afbc7db9f0bc131d122453b5c882d':
Enable using clang to build __cxa_thread_atexit_impl.
6bef152af2c622ee0c57f9c374b76f3dd352e52b 01-Dec-2015 Yabin Cui <yabinc@google.com> Merge "Init stdio in __libc_init_common."
9b687dc243c5cea56002947a5ae563ff6cf31968 30-Nov-2015 Yabin Cui <yabinc@google.com> Enable using clang to build __cxa_thread_atexit_impl.

Remove previous workaround as we no longer use
__thread in __cxa_thread_atexit_impl.cpp.

Change-Id: Ic1062995db488859b341acdda0b5f6635e10d7e8
ndroid.bp
ndroid.mk
a046ce7aaecade800bc81d0fede161e86c3d30c8 30-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Don\'t use __thread in __cxa_thread_finalize()." am: 28d3f00cf4 am: 51ca18d2a1
am: 5f6ff42bb6

* commit '5f6ff42bb615ce71e7bed66b45ea27fc29d2c4f4':
Don't use __thread in __cxa_thread_finalize().
51ca18d2a11eedff94a11c1cb996f38c2011b0dd 30-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Don\'t use __thread in __cxa_thread_finalize()."
am: 28d3f00cf4

* commit '28d3f00cf4545812503c835ea906fa83309e48ed':
Don't use __thread in __cxa_thread_finalize().
28d3f00cf4545812503c835ea906fa83309e48ed 30-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Don't use __thread in __cxa_thread_finalize()."
d68c9e5906917f1528fe16c2c657e3a34c16e536 25-Nov-2015 Yabin Cui <yabinc@google.com> Init stdio in __libc_init_common.

Previously we call __sinit() lazily. But it is likely to cause data
races like in https://android-review.googlesource.com/#/c/183237/. So
we prefer to call __sinit() explicitly at libc initialization.

Bug: 25392375

Change-Id: I181ea7a4b2e4c7350b45f2e6c86886ea023e80b8
ionic/libc_init_common.cpp
0a866b222a69b064ba6b8b58cbbf678874cae8de 30-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Consider when building libc_thread_atexit_impl module" am: 2bb85c848a am: 4f94b7bfc0
am: 2b834401ef

* commit '2b834401ef62ce639070450d12623632e067c5df':
Consider $(use_clang) when building libc_thread_atexit_impl module
4f94b7bfc082cd6f52d02a789512d1e6a6a01af6 30-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Consider when building libc_thread_atexit_impl module"
am: 2bb85c848a

* commit '2bb85c848abb89951ec01342d6c8278311346395':
Consider $(use_clang) when building libc_thread_atexit_impl module
83f314f060f10f9eb01e3754b25d28a92cb70720 25-Nov-2015 Nikola Veljkovic <Nikola.Veljkovic@imgtec.com> Consider $(use_clang) when building libc_thread_atexit_impl module

Change-Id: Ia369d94979f418198a2ee891385942d9bc5604d7
ndroid.mk
952e9eb0866bc2061b671e8d6c90cae275eda6bd 25-Nov-2015 Yabin Cui <yabinc@google.com> Don't use __thread in __cxa_thread_finalize().

Currently we use __thread variable to store thread_local_dtors,
which makes tsan test fork_atexit.cc hang. The problem is as below:
The main thread creates a worker thread, the worker thread calls
pthread_exit() -> __cxa_thread_finalize() -> __emutls_get_address()
-> pthread_once(emutls_init) -> emutls_init().
Then the main thread calls fork(), the child process cals
exit() -> __cxa_thread_finalize() -> __emutls_get_address()
-> pthread_once(emutls_init).
So the child process is waiting for pthread_once(emutls_init)
to finish which will never occur.

It might be the test's fault because POSIX standard says if a
multi-threaded process calls fork(), the new process may only
execute async-signal-safe operations until exec functions are
called. And exit() is not async-signal-safe. But we can make
bionic more reliable by not using __thread in
__cxa_thread_finalize().

Bug: 25392375
Change-Id: Ife403dd7379dad8ddf1859c348c1c0adea07afb3
ionic/__cxa_thread_atexit_impl.cpp
ionic/pthread_internal.h
101fe14c87be501f6db62b4aa06bbde351a6796c 24-Nov-2015 Colin Cross <ccross@android.com> Merge "Remove cflags and ldflags from crt defaults" am: a01108d9bf am: a36d1e0d31
am: a31e637e0a

* commit 'a31e637e0a3f33c06ceff6efa38b29bc1b2e598c':
Remove cflags and ldflags from crt defaults
a36d1e0d31727d645d0f6b162489eecb8e8e2f22 24-Nov-2015 Colin Cross <ccross@android.com> Merge "Remove cflags and ldflags from crt defaults"
am: a01108d9bf

* commit 'a01108d9bf415854b9d36334483133adff3d7405':
Remove cflags and ldflags from crt defaults
a01108d9bf415854b9d36334483133adff3d7405 24-Nov-2015 Colin Cross <ccross@android.com> Merge "Remove cflags and ldflags from crt defaults"
bd7f83a0cad6b03a073de0840c650204f5892777 24-Nov-2015 Colin Cross <ccross@android.com> Merge "move arch variant structs down a level" am: 8bd27182c5 am: 912e27a4b2
am: aba3af1956

* commit 'aba3af19566b4cd7b4d28a0910ea6120f0764ba0':
move arch variant structs down a level
912e27a4b255e85546bf64fc1f3e68398525ff1c 24-Nov-2015 Colin Cross <ccross@android.com> Merge "move arch variant structs down a level"
am: 8bd27182c5

* commit '8bd27182c505cdc8031ab23fea5d1dccb6b7405a':
move arch variant structs down a level
8bd27182c505cdc8031ab23fea5d1dccb6b7405a 24-Nov-2015 Colin Cross <ccross@android.com> Merge "move arch variant structs down a level"
bff87d19f128c5fb3eb7fe83a5ffeccb1195f5d3 23-Nov-2015 Colin Cross <ccross@android.com> Remove cflags and ldflags from crt defaults

After ToolchainCflags were added to soong crt no longer needs to try to
recreate the bare minimum cflags for compiling for each architecture.
Also always use GCC to match crt.mk

Change-Id: I01a833ab70d989033c84f072e3660d060189688c
ndroid.bp
b7a15ef1819cef6efe46c7b0270950c6137a84f9 24-Nov-2015 Dimitry Ivanov <dimitry@google.com> Merge "Introduce anonymous namespace" am: db8caa740a am: 321314f2e9
am: 1efba58604

* commit '1efba586043a97812ea86347099bd7cbabd94594':
Introduce anonymous namespace
321314f2e90d33ef6a653080784754d483bb6d44 24-Nov-2015 Dimitry Ivanov <dimitry@google.com> Merge "Introduce anonymous namespace"
am: db8caa740a

* commit 'db8caa740a409c2ce75f875df84857e6be69eb9f':
Introduce anonymous namespace
db8caa740a409c2ce75f875df84857e6be69eb9f 24-Nov-2015 Dimitry Ivanov <dimitry@google.com> Merge "Introduce anonymous namespace"
1ffec1cc4d0e283bb1ff6f49843769a3493b8d73 23-Nov-2015 Dmitriy Ivanov <dimitry@google.com> Introduce anonymous namespace

The anonymous namespace is introduced to
handle cases when linker can not find the
caller. This usually happens when caller
code was not loaded by dynamic linker;
for example mono-generated code.

Bug: http://b/25844435
Bug: http://b/22548808
Change-Id: I9e5b1d23c1c75bc78548d68e79216a6a943a33cf
nclude/android/dlext.h
6ab8f89d1c8cd325af1acb1511021c7860900a2f 23-Nov-2015 Colin Cross <ccross@android.com> move arch variant structs down a level

Use blueprint's new anonymous embedded struct feature to move the arch
variant properties down a level, replacing arch.cortex_a9.srcs with
arch.arm.cortex_a9.srcs, while still supporting top-level properties
like arch.arm.srcs.

Change-Id: Ib41c80e3549440d5efdfd293a15cffa3f51a0fe4
ndroid.bp
65cc1f8460d9e06f8e1a1236b393eb0e298d360b 23-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Change _stdio_handles_locking into _caller_handles_locking." am: 17554356cc am: edcee4e401
am: 2327635f6e

* commit '2327635f6ea2ef519c334283d1bf048e2116a5f0':
Change _stdio_handles_locking into _caller_handles_locking.
edcee4e4011b1a6e327791493ee1abde3ded2142 23-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Change _stdio_handles_locking into _caller_handles_locking."
am: 17554356cc

* commit '17554356cc865908e5cbd7814c8be7e47c9c4ec5':
Change _stdio_handles_locking into _caller_handles_locking.
17554356cc865908e5cbd7814c8be7e47c9c4ec5 23-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Change _stdio_handles_locking into _caller_handles_locking."
18ba67714dd7c5bb2075b044d32aa9316825af12 21-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts." am: 74ed96d597 am: 4469973bfb
am: 386aa431b5

* commit '386aa431b539feb537b9fd3a5f64b1ab45a635e6':
Use FUTEX_WAIT_BITSET to avoid converting timeouts.
4469973bfbfc672e006a24242a149c2e03d623f1 21-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts."
am: 74ed96d597

* commit '74ed96d59731aa3661494330804d866e825209d3':
Use FUTEX_WAIT_BITSET to avoid converting timeouts.
74ed96d59731aa3661494330804d866e825209d3 21-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts."
76144aaa6397fe9e16893882cf59c5c9c0684a66 19-Nov-2015 Yabin Cui <yabinc@google.com> Change _stdio_handles_locking into _caller_handles_locking.

It is reported by tsan that funlockfile() can unlock an unlocked mutex.
It happens when printf() is called before fopen() or other stdio stuff.
As FLOCKFILE(fp) is called before __sinit(), _stdio_handles_locking is false,
and _FLOCK(fp) will not be locked. But then cantwrite(fp) in __vfprintf()
calls__sinit(), which makes _stdio_handles_locking become true, and
FUNLOCKFILE(fp) unlocks _FLOCK(fp).

Change _stdio_handles_locking into _caller_handles_locking,
so __sinit() won't change its value. Add test due to my previous fault.

Bug: 25392375
Change-Id: I483e3c3cdb28da65e62f1fd9615bf58c5403b4dd
ionic/flockfile.cpp
tdio/local.h
tdio/stdio_ext.cpp
0b81033e508f0071adab99a966ee0e444b289a3d 20-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Disable clang for mips/mips64 libc." am: 8d5fb0d787 am: bb06a84672
am: d8adbe4a9c

* commit 'd8adbe4a9ccf99135341704386ff167f126f4e21':
Disable clang for mips/mips64 libc.
bb06a846727ecdda6227d95d4fa8570e0cdf3e11 20-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Disable clang for mips/mips64 libc."
am: 8d5fb0d787

* commit '8d5fb0d78716379d07eddbd75c88c9b7082436ef':
Disable clang for mips/mips64 libc.
8d5fb0d78716379d07eddbd75c88c9b7082436ef 20-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Disable clang for mips/mips64 libc."
b4bc156c6cfe5603cc08480d069d7f1c61560db1 20-Nov-2015 Chih-Hung Hsieh <chh@google.com> Disable clang for mips/mips64 libc.

* Many processes, including adbd, failed to start in mips/mips64
emulator when libc.so was compiled by clang.

BUG: 25291096
Change-Id: If3434ebdca4a3a6bf6102b120ee838a7ab66cd74
ndroid.mk
ff40e39bbdc466dd6cea57f752afe2a50e386eb8 20-Nov-2015 Elliott Hughes <enh@google.com> Merge "mmap: fix calculation of is_private_anonymous variable" am: 43c9045017 am: cb3af215dc
am: 5cecfce9ff

* commit '5cecfce9ff049300c015fc12d3e966e0ed772e62':
mmap: fix calculation of is_private_anonymous variable
cb3af215dc67899728bc3ef9d33f82358bee1335 20-Nov-2015 Elliott Hughes <enh@google.com> Merge "mmap: fix calculation of is_private_anonymous variable"
am: 43c9045017

* commit '43c90450174ab8839c05702ac01c4092f5b6cd19':
mmap: fix calculation of is_private_anonymous variable
ee67dd75e215f88e5632c05c7e7e7c7d30910359 24-Sep-2015 Vitaly Vul <vitaly.vul@sonymobile.com> mmap: fix calculation of is_private_anonymous variable

Currently is_private_anonymous is calculated as true if _either_
MAP_PRIVATE or MAP_ANONYMOUS is set, which is a mistake.
According to Documentation/vm/ksm.txt, "KSM only merges anonymous
(private) pages, never pagecache (file) pages". MAP_PRIVATE can
still be set on file cache pages so in order to not redundantly
set MADV_MERGEABLE on pages that are not fitted for it, both
MAP_PRIVATE and MAP_ANONYMOUS should be set.

Along with this fix, add an extra check that the mapped page is
not a stack page before setting MADV_MERGEABLE for it. Stack pages
change too quickly and always end up in KSM 'page_volatile' list.

Change-Id: If4954142852f17cc61f02985ea1cb625a7f3dec6
ionic/mmap.cpp
113291feaa8932257f28a7cd766678b19dafd664 20-Nov-2015 Josh Gao <jmgao@google.com> Merge changes I73a39c6d,Iab2af242 am: f30170dfa5 am: 8af9a739c9
am: ca82808542

* commit 'ca82808542999a01bf20ab50fd2c0e23605feb4b':
Fix test build break.
extend the PTRDIFF_MAX size check to mremap
ebc8bd787a6e8f8910baa172b138f66e032f275e 20-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Fix tsan abort for lake of __libc_auxv initialization." am: 79f8d64632 am: b690cae8dd
am: 269fd4c6ff

* commit '269fd4c6ff67ba0015ea5cb2ec76338bf3fe72ef':
Fix tsan abort for lake of __libc_auxv initialization.
8af9a739c985d63fcf0e3b5ddd051b597f1af44e 20-Nov-2015 Josh Gao <jmgao@google.com> Merge changes I73a39c6d,Iab2af242
am: f30170dfa5

* commit 'f30170dfa514266a0bf007091aa54a866920208c':
Fix test build break.
extend the PTRDIFF_MAX size check to mremap
f30170dfa514266a0bf007091aa54a866920208c 20-Nov-2015 Josh Gao <jmgao@google.com> Merge changes I73a39c6d,Iab2af242

* changes:
Fix test build break.
extend the PTRDIFF_MAX size check to mremap
b690cae8ddf0e88b4c118495ad5a9c6251c622f2 20-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Fix tsan abort for lake of __libc_auxv initialization."
am: 79f8d64632

* commit '79f8d64632a57ccd62315286b809819de09e0317':
Fix tsan abort for lake of __libc_auxv initialization.
79f8d64632a57ccd62315286b809819de09e0317 20-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Fix tsan abort for lake of __libc_auxv initialization."
cca857ab7ed52fad996f302c8cc4b810ec9f6220 20-Nov-2015 Colin Cross <ccross@android.com> Merge "Update libc/Android.bp to match libc/Android.mk" am: 9c6157c81d am: 75ba57de43
am: 277a0af23c

* commit '277a0af23cbdb026b25015d28fe4e7fdb81f9999':
Update libc/Android.bp to match libc/Android.mk
75ba57de435e582ba63c29ed202c82377027d1ba 19-Nov-2015 Colin Cross <ccross@android.com> Merge "Update libc/Android.bp to match libc/Android.mk"
am: 9c6157c81d

* commit '9c6157c81d123d8c6ba1aa8d7ee5c67b0840666c':
Update libc/Android.bp to match libc/Android.mk
284068f44fd1ad2d22980ea39f49d2c1b74014c7 19-Nov-2015 Yabin Cui <yabinc@google.com> Fix tsan abort for lake of __libc_auxv initialization.

If tsan is used, the following callchain can happen:
__libc_preinit() -> __libc_init_globals() ->
__libc_init_vdso() -> strcmp() -> __tsan_init()
-> sysconf(_SC_PAGE_SIZE) -> getauxval().
But __libc_auxv is initialized in __libc_init_common(),
after __libc_init_globals(). One simple way to fix
this is to initialize __libc_auxv at __libc_init_globals().

Bug: 25392375
Change-Id: I3893b1f567d5f3b7a8c881c0c1b8234b06b7751b
ionic/libc_init_common.cpp
a35d23d25148b3a71ab90f80dbda475ce4aa619c 19-Nov-2015 Colin Cross <ccross@android.com> Update libc/Android.bp to match libc/Android.mk

Change-Id: I4dfadc55688213f095949c56306e5071b2ab6135
ndroid.bp
c9a659c57b256001fd63f9825bde69e660c2655b 06-Nov-2015 Yabin Cui <yabinc@google.com> Use FUTEX_WAIT_BITSET to avoid converting timeouts.

Add unittests for pthread APIs with timeout parameter.

Bug: 17569991

Change-Id: I6b3b9b2feae03680654cd64c3112ce7644632c87
ionic/__cxa_guard.cpp
ionic/bionic_time_conversions.cpp
ionic/pthread_barrier.cpp
ionic/pthread_cond.cpp
ionic/pthread_mutex.cpp
ionic/pthread_once.cpp
ionic/pthread_rwlock.cpp
ionic/semaphore.cpp
rivate/bionic_futex.h
rivate/bionic_lock.h
rivate/bionic_time_conversions.h
c22a7de798c4c0da30ad095a0c61a8f905eb9613 07-Nov-2015 Daniel Micay <danielmicay@gmail.com> extend the PTRDIFF_MAX size check to mremap

This removes another way to obtain objects larger than PTRDIFF_MAX. The
only known remaining hole is now jemalloc's merging of virtual memory
spans.

Technically this could be wrapped in an __LP64__ ifndef since it can't
occur on 64-bit due to the 1:1 split. It doesn't really matter either
way.

Change-Id: Iab2af242b775bc98a59421994d87aca0433215bd
ionic/mmap.cpp
ionic/mremap.cpp
c330cd8b3276dc15dd451bffc2e4707724ef4b2a 19-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Implement pthread spin." am: 2c09e5de29 am: f091c1f2f1
am: 5002198b6b

* commit '5002198b6b4fd3ab19b6754b9dce6421a5d98a38':
Implement pthread spin.
b15587156684eb16687179386dee27950c70169c 19-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Avoid tsan warning about pthread_mutex_destroy." am: ea5bb151af am: 9d4bd6f0ca
am: 534a5b7c11

* commit '534a5b7c11c12da3140b0913c6f938b3a60f7064':
Avoid tsan warning about pthread_mutex_destroy.
f091c1f2f1cf7f363ba59c08b88f1fb5de05607d 19-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Implement pthread spin."
am: 2c09e5de29

* commit '2c09e5de299ca87a9e68807e2b4af41ba61710f3':
Implement pthread spin.
9d4bd6f0caa0d1d7947767a7ea3517c2a764e7e6 19-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Avoid tsan warning about pthread_mutex_destroy."
am: ea5bb151af

* commit 'ea5bb151af5e1e364968cb1eac70c8a2c13ca7a7':
Avoid tsan warning about pthread_mutex_destroy.
2c09e5de299ca87a9e68807e2b4af41ba61710f3 19-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Implement pthread spin."
fe3a83a9343f0e4ff654f09ef8ffc8a773c7c105 18-Nov-2015 Yabin Cui <yabinc@google.com> Implement pthread spin.

In order to run tsan unit tests, we need to support pthread spin APIs.

Bug: 18623621
Bug: 25392375
Change-Id: Icbb4a74e72e467824b3715982a01600031868e29
ndroid.mk
ionic/pthread_spinlock.cpp
nclude/pthread.h
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.map
rivate/bionic_lock.h
0307eee293e90e8584104a3c55bf2f270b1149b6 17-Nov-2015 Yabin Cui <yabinc@google.com> Avoid tsan warning about pthread_mutex_destroy.

If calling pthread_mutex_trylock from pthread_mutex_destroy, tsan
warns about an attempt to destroy a locked mutex.

Bug: 25392375
Change-Id: I5feee20e7a0d0915adad24da874ec1ccce241381
ionic/pthread_mutex.cpp
278fe431b6045527f379f69dbdd25e66a434c949 17-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Implement pthread barrier."
am: b804b9d67b

* commit 'b804b9d67b9e3a8c63471ff9892f6abea2a58684':
Implement pthread barrier.
b804b9d67b9e3a8c63471ff9892f6abea2a58684 17-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Implement pthread barrier."
e7c2fffa16eccecfd43d99516751a43776f5f609 06-Nov-2015 Yabin Cui <yabinc@google.com> Implement pthread barrier.

Bug: 24341262
Change-Id: I5472549e5d7545c1c3f0bef78235f545557b9630
ndroid.mk
ionic/pthread_barrier.cpp
nclude/pthread.h
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.map
2616cdcdb9a03ddb80ad844b3f6649483a9a9469 16-Nov-2015 Dimitry Ivanov <dimitry@google.com> Merge "Introducing linker namespaces"
am: 1f0ccbb59c

* commit '1f0ccbb59cd32dfad0e6d9fd9619905e067076a6':
Introducing linker namespaces
1f0ccbb59cd32dfad0e6d9fd9619905e067076a6 16-Nov-2015 Dimitry Ivanov <dimitry@google.com> Merge "Introducing linker namespaces"
42d5fcb9f494eb45de3b6bf759f4a18076e84728 30-Oct-2015 Dmitriy Ivanov <dimitry@google.com> Introducing linker namespaces

Bug: http://b/22548808
Change-Id: Ia3af3c0a167f1d16447a3d83bb045d143319b1e1
nclude/android/dlext.h
69536213d6c5984438880cdd897e646511a51a17 13-Nov-2015 Elliott Hughes <enh@google.com> Merge "Improve libc time zone fallback behavior."
am: 1b42c54471

* commit '1b42c544711316281e09c5da25850fac531b27cb':
Improve libc time zone fallback behavior.
d1c28a361b66f8a131fc277df455cb6835a5327e 13-Nov-2015 Elliott Hughes <enh@google.com> Improve libc time zone fallback behavior.

We should fall back to GMT if neither the environment variable nor the
system property is set. This is the case if you wipe a WiFi-only device,
because we currently only take the time zone from cell networks.

Bug: http://b/24773112
Change-Id: I90d236d4d492b6562d75021bd312030b91c1e298
zcode/localtime.c
5187baa387dcd73cb99c45897949a6353db7175a 13-Nov-2015 Elliott Hughes <enh@google.com> Merge "Fix strftime if tm_zone is null."
am: 5780f9d809

* commit '5780f9d80963fbe7b93f501dd3dd7edc7fab46b0':
Fix strftime if tm_zone is null.
a9cac4c87a4ea3e6d1c0a1159909bf0e209a61a7 13-Nov-2015 Elliott Hughes <enh@google.com> Fix strftime if tm_zone is null.

Upstream tzcode said "On platforms with tm_zone, strftime.c now assumes it
is not NULL". Which is fine for any struct tm generated by tzcode, but not
necessarily true of a struct tm constructed by arbitrary code. In particular,
Netflix on Nexus Player was failing to start because they format "%Z" with
a struct tm whose tm_zone is null (the other fields are valid, but, yeah,
that's probably not intentional).

glibc takes a null tm_zone to mean "the current time zone", so let's do that
too. (Historically Android would use the empty string, and POSIX doesn't
clarify which of this is the appropriate behavior when tm_zone is null.)

Bug: http://b/25170306
Change-Id: Idbf68bfe90d143aca7dada8607742905188b1d33
ndroid.mk
zcode/strftime.c
a2e9d90811c98a43cf337503a488d56d39d27628 12-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Still cannot compile with clang on arm64."
am: 7c10ee9473

* commit '7c10ee9473b5c46da733b2d3d24cf90fb8ac7672':
Still cannot compile with clang on arm64.
c04647f8c2e3e825d4ed27ea649024b89d1b5aed 12-Nov-2015 Chih-Hung Hsieh <chh@google.com> Still cannot compile with clang on arm64.

When __cxa_thread_atexit_impl.cpp is compiled with clang on arm64,
Android cannot boot up.

BUG: 25662915
Change-Id: If997b544f43e956172ce605d86fe147d42fd39e0
ndroid.mk
c0116bd3dbd5652e70643c239e58d4d225f83098 12-Nov-2015 Chih-hung Hsieh <chh@google.com> Merge "Enable clang for modules failed with TLS."
am: 0c447053de

* commit '0c447053de4b87d50ebec260c7e1d949fe934065':
Enable clang for modules failed with TLS.
5058a005b8dfb4bd5eefe0eb4420f1c37665b2b0 10-Nov-2015 Chih-Hung Hsieh <chh@google.com> Enable clang for modules failed with TLS.

New 3.8 clang/llvm can compile TLS code now.
* For x86_64, still disable clang due to f128 bug.
* For b/25643775, arm and arm64, disable clang in unit tests.
* Fix thread_local_test.cpp to compile with clang and
limit gcc workaround only to arm and aarch64.

BUG: 25643775

Change-Id: Iecd006bf1fc417dbcce2c63343a59c4bf1fa77ea
ndroid.mk
8640233fef3abafebc6aaa4e64d4f509d84727b9 11-Nov-2015 Nick Kralevich <nnk@google.com> Merge "libc_init_common.cpp: Clarify when environment stripping occurs"
am: 6209b99a73

* commit '6209b99a7351ed732ab25bb2ffa75465366b244f':
libc_init_common.cpp: Clarify when environment stripping occurs
2fb02651c894866c220bd64cbcd5fbd14e086b85 11-Nov-2015 Nick Kralevich <nnk@google.com> libc_init_common.cpp: Clarify when environment stripping occurs

The current comment implies that we only strip sensitive
environment variables on executing a setuid program. This is
true but incomplete. The AT_SECURE flag is set whenever a
security transition occurs, such as executing a setuid program,
SELinux security transition, executing a file with file capabilities,
etc...

Fixup the comments.

Change-Id: I30a73992adfde14d6e5f642b3a1ead2ee56726be
ionic/libc_init_common.cpp
8e86f33690bf370dd381a3023ae369cd996df967 10-Nov-2015 Tom Cherry <tomcherry@google.com> Merge "Refactor prop_area into a class"
am: 2a7f1b335d

* commit '2a7f1b335dcd08a480c4acc948ba202bae1a0a1f':
Refactor prop_area into a class
2a7f1b335dcd08a480c4acc948ba202bae1a0a1f 10-Nov-2015 Tom Cherry <tomcherry@google.com> Merge "Refactor prop_area into a class"
926ebe109424baa407b2cd938ba053b5c0b8ce7c 24-Sep-2015 Tom Cherry <tomcherry@google.com> Refactor prop_area into a class

Bug 21852512

Change-Id: I432bf592f1a71a046c32616fc334ad77c220f0ca
ionic/system_properties.cpp
dcf501913d1537b2b980aeee6b4a8bb6da0eb0d5 09-Nov-2015 Dan Willemsen <dwillemsen@google.com> Merge "Update Android.bp with latest Android.mk changes"
am: 704e048cbf

* commit '704e048cbfcb69b7906371f9f4cae4cb6357096e':
Update Android.bp with latest Android.mk changes
dc6b0a7b9358335a3b66e7809a7c620f22c22261 09-Nov-2015 Dan Willemsen <dwillemsen@google.com> Update Android.bp with latest Android.mk changes

Change-Id: I45f6292fcc4d4559519d88f948b4478204b08f25
ndroid.bp
a74eb4dbf5ec0ec397ce0517d30886e29b268c19 07-Nov-2015 Yabin Cui <yabinc@google.com> Merge "Add fileno_unlocked to support thread sanitizer."
am: 0e6542b75b

* commit '0e6542b75b2f3ca155b452782d2122f34f807485':
Add fileno_unlocked to support thread sanitizer.
fb994f4c040da968b7271860535f07daba182069 07-Nov-2015 Yabin Cui <yabinc@google.com> Add fileno_unlocked to support thread sanitizer.

Bug: 25392375
Change-Id: If3f92a0e08a53f4b59e01397e8efa307d8572349
nclude/stdio.h
ibc.arm.map
ibc.arm64.map
ibc.map.txt
ibc.mips.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.map
tdio/stdio_ext.cpp
4eba804ca0f4861508c86f95b33c80c2612e3b6f 06-Nov-2015 Elliott Hughes <enh@google.com> Merge "fix the mremap signature"
am: 8b5b2c4672

* commit '8b5b2c467281de502ba1c8ffbe447ef95fbf5219':
fix the mremap signature
4200e260d266fd0c176e71fbd720d0bab04b02db 03-Nov-2015 Daniel Micay <danielmicay@gmail.com> fix the mremap signature

The mremap definition was incorrect (unsigned long instead of int) and
it was missing the optional new_address parameter.

Change-Id: Ib9d0675aaa098c21617cedc9b2b8cf267be3aec4
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/___mremap.S
rch-arm/syscalls/mremap.S
rch-arm64/syscalls/___mremap.S
rch-arm64/syscalls/mremap.S
rch-mips/syscalls/___mremap.S
rch-mips/syscalls/mremap.S
rch-mips64/syscalls/___mremap.S
rch-mips64/syscalls/mremap.S
rch-x86/syscalls/___mremap.S
rch-x86/syscalls/mremap.S
rch-x86_64/syscalls/___mremap.S
rch-x86_64/syscalls/mremap.S
ionic/ioctl.c
ionic/ioctl.cpp
ionic/mremap.cpp
nclude/sys/mman.h
10c6a7c7b9e920b8a46ba142acfc59fdb3eef11e 05-Nov-2015 Colin Cross <ccross@android.com> Merge "Use cc_defaults"
am: ef5e647891

* commit 'ef5e647891f1a0aefeab4a87e9225e47087c6301':
Use cc_defaults
ef5e647891f1a0aefeab4a87e9225e47087c6301 05-Nov-2015 Colin Cross <ccross@android.com> Merge "Use cc_defaults"
824084ce7616376f49af78dfd7894761d7bac7d2 04-Nov-2015 Josh Gao <jmgao@google.com> Merge "Fix GNU/POSIX basename headers."
am: dd7dcfcfdb

* commit 'dd7dcfcfdbab3b38fc40551defdf81c3b734e336':
Fix GNU/POSIX basename headers.
dd7dcfcfdbab3b38fc40551defdf81c3b734e336 04-Nov-2015 Josh Gao <jmgao@google.com> Merge "Fix GNU/POSIX basename headers."
eb9b9250122080df4a11293b9b6679e0b63ae2dd 04-Nov-2015 Josh Gao <jmgao@google.com> Fix GNU/POSIX basename headers.

Including glibc's <libgen.h> will result in the user getting the POSIX
version of basename always, regardless of when it is included relative
to <string.h>. Prior to this patch, our implementation would result in
the one that's included first winning.

Bug: http://b/25459151
Change-Id: Id4aaf1670dad317d6bbc05763a84ee87596e8e59
nclude/libgen.h
nclude/string.h
50c21ab47d60e5b21b87a085eb731e7697f4e489 01-Nov-2015 Colin Cross <ccross@android.com> Use cc_defaults

Use a cc_defaults module to reduce duplication.

Change-Id: Iaee6bf20b84123babcdc68d4feb06308f5f61a59
ndroid.bp
021d959eba77c3f7a17ef01eba3f804e22aa9828 04-Nov-2015 Dan Willemsen <dwillemsen@google.com> Merge "Update Android.bp with arch-specific version scripts"
am: 4b920f042a

* commit '4b920f042ac4b35c4dd3ff51f7b8f164a22e3500':
Update Android.bp with arch-specific version scripts
a59479434c7e3944a3f44c8da74002695c6595b3 04-Nov-2015 Josh Gao <jmgao@google.com> Merge "fix PTRDIFF_MAX check in the 32-bit mmap wrapper"
am: af909869d8

* commit 'af909869d868585a47914ab51536192da50935cb':
fix PTRDIFF_MAX check in the 32-bit mmap wrapper
9e6f98fe9df0b10c2b414d85faa3d8833abe49b5 03-Nov-2015 Dan Willemsen <dwillemsen@google.com> Update Android.bp with arch-specific version scripts

Change-Id: I59b34f21b54e8a2084bb318a08c4092064f48083
ndroid.bp
a4bff2106bd81f347d81169b61ec94ce64a08bea 03-Nov-2015 Bill Yi <byi@google.com> Merge commit '6ebfb7b4ea158005a725f43564267e0aed764d80' into HEAD
706186d266d45c161f9dad3ec1851c78017bc1de 03-Nov-2015 Daniel Micay <danielmicay@gmail.com> fix PTRDIFF_MAX check in the 32-bit mmap wrapper

It wasn't making use of the page-rounded size.

Change-Id: I911345fcfd6419a4dbc18a4622b42e1b76729abb
ionic/mmap.cpp
384ffe34638c91158465e143ddd867479c89cd52 02-Nov-2015 Christopher Ferris <cferris@google.com> Fix comment to reflect the actual reality.

The original comment implied that Android 32 bit was the only one
using a bad time_t, but it turns out 32 bit glibc has the same time_t
as Android. Update the comment to reflect this reality.

Change-Id: I72cdd2c677a6521f7b43d4695a52fd8fdc3305bd
zcode/localtime.c
75dd3710e72e819ce6710e93672f937550ed3818 31-Oct-2015 Dimitry Ivanov <dimitry@google.com> Merge "Generate libdl.so per-architecture version script"
bc75047a1b0e68006077ea2e5f798475c90cbad0 31-Oct-2015 Dmitriy Ivanov <dimitry@google.com> Generate libdl.so per-architecture version script

Bug: http://b/24767418
Change-Id: I3d5775ba44d4c8e7fc5f2fbebae10e022100f1e2
ools/genversion-scripts.py
1721cd6a74996104d07bcdfd8581da4189cb1a6e 31-Oct-2015 Christopher Ferris <cferris@google.com> Make _signal hidden in all cases.

_signal was static in 64 bit, and hidden on 32 bit. There is no
reason to have this distinction, so make it hidden in all cases.

Change-Id: I09d5d93ac8cab4fe14dc7bdfeb25aa46a3b7413d
ionic/signal.cpp
c36be975ce4525b452435f43beb1fb9fc26a7fdc 31-Oct-2015 Elliott Hughes <enh@google.com> Merge "Add prlimit to LP32."
bdac9ec142347a0dc9784bddd0f8336535e73529 30-Oct-2015 Elliott Hughes <enh@google.com> Merge "Remove <sys/shm.h>."
38eca07826f70a34fde05e6b858cb6e88cac3a55 30-Oct-2015 Elliott Hughes <enh@google.com> Remove <sys/shm.h>.

Android doesn't allow SysV IPC, so this only serves two purposes. It's
good in that it helps random code (especially code that doesn't actually
need this header) to compile anyway. But it's bad for the same reason:
it's misleading for configure scripts that test for the header but not
for the corresponding functions.

Bug: http://b/19340456
Change-Id: I4a5f319d9aecf46fc512fc94bb4f9e3f6ea64e71
nclude/sys/shm.h
9978a9a82e3b883b32a7a0bcd5cac18f31e7a68d 30-Oct-2015 Christopher Ferris <cferris@google.com> Move __set_errno to ndk_cruft.cpp.

Change-Id: I5caa1cc161961d2e4629429c0d406875b93cdbd0
ionic/__set_errno.cpp
ionic/ndk_cruft.cpp
4151db5f997cd91d3505ac6594bede0b50184855 29-Oct-2015 Elliott Hughes <enh@google.com> Add prlimit to LP32.

Bug: http://b/24918750
Change-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917
ionic/legacy_32_bit_support.cpp
nclude/sys/resource.h
ibc.arm.map
ibc.map.txt
ibc.mips.map
ibc.x86.map
316938a676446fb256688f848f103e7b2211ad7b 29-Oct-2015 Dimitry Ivanov <dimitry@google.com> Merge "Fix LDFLAGS for arm and x86" am: 5ccad497d4
am: bd5bf272a0

* commit 'bd5bf272a0fbb65ad1658106cde4c2ec5f5ce520':
Fix LDFLAGS for arm and x86
e85fb580c88d5423702272ecc93856ed86c1eef6 29-Oct-2015 Dmitriy Ivanov <dimitry@google.com> Fix LDFLAGS for arm and x86

Change-Id: I5366f4499cb4da3a51b8484ab3e4ff785f0888ab
ndroid.mk
ibc.arm.map
ibc.arm64.map
ibc.mips.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.map
c5f943eb2e0ecc771dc62a2ed09fbbfc38e8318c 29-Oct-2015 Dimitry Ivanov <dimitry@google.com> Merge "Generate per-architecture version scripts." am: 578d949e8d
am: b420ddd27e

* commit 'b420ddd27e1ce0becf0e57c0fc0efe9ec726ab21':
Generate per-architecture version scripts.
7f337bd1e395a3b7ef357594be5db86c9ba25b31 29-Oct-2015 Elliott Hughes <enh@google.com> Merge "Remove the legacy endusershell/getusershell/setusershell stubs." am: d9146c2404
am: 601183efaf

* commit '601183efafffb2a145736b4a3f73be1034d761b0':
Remove the legacy endusershell/getusershell/setusershell stubs.
284b4685246197890b4f75a9912096b8e13c62ba 28-Oct-2015 Dmitriy Ivanov <dimitry@google.com> Generate per-architecture version scripts.

Bug: http://b/24767418
Change-Id: I23e49d8d30c0def3215ffbd99d09f207d9483624
ndroid.mk
ibc.arm.map
ibc.arm64.map
ibc.map
ibc.map.txt
ibc.mips.map
ibc.mips64.map
ibc.x86.map
ibc.x86_64.map
ools/genversion-scripts.py
d7c7daada276276e77446c099a67dd3ea15ea72e 28-Oct-2015 Elliott Hughes <enh@google.com> Remove the legacy endusershell/getusershell/setusershell stubs.

These don't work, aren't thread-safe, aren't in POSIX (or our header
files), and are only used by one app (whose developers I've contacted).
But the presence of these symbols causes configure to be confused, which
is a pain for Brillo.

Bug: http://b/24812426
Change-Id: I7fa6ef82864d5563929d9b8a7f8fcacb30b26d45
ionic/ndk_cruft.cpp
ibc.map
2c11b07ee0dcc71e3094beb63eec6819b855da0c 27-Oct-2015 Elliott Hughes <enh@google.com> Merge "Implement scandirat and scandirat64." am: 1721be2229
am: a1be410fd7

* commit 'a1be410fd7f916063164fd9daf28ca992af828d7':
Implement scandirat and scandirat64.
1721be2229d07b5eea830f02a76e7be56d172aa9 27-Oct-2015 Elliott Hughes <enh@google.com> Merge "Implement scandirat and scandirat64."
6331e806de41d98083f1bfa3661addfae4682c37 27-Oct-2015 Elliott Hughes <enh@google.com> Implement scandirat and scandirat64.

Bug: http://b/12612339
Change-Id: Id3b249a884fe08964b26a017ae9574961f0cb441
ionic/scandir.cpp
nclude/dirent.h
ibc.map
rivate/ScopedReaddir.h
75347e52b01d852ecd7492adc7a160e5762690d8 27-Oct-2015 Dimitry Ivanov <dimitry@google.com> Merge "Implement load at fixed address feature" am: 5238eb0984
am: 9e599956b2

* commit '9e599956b2ece835b480182eee27209b4a831a19':
Implement load at fixed address feature
5238eb09844f9c1578353d4c9e297aadb34c71be 27-Oct-2015 Dimitry Ivanov <dimitry@google.com> Merge "Implement load at fixed address feature"
126af757c6d6a6447c19236df8d98ba07f21996f 08-Oct-2015 Dmitriy Ivanov <dimitry@google.com> Implement load at fixed address feature

Bug: http://b/24683631
Change-Id: I3a39ab526c8f9e213339b60e135e5459d0f41381
nclude/android/dlext.h
3b9b14830be07be9a88a05282311385bc705b2ed 27-Oct-2015 Elliott Hughes <enh@google.com> Merge "Fix <utmp.h> declarations." am: 60752a2eea
am: 6e780f2f47

* commit '6e780f2f47655ce264cfe90c4a721eb609fdbfec':
Fix <utmp.h> declarations.
9216a64c90ae30da109850526cdeaca26f38da14 27-Oct-2015 Elliott Hughes <enh@google.com> Fix <utmp.h> declarations.

If we're going to keep this useless header -- and I think it's too late to
remove it -- it may as well be correct.

Bug: http://b/17700469
Change-Id: Ifec4f8f1a984483d7fa7d81d47786f75b70ff4ba
nclude/utmp.h
164bd7349b77a609cad0bb767d30c3594a4689a6 27-Oct-2015 Elliott Hughes <enh@google.com> Merge "Remove swap16/swap32/swap64 header pollution." am: a2cf3783d4
am: 00e9bfe523

* commit '00e9bfe523a045131142b13a766774f1ee43555e':
Remove swap16/swap32/swap64 header pollution.
bf4c32df6b7c15c8ca80319410e7d37ddd39240b 27-Oct-2015 Elliott Hughes <enh@google.com> Remove swap16/swap32/swap64 header pollution.

This seems to be obsolete BSD stuff, and the only references to it in the
tree are people #undef'ing it.

Bug: http://b/2735009
Change-Id: Icde523ae2d15cf1025357d861f97b415e89e4f9a
nclude/byteswap.h
nclude/sys/endian.h
c9ad2274b2c277bb0ac8d5e7ddedb4e89f56b735 23-Oct-2015 Christopher Ferris <cferris@google.com> Merge "Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC." am: ca430d9787
am: c5b9c4d72f

* commit 'c5b9c4d72f141fea8b03561c0c8f5f7068ea93ea':
Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.
a8184456229ace2b0255468e6b15aeb6509e27f7 23-Oct-2015 Christopher Ferris <cferris@google.com> Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.

Change-Id: If4da9e46398ca5524f6f0680d70588e3dc7e80b4
ionic/libgen.cpp
nclude/sys/cdefs.h
tdio/glue.h
tdio/local.h
pstream-openbsd/android/include/openbsd-compat.h
bdff4ce8ed4c12b688f27b6af97dbee61ee4120a 23-Oct-2015 Andreas Gampe <agampe@google.com> resolve merge conflicts of 216bff9ff3 to mnc-dr-dev.
am: 807032d0e1

* commit '807032d0e12877a4c92ac7f6072d5dd9e1f76f3c':
Sync with upstream NetBSD lib/libc/regex.
807032d0e12877a4c92ac7f6072d5dd9e1f76f3c 23-Oct-2015 Andreas Gampe <agampe@google.com> resolve merge conflicts of 216bff9ff3 to mnc-dr-dev.

Change-Id: I63c4f3a4e56f30d6f476ad2c623c23ee7e1a3778
d26e780df66b9add4cf7e7ebb2f6c6749d1c5050 23-Oct-2015 Yabin Cui <yabinc@google.com> Use bionic lock in pthread_internal_t.

It removes calling to pthread_mutex_lock() at the beginning of new
thread, which helps to support thread sanitizer.

Change-Id: Ia3601c476de7976a9177b792bd74bb200cee0e13
ionic/pthread_create.cpp
ionic/pthread_internal.h
rivate/bionic_lock.h
216bff9ff33d74fb7f232045799a93b102a4d2a2 23-Oct-2015 Christopher Ferris <cferris@google.com> resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
am: afff4442ae

* commit 'afff4442ae092469f298a71862d61c65ceb67b03':
Sync with upstream NetBSD lib/libc/regex.
afff4442ae092469f298a71862d61c65ceb67b03 21-Oct-2015 Christopher Ferris <cferris@google.com> resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.

Change-Id: I56c1bb2adb4b6a48733c928415e788e689b4944e
d676080a3752873249c1204b52e872fe48169276 21-Oct-2015 Elliott Hughes <enh@google.com> Sync with upstream NetBSD lib/libc/regex.
am: 055a66c9b1

* commit '055a66c9b1017c01b82c12b65a571bf9efad8b19':
Sync with upstream NetBSD lib/libc/regex.
5edf077c5b92f0db212e45ed5402339a6e4c7334 20-Oct-2015 Dan Willemsen <dwillemsen@google.com> Merge "Switch to LOCAL_SRC_FILES_EXCLUDE"
268a673bd1add941e331b2f53758242d939ca5b1 15-Oct-2015 Dan Willemsen <dwillemsen@google.com> Switch to LOCAL_SRC_FILES_EXCLUDE

This moves the generic arm/arm64/x86 settings into the main makefiles
and makes the rest of them derivatives. This better aligns with how
soong handles arch/cpu variants.

Also updates the Android.bp to make it consistent with the make
versions.

Change-Id: I5a0275d992bc657459eb6fe1697ad2336731d122
ndroid.bp
ndroid.mk
rch-arm/arm.mk
rch-arm/cortex-a15/cortex-a15.mk
rch-arm/cortex-a53.a57/cortex-a53.a57.mk
rch-arm/cortex-a53/cortex-a53.mk
rch-arm/cortex-a7/cortex-a7.mk
rch-arm/cortex-a9/cortex-a9.mk
rch-arm/denver/denver.mk
rch-arm/generic/generic.mk
rch-arm/krait/krait.mk
rch-arm64/arm64.mk
rch-arm64/cortex-a53/cortex-a53.mk
rch-arm64/denver64/denver64.mk
rch-arm64/generic/generic.mk
rch-mips/mips.mk
rch-mips64/mips64.mk
rch-x86/atom/atom.mk
rch-x86/generic/generic.mk
rch-x86/silvermont/silvermont.mk
rch-x86/x86.mk
rch-x86_64/x86_64.mk
b24d743f62106accb3720e482c32571a0cb2defb 19-Oct-2015 Josh Gao <jmgao@google.com> Remove deprecated use of ldm/stm in ARM setjmp.

ARM deprecates using the SP register in the register lists for ldm
and stm, which LLVM emits a warning for.

Bug: http://b/25017080
Change-Id: Ib427e3dfd5740e251f1ad91ebb66534e0d7b72a9
rch-arm/bionic/setjmp.S
055a66c9b1017c01b82c12b65a571bf9efad8b19 15-Sep-2015 Elliott Hughes <enh@google.com> Sync with upstream NetBSD lib/libc/regex.

Bug: http://b/22850181
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904

(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)
ndroid.mk
pstream-netbsd/android/include/netbsd-compat.h
pstream-netbsd/lib/libc/regex/regcomp.c
pstream-netbsd/lib/libc/stdlib/reallocarr.c
d29ba555130f1e61164cf6186cd6a29c7aa14719 17-Oct-2015 Elliott Hughes <enh@google.com> Merge "Opt Brillo out of the ndk cruft."
842866bd00220119e03fd8d2e6b77d7187b4b38c 15-Oct-2015 Neil Fuller <nfuller@google.com> Merge "Update timezone data to 2015g" into mnc-dr-dev
c433a36fb5fb8a1050e8ecbd94d215123b829e07 15-Oct-2015 Josh Gao <jmgao@google.com> Merge "Move malloc dispatch table to __libc_globals."
9a9572d577eacc5f1c83a92655fbbe5cd897236b 15-Sep-2015 Elliott Hughes <enh@google.com> Sync with upstream NetBSD lib/libc/regex.

Bug: http://b/22850181

(cherry picked from commit 71927a82379f7a72559ea96e6678d6215090937f)

Change-Id: I4a914f0594a66f38efb3026b7ba9d28a4887cb2d
ndroid.mk
pstream-netbsd/android/include/netbsd-compat.h
pstream-netbsd/lib/libc/regex/regcomp.c
pstream-netbsd/lib/libc/stdlib/reallocarr.c
cd9278798a61b653fd8875eca77fb13b1b44496a 09-Oct-2015 Neil Fuller <nfuller@google.com> Update timezone data to 2015g

Changes affecting future time stamps

Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
(Thanks to Fatih.)

Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
(Thanks to Alexander Krivenyshev.)

Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
(Thanks to Ken Rylander.)

Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
New zone America/Fort_Nelson. (Thanks to Matt Johnson.)

Changes affecting past time stamps

Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.

Bug: 24595281
(cherry-picked from commit 31740bfdb942399235e42ea920b6b717dfa0279c)

Change-Id: I6a57fbdaf12a4b4ebf2a760fd3bd872055621106
oneinfo/tzdata
198d13e8c25e69f7dbda3f5e1a3258b13fe8db5d 14-Oct-2015 Josh Gao <jmgao@google.com> Merge "make mmap fail on requests larger than PTRDIFF_MAX"
fb7f45b6a3242c9a9a547705de08cf59e6b7f935 13-Oct-2015 Neil Fuller <nfuller@google.com> Merge "Update timezone data to 2015g"
3c8fc2fea9dac044f4903b0c315b5cda1c1f5301 08-Oct-2015 Josh Gao <jmgao@google.com> Move malloc dispatch table to __libc_globals.

Change-Id: Ic20b980d1e8b6c2d4b773ebe336658fd17c737cb
ionic/libc_init_dynamic.cpp
ionic/malloc_debug_common.cpp
ionic/malloc_debug_common.h
rivate/bionic_globals.h
rivate/bionic_malloc_dispatch.h
fb8fd5076ea7ccc77960346e52b81134ccbb9ea3 13-Oct-2015 Elliott Hughes <enh@google.com> Opt Brillo out of the ndk cruft.

Bug: http://b/24812426
Change-Id: I6a858d8ceebce9e2285e5b12de9fd89d2b42b352
ionic/ndk_cruft.cpp
f0141dfab10a4b332769d52fa76631a64741297a 12-Oct-2015 Elliott Hughes <enh@google.com> Make struct FILE opaque.

Bug: http://b/24807045
Change-Id: I3cb4e436325a65bef3b203e3970e4d967101fcce
nclude/stdio.h
tdio/fileext.h
tdio/findfp.c
tdio/local.h
8ab433df132aa59db08b4548155d72574ad06421 10-Oct-2015 Elliott Hughes <enh@google.com> Fix stdio read after EOF behavior.

Bug: https://code.google.com/p/android/issues/detail?id=184847
Change-Id: Ia20ce94007c2a09649f0763b1dc7ba959f2f618d
ndroid.mk
tdio/refill.c
pstream-openbsd/lib/libc/stdio/refill.c
1ab3f303d2e7c8cc498a28fc3c8d9ded1fc46994 10-Oct-2015 Elliott Hughes <enh@google.com> Merge "Fix inet_aton on LP32."
7b77cb35aff34ff56a0b63517267c6203f9d1119 10-Oct-2015 Elliott Hughes <enh@google.com> Fix inet_aton on LP32.

I wasn't checking for overflow. Luckily, I had a test that overflows on LP32.

Change-Id: If2cf33d88f459eb26d0ce75f3c5ed192f516ab7a
ionic/arpa_inet.cpp
c6f704bf77576b2cf27decd8ee50c99aeeb9e209 10-Oct-2015 Mike Frysinger <vapier@google.com> Merge "utmp.h: add more ut_type defines"
fe9d0ed6cb10d5403e54d2dd12628a0ec345ae6e 07-Oct-2015 Josh Gao <jmgao@google.com> Move setjmp cookie to a shared globals struct.

Change-Id: I59a4c187d61524c4e48655c4c6376dba0d41eee2
ionic/libc_init_common.cpp
ionic/setjmp_cookie.cpp
rivate/bionic_globals.h
93c0f5ee00d1357247fda333c9d49c8673c9c83b 06-Oct-2015 Josh Gao <jmgao@google.com> Move VDSO pointers to a shared globals struct.

Change-Id: I01cbc9cf0917dc1fac52d9205bda2c68529d12ef
ionic/libc_init_common.cpp
ionic/libc_init_common.h
ionic/libc_init_dynamic.cpp
ionic/libc_init_static.cpp
ionic/vdso.cpp
rivate/WriteProtected.h
rivate/bionic_globals.h
rivate/bionic_vdso.h
68af0adeb9df27b3f538b0a57db426dea060db99 10-Oct-2015 Mike Frysinger <vapier@google.com> utmp.h: add more ut_type defines

This fills out the defines that utmp.h normally offers on other systems
such as glibc.

BUG=24810744

Change-Id: If57f9ced22e8673f072245fce3f5c0f8e1f591e5
nclude/utmp.h
487a1823e8617011009eded8eae9a75c1f871887 10-Oct-2015 Elliott Hughes <enh@google.com> Merge "Fix inet_addr/inet_aton/inet_network."
047866672c66e51b557721cf50ba101305c252d2 09-Oct-2015 Elliott Hughes <enh@google.com> Fix inet_addr/inet_aton/inet_network.

Rewrite inet_addr and inet_network in terms of inet_aton, and reimplement
that to include all the missing error checks.

Bug: http://b/24754503
Change-Id: I5dfa971c87201968985a0894df419f0fbf54768a
ndroid.mk
ionic/arpa_inet.cpp
pstream-openbsd/lib/libc/net/inet_addr.c
pstream-openbsd/lib/libc/net/inet_network.c
f41fe717655f01affc1d8244ff9efccc04d86620 10-Oct-2015 Elliott Hughes <enh@google.com> Merge "Sync with upstream tzcode (2015g)."
9fb22a3ec4ec5217fc29bb3ee3a0f1076098151f 08-Oct-2015 Elliott Hughes <enh@google.com> Sync with upstream tzcode (2015g).

This is quite a large patch because we haven't updated for some time,
but the good news is that upstream is now thread-safe so a lot of our
changes go away in this update and the remaining diff is a lot smaller.

(Note that our whitespace still doesn't match upstream. I use diff -wub
to compare. Upstream doesn't even really have a consistent style. New
code seems to be two spaces, old code tabs.)

From the intervening changelogs (eliding the changes that only affected
the tools, which we don't use):

2014a:
An uninitialized-storage bug in 'localtime' has been fixed.
(Thanks to Logan Chien.)

2014b:
'zic' and 'localtime' no longer reject locations needing four
transitions per year for the forseeable future. (Thanks to Andrew
Main (Zefram).)

2014c:
<None>

2014d:
<None>

2014e:
<None>

2014f:
'localtime', 'mktime', etc. now use much less stack space if
ALL_STATE is defined. (Thanks to Elliott Hughes for reporting the
problem.)

Some lint has been removed when using GCC_DEBUG_FLAGS with GCC
4.9.0.

2014g:
Unless NETBSD_INSPIRED is defined to 0, the tz library now
supplies functions for creating and using objects that represent
time zones. The new functions are tzalloc, tzfree, localtime_rz,
mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
time2posix_z. They are intended for performance: for example,
localtime_rz (unlike localtime_r) is trivially thread-safe without
locking. (Thanks to Christos Zoulas for proposing NetBSD-inspired
functions, and to Alan Barrett and Jonathan Lennox for helping to
debug the change.)

If THREAD_SAFE is defined to 1, the tz library is now thread-safe.
Although not needed for tz's own applications, which are single-threaded,
this supports POSIX better if the tz library is used in multithreaded apps.

Some crashes have been fixed when zdump or the tz library is given
invalid or outlandish input.

The tz library no longer mishandles leap seconds on platforms with
unsigned time_t in time zones that lack ordinary transitions after 1970.

The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
already defined, to make it easier to configure on common platforms.
Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.

Unless the new macro UNINIT_TRAP is defined to 1, the tz code now
assumes that reading uninitialized memory yields garbage values
but does not cause other problems such as traps.

If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now
more likely to guess right for ambiguous time stamps near
transitions where tm_isdst does not change.

If HAVE_STRFTIME_L is defined to 1, the tz library now defines
strftime_l for compatibility with recent versions of POSIX.
Only the C locale is supported, though. HAVE_STRFTIME_L defaults
to 1 on recent POSIX versions, and to 0 otherwise.

tzselect -c now uses a hybrid distance measure that works better
in Africa. (Thanks to Alan Barrett for noting the problem.)

The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,
or when time_tz is defined.

When HAVE_UTMPX_H is set the 'date' command now builds on systems
whose <utmpx.h> file does not define WTMPX_FILE, and when setting
the date it updates the wtmpx file if _PATH_WTMPX is defined.
This affects GNU/Linux and similar systems.

For easier maintenance later, some C code has been simplified,
some lint has been removed, and the code has been tweaked so that
plain 'make' is more likely to work.

The C type 'bool' is now used for boolean values, instead of 'int'.

The long-obsolete LOCALE_HOME code has been removed.

The long-obsolete 'gtime' function has been removed.

2014h:
The tz library's localtime and mktime functions now set tzname to a value
appropriate for the requested time stamp, and zdump now uses this
on platforms not defining TM_ZONE, fixing a 2014g regression.
(Thanks to Tim Parenti for reporting the problem.)

The tz library no longer sets tzname if localtime or mktime fails.

An access to uninitalized data has been fixed.
(Thanks to Jörg Richter for reporting the problem.)

When THREAD_SAFE is defined, the code ports to the C11 memory model.
A memory leak has been fixed if ALL_STATE and THREAD_SAFE are defined
and two threads race to initialize data used by gmtime-like functions.
(Thanks to Andy Heninger for reporting the problems.)

2014i:
The time-related library functions now set errno on failure,
and some crashes in the new tzalloc-related library functions
have been fixed. (Thanks to Christos Zoulas for reporting
most of these problems and for suggesting fixes.)

If USG_COMPAT is defined and the requested time stamp is
standard time, the tz library's localtime and mktime functions
now set the extern variable timezone to a value appropriate
for that time stamp; and similarly for ALTZONE, daylight
saving time, and the altzone variable. This change is a
companion to the tzname change in 2014h, and is designed to
make timezone and altzone more compatible with tzname.

The tz library's functions now set errno to EOVERFLOW if they
fail because the result cannot be represented. ctime and
ctime_r now return NULL and set errno when a time stamp is out
of range, rather than having undefined behavior.

Some bugs associated with the new 2014g functions have been
fixed. This includes a bug that largely incapacitated the new
functions time2posix_z and posix2time_z. (Thanks to Christos
Zoulas.) It also includes some uses of uninitialized
variables after tzalloc. The new code uses the standard type
'ssize_t', which the Makefile now gives porting advice about.

2014j:
<None>

2015a:
tzalloc now scrubs time zone abbreviations compatibly with the way
that tzset always has, by replacing invalid bytes with '_' and by
shortening too-long abbreviations.

2015b:
Fix integer overflow bug in reference 'mktime' implementation.
(Problem reported by Jörg Richter.)

Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries
to be used in the same executable as standard-library time_t functions.
(Problems reported by Bradley White.)

2015c:
<None>

2015d:
<None>

2015e:
<None>

2015f:
<None>

2015g:
localtime no longer mishandles America/Anchorage after 2037.
(Thanks to Bradley White for reporting the bug.)

On hosts with signed 32-bit time_t, localtime no longer mishandles
Pacific/Fiji after 2038-01-16 14:00 UTC.

The localtime module allows the variables 'timezone', 'daylight',
and 'altzone' to be in common storage shared with other modules,
and declares them in case the system <time.h> does not.
(Problems reported by Kees Dekker.)

On platforms with tm_zone, strftime.c now assumes it is not NULL.
This simplifies the code and is consistent with zdump.c.
(Problem reported by Christos Zoulas.)

Change-Id: I9eb0a8323cb8bd9968fcfe612dc14f45aa3b59d2
ndroid.mk
zcode/asctime.c
zcode/difftime.c
zcode/localtime.c
zcode/private.h
zcode/strftime.c
zcode/tzfile.h
d8df28ff3833e620db1b61dd4038028dd160c870 09-Oct-2015 Josh Gao <jmgao@google.com> Merge "Implement setjmp cookies on MIPS and MIPS64"
31740bfdb942399235e42ea920b6b717dfa0279c 09-Oct-2015 Neil Fuller <nfuller@google.com> Update timezone data to 2015g

Changes affecting future time stamps

Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
(Thanks to Fatih.)

Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
(Thanks to Alexander Krivenyshev.)

Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
(Thanks to Ken Rylander.)

Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
New zone America/Fort_Nelson. (Thanks to Matt Johnson.)

Changes affecting past time stamps

Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.

Bug: 24595281
Change-Id: I7e4e4c53b4843110540f573ba82d3761c871c096
oneinfo/tzdata
1b519c0ae436480881ab10d5b66a184afa4d4373 06-Oct-2015 Nikola Veljkovic <Nikola.Veljkovic@imgtec.com> Implement setjmp cookies on MIPS and MIPS64

Bug: http://b/23942752
Change-Id: Ie58892a97b5075d30d7607667251007cda99d38c
rch-mips/bionic/setjmp.S
697e261d4b157fed6042a12df217eab0b22cb759 08-Oct-2015 Dan Albert <danalbert@google.com> Fix bionic_coverage for kati.

Kati won't override something set with :=, only ?=.

Note that the actually reveals that our coverage build has been broken
for... some time. The issue is that we have static libraries built
with clang and others built with gcc linked into the same .so. If we
use both libclang_rt.profile and libgcov together, we get duplicate
symbol errors. If we only use one or the other, we don't have all the
symbols we need.

This will be fixed once chh's TLS stuff makes it into our clang and we
can start building libc_thread_atexit_impl with clang.

Change-Id: I45d0f2e558a881ad8be71088102320724ced8fe5
ndroid.mk
8dbf02d76a245c102e11442305dd5393c4051dbb 07-Oct-2015 Josh Gao <jmgao@google.com> Add missing register preserve in x86/x86_64 longjmp.

Change-Id: I3fc442f819229640e9c0ec4f9c865d9bf0e70881
rch-x86/bionic/setjmp.S
rch-x86_64/bionic/setjmp.S
f7cf8b2c1fbf6250e12d1e59aa353990eca4f109 02-Oct-2015 Mark Salyzyn <salyzyn@google.com> Merge "bionic: tzset running hot"
d0578949ace9444e07e254f5baa592283baba304 02-Oct-2015 Mark Salyzyn <salyzyn@google.com> bionic: tzset running hot

logd makes a non-insignificant number of calls to localtime, 3% of
the time in logd is spent performing __system_property_get within the
context of tzset_locked().

Bug: 23685592
Change-Id: I75f8c2d436b60374e92c166b87393abda9487af7
zcode/localtime.c
a5d5d16c3c5679afd26e6bbc24215b7c20025ade 02-Oct-2015 Josh Gao <jmgao@google.com> Use foreach loop to match setuid unsafe env vars.

Change-Id: I1e94daefac8e601281f38c7ce29ba3172a4a60bb
ionic/libc_init_common.cpp
4a65557d0ebd167e557958687f50510742cb238a 01-Oct-2015 Stephen Hines <srhines@google.com> Merge "Remove invalid left shifts of -1."
ad157a3c3353ba69d3bd155a7c09f9943a22f8d2 01-Oct-2015 Christopher Ferris <cferris@google.com> Merge "Add a no dwarf version of assembler macros."
8f8308c974169d7b9909db361e14cd257d47b2a7 01-Oct-2015 Christopher Ferris <cferris@google.com> Add a no dwarf version of assembler macros.

For the __release and __release_rt functions, the previous macros
would add a dwarf cfi entry for the function with no values. This works
with libunwind since it always tries the arm unwind information first.

This change removes those entries by creating a no dwarf version of the
assembler macro.

Change-Id: Ib93e42fff5a79b8d770eab0071fdee7d2afa988d
rch-arm/bionic/__restore.S
rivate/bionic_asm.h
1d0268c6b855531eedd297f1cb7e4ac5817c9103 02-Oct-2013 Brent DeGraaf <bdegraaf@codeaurora.org> libc: krait: Use performance version of memcpy

Change-Id: Iaa52635240da8b8746693186b66b69778e833c32
rch-arm/krait/bionic/__strcat_chk.S
rch-arm/krait/bionic/__strcpy_chk.S
rch-arm/krait/bionic/memcpy.S
rch-arm/krait/bionic/memcpy_base.S
cb6f599c44b144db26c13507dbd89805b8fe03be 30-Sep-2015 Yabin Cui <yabinc@google.com> Fix the way to count online cpus.

Read /proc/stat to count online cpus is not correct for all android
kernels. Change to reading /sys/devices/system/cpu/online instead.

Bug: 24376925
Change-Id: I3785a6c7aa15a467022a9a261b457194d688fb38
ionic/sysinfo.cpp
rivate/get_cpu_count_from_string.h
23360cc4980213d375718b7c124ecc0a21a1b1b7 29-Sep-2015 Stephen Hines <srhines@google.com> Remove invalid left shifts of -1.

Bug: 24492248

Shifting sign bits left is considered undefined behavior, so we need to
switch these uses to unsigned equivalents. The time_t-related code is
updated relative to upstream sources.

Change-Id: I226e5a929a10f5c57dfcb90c748fdac34eb377c2
ionic/semaphore.cpp
zcode/private.h
280d54680d8842df5b0e37ec50acde48957d8e7a 28-Sep-2015 Dmitriy Ivanov <dimitry@google.com> Fix bug number for linker related workarounds

Bug: 24425865
Change-Id: I2021674a9df0e768f312ca024d906302db1c494f
ndroid.bp
ndroid.mk
931e1399f13b35a139977354e179403184c649fa 25-Sep-2015 Christopher Ferris <cferris@google.com> Merge "Add cortex-a53.a57 target for 32 bit big/little."
70a9f0a3bc310c863b5c90c9860aae842f82e47f 24-Sep-2015 Christopher Ferris <cferris@google.com> Merge "Fix over read in strcpy/stpcpy/strcat."
fdfcfce7c6392d32f95a9f776ecd13da205b906c 24-Sep-2015 Christopher Ferris <cferris@google.com> Fix over read in strcpy/stpcpy/strcat.

This bug will happen when these circumstances are met:

- Destination address & 0x7 == 1, strlen of src is 11, 12, 13.
- Destination address & 0x7 == 2, strlen of src is 10, 11, 12.
- Destination address & 0x7 == 3, strlen of src is 9, 10, 11.
- Destination address & 0x7 == 4, strlen of src is 8, 9, 10.

In these cases, the dest alignment code does a ldr which reads 4 bytes,
and it will read past the end of the source. In most cases, this is
probably benign, but if this crosses into a new page it could cause a
crash.

Fix the labels in the cortex-a9 strcat.

Modify the overread test to vary the dst alignment to expost this bug.
Also, shrink the strcat/strlcat overread cases since the dst alignment
variation increases the runtime too much.

Bug: 24345899
Change-Id: Ib34a559bfcebd89861985b29cae6c1e47b5b5855
rch-arm/cortex-a15/bionic/strcat.S
rch-arm/cortex-a15/bionic/string_copy.S
rch-arm/cortex-a9/bionic/strcat.S
rch-arm/cortex-a9/bionic/string_copy.S
54ee0407dc4f51f7a4d889968d137e56928c1607 17-Sep-2015 Christopher Ferris <cferris@google.com> Add cortex-a53.a57 target for 32 bit big/little.

The routines optimized for cortex-a7 and cortex-a53 cause performance
drops on cortex-a57. Instead create a target that is the middle ground
that works relatively well on either core.

Change-Id: Ie2b6cc9a59a01c7b30602ee368b2b90f5e886289
rch-arm/cortex-a53.a57/cortex-a53.a57.mk
01030c24b0e3ace1b4cdaf415354e2f315f4f3a9 22-Sep-2015 Yabin Cui <yabinc@google.com> Increase alternative signal stack size on 64-bit devices.

Bug: 23041777
Bug: 24187462
Change-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437
ionic/pthread_internal.h
c38cee59dcba23576cc01bfbb97cecc5eb01a75c 23-Sep-2015 Dan Albert <danalbert@google.com> Merge "Prevent the build system from hiding our ABI."
0aa96aedbe8db44148b7e41fd1a58ff8ad00964a 23-Sep-2015 Dan Albert <danalbert@google.com> Prevent the build system from hiding our ABI.

Unfortunately --exclude-libs (now passed globally) clobbers our
version script, so we have to prevent the build system from using this
flag.

Bug: http://b/24166967
Change-Id: I33c766d399c418fdc17983c8c0a56608d463201e
ndroid.mk
9e3a24915241c07d8ea886533c8de6a85744a734 23-Sep-2015 Elliott Hughes <enh@google.com> Merge "Clean up /proc/<pid>/maps sscanfs."
0dec2289211dd75e2dd99e4aad84ece845e69864 23-Sep-2015 Elliott Hughes <enh@google.com> Clean up /proc/<pid>/maps sscanfs.

sscanf will swallow whitespace for us.

Change-Id: I59931cbad00f0144fd33ed4749ac0aaad15e6de6
ionic/debug_mapinfo.cpp
dd51453904f609347ce7951661eff8bc12a1c0a4 22-Sep-2015 Jorge Lucangeli Obes <jorgelo@google.com> Merge "Add preliminary OEM UID/GID support."
efcb5d9d4c4b482cf21318b2bb4aec6cf6d8e0f5 22-Sep-2015 Elliott Hughes <enh@google.com> Merge "Remove some <sys/cdefs.h> cruft."
3d00f79f98c8b981a36a79657f07a303a2288a55 22-Sep-2015 Yabin Cui <yabinc@google.com> Merge "Increase alternative signal stack size on 64-bit devices."
a39e30141d46c268ca66d6ad786d244275c4e827 22-Sep-2015 Jorge Lucangeli Obes <jorgelo@google.com> Add preliminary OEM UID/GID support.

Until we implement full support for passwd/group files, add a simple
way to use the new OEM UID/GID range (5000-5999).

oem_XXX -> 5000 + XXX iff 0 <= XXX < 1000.

Bug: 23225475

Change-Id: If48b88135d5df538313414f747d6c4c63bf0a103
ionic/stubs.cpp
44ddb31e75ff0cebea8249065606600185d58680 22-Sep-2015 Elliott Hughes <enh@google.com> Remove some <sys/cdefs.h> cruft.

In particular, we don't need to record the peculiarities of every
version of GCC ever shipped. It just makes this file harder to follow.

Change-Id: Ie9035d78eae86b4aed9dff3576c6f54e268aaced
nclude/sys/cdefs.h
f8a2243ebeb3ce60e412cd7b71b31c7b31313d58 22-Sep-2015 Elliott Hughes <enh@google.com> <netinet/udp.h> should include <linux/udp.h>.

The comment about "other stuff" referred to pre-uapi headers. Everything
in the current <linux/udp.h> should be exposed to userspace. The only
problem is that BSD and Linux use different names for the members of
struct udphdr. We can move the Linux udphdr out of the way and use an
anonymous union to get the best of both worlds. (Though unfortunately
this means that code that includes <linux/udp.h> directly instead of
using <netinet/udp.h> now won't have any definition of struct udphdr.
We've taken the stance in the past that you shouldn't include a linux/
header if there's a standard equivalent --- you should rely on us
transitively including it for you.)

Change-Id: Ie625892441b0edd8df3b76d3fcf2cbe299077bc4
nclude/netinet/udp.h
ernel/tools/defaults.py
ernel/uapi/linux/udp.h
33ac04a215a70d2f39f1ddec1bba5a42c0fd8bee 22-Sep-2015 Yabin Cui <yabinc@google.com> Increase alternative signal stack size on 64-bit devices.

Bug: 23041777
Bug: 24187462
Change-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437
ionic/pthread_internal.h
777bd95c63fcbb461deac40b303d706d3b672837 18-Sep-2015 Christopher Ferris <cferris@google.com> Merge "Import scsi headers."
96b1323a403bbd946487e4107a076b0a307136b1 18-Sep-2015 Greg Hackmann <ghackmann@google.com> Merge "Define WIFCONTINUED()"
7c4604518bcd27e27fb305388188275f49dea468 18-Sep-2015 Greg Hackmann <ghackmann@google.com> Merge "Fix SOCK_* flag definitions"
c6043f6b27dc8961890fed12ddb5d99622204d6d 26-Aug-2015 Greg Hackmann <ghackmann@google.com> Define WIFCONTINUED()

Change-Id: Id0feebd90d0525f3b479eb119b942eae8ca568d1
Signed-off-by: Greg Hackmann <ghackmann@google.com>
nclude/sys/wait.h
d75abb9614b04c3da3104099752726f9d1c6d8c7 26-Aug-2015 Greg Hackmann <ghackmann@google.com> Fix SOCK_* flag definitions

MIPS and the rest of the world only disagree on the first two SOCK_*
constants, so restructure the #ifdef accordingly.

As a deliberate side effect, this fixes SOCK_DCCP being missing on
non-MIPS platforms.

Change-Id: I2267008f1121a7eebe1ed9097afab6e612bce7f0
Signed-off-by: Greg Hackmann <ghackmann@google.com>
nclude/sys/socket.h
6048173b3622b99b9112e229f4c729c69e093e01 18-Sep-2015 Christopher Ferris <cferris@google.com> Import scsi headers.

Linux's scsi headers are a mix of userspace-facing and kernel-facing
declarations that can't be directly used by userspace. The glibc
maintainers manually copy-and-pasted these definitions into their own
scsi headers and haven't substantially updated them in 15 years. musl
has a similar set of definitions in its scsi headers.

This change generates the scsi headers from external/kernel-headers,
using the updated generation script so that the single modified scsi.h
takes the place of the non-modified one.

Change-Id: Ic14d155aa534b0edc1ee686d61113ce5cdf0e6af
ernel/common/scsi/scsi.h
ernel/common/scsi/scsi_ioctl.h
ernel/common/scsi/sg.h
d9639559ccccf055919a4d1487ca8a6cba953715 18-Sep-2015 Christopher Ferris <cferris@google.com> Merge "Add support for manually modified kernel headers."
d12c332018143e731337292910b03fa0f41b2ca2 15-Sep-2015 Christopher Ferris <cferris@google.com> Add support for manually modified kernel headers.

This changes the scripts so that if some kernel files exists
in external/kernel-headers/modified, that they will be preferred
over the same files found in original. This is to support the case
where the kernel headers cannot be taken without some small modifications.

Included with this change, is a general cleanup of the python scripts.

This also modifies the generate uapi headers script to indicate if the
source of the modified headers has changed.

Change-Id: Id13523b244ced52a2ecd9f1399c43996dd8296fa
ernel/tools/clean_header.py
ernel/tools/defaults.py
ernel/tools/generate_uapi_headers.sh
ernel/tools/update_all.py
ernel/tools/utils.py
35e91a10e0e92ee51af321f1cc0a1821794f54d8 18-Sep-2015 Dan Willemsen <dwillemsen@google.com> Update Android.bp for setjmp cookies

Change-Id: I57245e4eedf9b8e1edc7de46208be5aa47c94b28
ndroid.bp
2342e643d4c998ae314d03d207f703c1cc5159e4 17-Sep-2015 Josh Gao <jmgao@google.com> Implement setjmp cookies on x86_64.

Bug: http://b/23942752
Change-Id: Iea8d03de1dd9ca5a128c072c94b10de3a8056348
rch-x86_64/bionic/setjmp.S
85c14fb086e92b2c774ce8d8f6e4cde8d8a745b7 15-Sep-2015 Josh Gao <jmgao@google.com> Implement setjmp cookies on x86.

Bug: http://b/23942752
Change-Id: I2014f95989d0ab094b225234d98ccee477166c9d
rch-x86/bionic/setjmp.S
54db0df8d619b135af2413035a8d807b0c1489f7 12-Sep-2015 Josh Gao <jmgao@google.com> Implement setjmp cookies on AArch64.

Bug: http://b/23942752
Change-Id: I81408ef0dd53010140b51e3083d357d3f2961112
rch-arm64/bionic/setjmp.S
7fda8d2aa4d24ab400f6f0cb9f792488b634afae 11-Sep-2015 Josh Gao <jmgao@google.com> Implement setjmp cookies on ARM.

Reuse the top bits of _JB_SIGFLAG field previously used to store a
boolean to store a cookie that's validated by [sig]longjmp to make it
harder to use as a ROP gadget. Additionally, encrypt saved registers
with the cookie so that an attacker can't modify a register's value to
a specific value without knowing the cookie.

Bug: http://b/23942752
Change-Id: Id0eb8d06916e89d5d776bfcaa9458f8826717ba3
ndroid.mk
rch-arm/bionic/setjmp.S
ionic/libc_init_common.cpp
ionic/setjmp_cookie.cpp
90fc8e24876412a816776d44bedc77e1f1888a13 17-Sep-2015 Dan Willemsen <dwillemsen@google.com> Merge "Add Android.bp for libc/libm/libdl"
208ae17e5f05ce26f2fa830c6d60c055d1d3f86a 17-Sep-2015 Dan Willemsen <dwillemsen@google.com> Add Android.bp for libc/libm/libdl

Change-Id: I3537363849ba1244348996ff17c5ace1b95dbeee
ndroid.bp
569333293aeefbe792826cd59140dc23704018c4 11-Sep-2015 Mor-sarid, Nitzan <nitzan.mor-sarid@intel.com> Fix the way to get main thread stack start address.

For previous way to get the stack using the [stack] string from
/proc/self/task/<pid>/maps is not enough. On x86/x86_64, if an
alternative signal stack is used while a task switch happens,
the [stack] indicator may no longer be correct.

Instead, stack_start from /proc/self/stat which is always inside
the main stack, is used to find the main stack in /proc/self/maps.

Change-Id: Ieb010e71518b57560d541cd3b3563e5aa9660750
Signed-off-by: Nitzan Mor-sarid <nitzan.mor-sarid@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
ionic/pthread_attr.cpp
14545d4ce3dd446f20a14dcff37d60ff8d756f7a 15-Sep-2015 Elliott Hughes <enh@google.com> Merge "Move several FreeBSD functions to OpenBSD."
26a83229728c099f5572edb65dedce7163dbff71 15-Sep-2015 Elliott Hughes <enh@google.com> Move several FreeBSD functions to OpenBSD.

There's no difference between the two BSDs for these functions, so let's go
with the majority.

Change-Id: Ic296f23153a48bed5ad152f5b31989c4e00e60bd
ndroid.mk
pstream-freebsd/android/include/spinlock.h
pstream-freebsd/lib/libc/stdlib/abs.c
pstream-freebsd/lib/libc/stdlib/imaxabs.c
pstream-freebsd/lib/libc/stdlib/imaxdiv.c
pstream-freebsd/lib/libc/stdlib/labs.c
pstream-freebsd/lib/libc/stdlib/llabs.c
pstream-openbsd/lib/libc/stdlib/abs.c
pstream-openbsd/lib/libc/stdlib/imaxabs.c
pstream-openbsd/lib/libc/stdlib/imaxdiv.c
pstream-openbsd/lib/libc/stdlib/labs.c
pstream-openbsd/lib/libc/stdlib/llabs.c
71927a82379f7a72559ea96e6678d6215090937f 15-Sep-2015 Elliott Hughes <enh@google.com> Sync with upstream NetBSD lib/libc/regex.

Bug: http://b/22850181
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904
ndroid.mk
pstream-netbsd/android/include/netbsd-compat.h
pstream-netbsd/lib/libc/regex/regcomp.c
pstream-netbsd/lib/libc/stdlib/reallocarr.c
5ca66528c5e02655d79b9930456e31aab887989e 04-Aug-2015 Daniel Micay <danielmicay@gmail.com> make mmap fail on requests larger than PTRDIFF_MAX

Allocations larger than PTRDIFF_MAX can be successfully created on
32-bit with a 3:1 split, or in 32-bit processes running on 64-bit.

Allowing these allocations to succeed is dangerous, as it introduces
overflows for `end - start` and isn't compatible with APIs (mis)using
ssize_t to report either the size or an error. POSIX is guilty of this,
as are many other Android APIs. LLVM even considers the `ptr + size`
case to be undefined, as all pointer arithmetic compiles down to signed
operations and overflow is treated as undefined for standard C pointer
arithmetic (GNU C `void *` arithmetic works differently).

This also prevents dlmalloc from allocating > PTRDIFF_MAX as it doesn't
merge mappings like jemalloc. A similar check will need to be added in
jemalloc's code path for huge allocations.

The musl libc implementation also performs this sanity check.

Change-Id: I5f849543f94a39719f5d27b00cef3079bb5933e9
ionic/mmap.cpp
268af26359c8f1c87585e26d2763e3a3a63f8714 11-Sep-2015 Dan Albert <danalbert@google.com> CMSG_DATA should return an unsigned char*.

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html
> CMSG_DATA(cmsg)
> If the argument is a pointer to a cmsghdr structure, this macro
> shall return an unsigned character pointer to the data array
> associated with the cmsghdr structure.

Change-Id: I3f89ba19cbca4e6727abc65a2bbcd59267892ba8
nclude/sys/socket.h
af4713e6a5658d46570f37fe791120c60fcd34f2 04-Sep-2015 Dan Albert <danalbert@google.com> Unify unistd.h.

Make unistd.h usable from all platform versions.

Also name all function parameters for Android Studio.

Bug: http://b/21952040
Change-Id: Ia1777fd4a6d4e37f25cc402c28fb78c003e481e3
nclude/unistd.h
a6435a186d3b0e1ec4c17f7f5e8ba2bb198faeb2 06-Aug-2015 Dan Albert <danalbert@google.com> Use attribute availability.

Bug: http://b/21952040
Change-Id: I3998d88bc6076d60ae5cf7efd112817f80f17971
nclude/signal.h
nclude/stdlib.h
nclude/sys/cdefs.h
nclude/sys/stat.h
efc134dba34baa942fd698e842ee2c6a8f57252e 04-Sep-2015 Christopher Ferris <cferris@google.com> Only close stdin/stdout/stderr for debug malloc.

The debug malloc code unconditionally closes stdin/stdout/stderr,
which means that other atexit functions cannot use them. Only
close these if there is a debug malloc final function to call.

This doesn't appear to be a problem on most normal applications or the
atexit_exit bionic unit test would be failing. However, if you
enable stat dumping in jemalloc, nothing prints. Most likely trying
to add an atexit function from within libc is causing that atexit
to run after the debug malloc atexit function.

Change-Id: I963720d4ccaaa511e44af07a7461f17eb3f84e8e
ionic/malloc_debug_common.cpp
915bf813ad8761ce270d1422c483cfd252151d42 03-Sep-2015 Christopher Ferris <cferris@google.com> Update to v3.18.21 kernel headers.

Change-Id: I4ade68d62981c7f6f361750cc811e8d84be9d5b9
ernel/uapi/linux/pci_regs.h
ernel/uapi/linux/usbdevice_fs.h
ernel/uapi/linux/version.h
32bf43f44a4c0ccf04c6a60094aff574d50ecfe7 02-Sep-2015 Elliott Hughes <enh@google.com> Rename debug_stacktrace to debug_backtrace.

All the functions say "backtrace", so it's weird that the filename
says "stacktrace".

Change-Id: I1c88a56c1f9adb1bae4615edc8af3e73db270a8c
ndroid.mk
ionic/debug_backtrace.cpp
ionic/debug_backtrace.h
ionic/debug_stacktrace.cpp
ionic/debug_stacktrace.h
ionic/malloc_debug_check.cpp
ionic/malloc_debug_leak.cpp
44ead717268bd446d6d5d24e577b1ef1cdea5d30 29-Aug-2015 Elliott Hughes <enh@google.com> Regenerate NOTICE files.

Change-Id: Ia5c340220bb75e4e3166cc483ea77d19cfb08a71
OTICE
c2e634dd303a44b11e30ab31e39ffc4eae5467f8 28-Aug-2015 Elliott Hughes <enh@google.com> Merge "Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64."
46c7bc83ab0324983312f16bd40cc1cdfe11cce6 28-Aug-2015 Dan Albert <danalbert@google.com> Merge "Don't re-export libunwind_llvm."
adf5c7237da419393462a19c94c102abf7865c78 27-Aug-2015 Elliott Hughes <enh@google.com> Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64.

bionic is built without _FILE_OFFSET_BITS=64, so internally regoff_t
was 32-bit on LP32, but code compiled with _FILE_OFFSET_BITS would
expect rm_so and rm_eo in struct regmatch_t to be 64-bit, leading to
confusion.

Bug: http://b/23566443
Change-Id: Iae92fa545104068e4f64ce1977f5ec616859638c
nclude/regex.h
848808c660ec4811f4ff5a2748b6f754b008cd21 27-Aug-2015 Elliott Hughes <enh@google.com> Merge "Add preadv/pwritev."
6f4594d5dc61bb67978c44cd6eeb0e7bfb621c9b 26-Aug-2015 Elliott Hughes <enh@google.com> Add preadv/pwritev.

Bug: http://b/12612572
Change-Id: I38ff2684d69bd0fe3f21b1d371b88fa60d5421cb
YSCALLS.TXT
rch-arm/syscalls/__preadv64.S
rch-arm/syscalls/__pwritev64.S
rch-arm64/syscalls/preadv.S
rch-arm64/syscalls/pwritev.S
rch-mips/syscalls/__preadv64.S
rch-mips/syscalls/__pwritev64.S
rch-mips64/syscalls/preadv.S
rch-mips64/syscalls/pwritev.S
rch-x86/syscalls/__preadv64.S
rch-x86/syscalls/__pwritev64.S
rch-x86_64/syscalls/preadv.S
rch-x86_64/syscalls/pwritev.S
ionic/legacy_32_bit_support.cpp
nclude/sys/uio.h
ibc.map
d518a6d3bccc82cffb61fb7615b8ba09a564dec0 26-Aug-2015 Christopher Ferris <cferris@google.com> Merge "Fix the 16 bit/32 bit instruction check for arm."
b72c9d80ab760eb2f33a6667b0f0acfb779d9439 26-Aug-2015 Christopher Ferris <cferris@google.com> Fix the 16 bit/32 bit instruction check for arm.

The current code only looks for a branch, instead make this more
general.

Change-Id: Ib442d6f2f04074e274b320ca0cf04734cc78e5d2
ionic/debug_stacktrace.cpp
7ac3c128bb5df83cb001cb50b6a5ee4da9a0b0e0 26-Aug-2015 Elliott Hughes <enh@google.com> Add strchrnul.

Bug: http://b/18374026
Change-Id: Iea923309c090a51a2d41c5a83320ab3789f40f1c
ndroid.mk
ionic/strchrnul.cpp
nclude/string.h
ibc.map
cc6461861e6f09e0e0dd98e9409a11ea2c356d88 26-Aug-2015 Dan Albert <danalbert@google.com> Don't re-export libunwind_llvm.

Change-Id: Ic16be4ada4cff374209d5eea89a7f81ed2fff398
ndroid.mk
03f22465ae3106517c5852f1904f44eb937ccbbf 25-Aug-2015 Elliott Hughes <enh@google.com> Add the missing aarch64 user structs.

Bug: http://b/23377194
Change-Id: I7d36717e129d2e044dc2cf24de4227c3bcdd60ce
nclude/sys/ucontext.h
nclude/sys/user.h
829119425bcc2b5fcec8fdf219026a5192c81234 25-Aug-2015 Neil Fuller <nfuller@google.com> Update timezone data to 2015f

Changes affecting future time stamps

North Korea switches to +0830 on 2015-08-15. (Thanks to Steffen Thorsen.)
The abbreviation remains "KST". (Thanks to Robert Elz.)

Uruguay no longer observes DST. (Thanks to Steffen Thorsen
and Pablo Camargo.)

Changes affecting past and future time stamps

Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
(Thanks to Roman Tudos.)

Bug: 23480367
(cherry-picked from commit 6e7bc700e287f5d46165862a7031236670fa94d5)

Change-Id: I4d82604366e9e30a2100e09433e2772fe6957fff
oneinfo/tzdata
53f2abb5ffc103b9ea7fbe2fee13edead2553f3a 25-Aug-2015 Neil Fuller <nfuller@google.com> Merge "Update timezone data to 2015f"
6e7bc700e287f5d46165862a7031236670fa94d5 25-Aug-2015 Neil Fuller <nfuller@google.com> Update timezone data to 2015f

Changes affecting future time stamps

North Korea switches to +0830 on 2015-08-15. (Thanks to Steffen Thorsen.)
The abbreviation remains "KST". (Thanks to Robert Elz.)

Uruguay no longer observes DST. (Thanks to Steffen Thorsen
and Pablo Camargo.)

Changes affecting past and future time stamps

Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
(Thanks to Roman Tudos.)

Bug: 23480367
Change-Id: I6a46b79be3a547d4af5f3f7ca1452640ed764e1c
oneinfo/tzdata
f7286a26deba0da370003eb97918176a69b6cfa6 25-Aug-2015 Neil Fuller <nfuller@google.com> Merge "Move tzdata scripts from bionic to external/icu"
06b3f70cfecc372d2fdb5dd7665ccef2f8d09527 22-Aug-2015 Josh Gao <jmgao@google.com> Add exported __popcount_tab for libgcc compat under compiler-rt.

Change-Id: I8df09e8f199761edbba290d7f1ea530781054b03
rch-arm/arm.mk
rch-arm/bionic/popcount_tab.c
ac77536b79d0b8736523c852b965f6de8de30fa8 24-Aug-2015 Neil Fuller <nfuller@google.com> Move tzdata scripts from bionic to external/icu

The scripts affect files in external/icu, bionic
and the generated files affect libcore. The files must
be updated together so there is no "obvious" home.

OEM developers seem to want to update ICU
themselves and have been asking how. Moving the
scripts to external/icu and splitting the ICU generation
code into a sub-script they can run makes some sense.

Bug: 23419215
Change-Id: Ia26fa526fd2b560a79f36d327a10e262a85db752
ools/zoneinfo/ZoneCompactor.java
ools/zoneinfo/update-tzdata.py
4d7d05bd60b1d0bc20c95dd764fc2d916a12bb74 24-Aug-2015 Nick Kralevich <nnk@google.com> Merge "Revert "fix incompatibility with -fstack-protector-strong""
3d0142227245250a28f138807d723b7a2e0dc244 24-Aug-2015 Nick Kralevich <nnk@google.com> Revert "fix incompatibility with -fstack-protector-strong"

Reports of devices not booting with a build range including
this patch. Reverting while I investigate.

This reverts commit 96dd2b6e85e03ca9ab2600c2031490c22d5626ad.

Bug: 23470962
Change-Id: I056f1d8668f52d31412868975f2143249fc7e8f0
ndroid.mk
5f7a5125a53951543e27276877fa6b71eb08a5d8 23-Aug-2015 Nick Kralevich <nnk@google.com> Merge "fix incompatibility with -fstack-protector-strong"
62c26ed93e76ca9b3dd265f41eb3685ed2e72808 21-Aug-2015 Yabin Cui <yabinc@google.com> Merge "add fortified implementations of write/pwrite{,64}"
afdd15456ad0c7223c690731f5eb0af54cdb0024 21-Jul-2015 Daniel Micay <danielmicay@gmail.com> add fortified implementations of write/pwrite{,64}

These are just based on the read/pread{,64} implementations with the
function calls and error messages adjusted as appropriate. The only
difference is that the buffer parameters are const.

Change-Id: Ida1597a903807f583f230d74bcedffdb7b24fcf6
ndroid.mk
ionic/__pwrite64_chk.cpp
ionic/__pwrite_chk.cpp
ionic/__write_chk.cpp
nclude/unistd.h
ibc.map
079fc833137d5067c0cd3dc5211e72019314dd80 19-Aug-2015 Christopher Ferris <cferris@google.com> Merge "Modify ip to get the instr being executed."
df0891adcfe97dd8e4c825ea6ea586cc5bd09ef6 19-Aug-2015 Dan Albert <danalbert@google.com> Merge "Add a TLS slot for TSAN."
224bef8ec492e8c2a88f17f05ab7982495b43d6a 19-Aug-2015 Christopher Ferris <cferris@google.com> Modify ip to get the instr being executed.

The ip values being reported are always pointing at the next
instruction to execute, not the currently executing instruction.
Change the ip address to point at the currently executing instruction.

This fixes a problem where the next instruction is not actually
part of the same function, so if an addr2line is used, it reports
the wrong value.

This does not modify the ip for mips.

Bug: 22565486
Change-Id: Ie0df4c9727f62ce06948b9a2b0e4b7956eb6e752
ionic/debug_stacktrace.cpp
aa23b2ee5e2e0d51f0abf62c388dafc8ebd44d61 19-Aug-2015 Dan Albert <danalbert@google.com> Add a TLS slot for TSAN.

This is so TSAN won't need to rely on pthread_getspecific for finding
the current thread state.

Change-Id: Id3befeabec0a9f7ca77b5549fbc427e22e6aaa34
rivate/bionic_tls.h
e4d51cf37a861e258e423de14619982af51d2527 18-Aug-2015 Christopher Ferris <cferris@google.com> Merge "Add optimized cortex-a7/cortex-a53 memset/memcpy."
2926f9a31ef18fbf22922135895cb4c6790d3ad0 16-Aug-2015 Jake Weinstein <xboxlover360@gmail.com> libc: remove bcopy from memmove on 64-bit architectures

* bcopy is deprecated on LP64 by the following commit:

https://android.googlesource.com/platform/bionic/+/ce9ce28e5d760e32ab6c894dfaf7b8dad6de7ff6

Change-Id: I6849916f0ec4a2d0db9a360999ad1dc8edda952b
rch-arm64/generic/bionic/memmove.S
rch-x86_64/string/sse2-memmove-slm.S
5930772286de72a6cec1a9c7513355efe238e7ef 24-Jul-2015 Christopher Ferris <cferris@google.com> Add optimized cortex-a7/cortex-a53 memset/memcpy.

Add an optimized memset that is ~20% faster for cortex-a7 and
cortex-a53.

Add a 32 bit optimized cortex-a53 memcpy that is about ~20% faster
on cached data.

Fix the cortex-a15 __str{cat,cpy}_chk.S, memcpy_base.S to remove
the phony functions, since they aren't needed any more. Then add
a direct include of these for cortex-a53.

Verified the new functions by stepping through all of the major
paths and verifying the backtrace is still correct.

Bug: 22696180
Change-Id: Iec92a3f82d51243cca76c9aff9f35d920ff865ae
rch-arm/cortex-a15/bionic/__strcat_chk.S
rch-arm/cortex-a15/bionic/__strcat_chk_common.S
rch-arm/cortex-a15/bionic/__strcpy_chk.S
rch-arm/cortex-a15/bionic/__strcpy_chk_common.S
rch-arm/cortex-a15/bionic/memcpy.S
rch-arm/cortex-a15/bionic/memcpy_base.S
rch-arm/cortex-a15/bionic/memcpy_common.S
rch-arm/cortex-a53/bionic/__strcat_chk.S
rch-arm/cortex-a53/bionic/__strcpy_chk.S
rch-arm/cortex-a53/bionic/memcpy.S
rch-arm/cortex-a53/bionic/memcpy_base.S
rch-arm/cortex-a53/cortex-a53.mk
rch-arm/cortex-a7/bionic/memset.S
rch-arm/cortex-a7/cortex-a7.mk
61d9ae5ab15862484a3d9654b426e637781436e9 12-Aug-2015 Duane Sand <duane.sand@imgtec.com> [MIPS] Invalidate cached pid in vfork.

Bug: http://b/23008979
Change-Id: I43e0c7db42602441313af4607a992caa8c7d6221
rch-mips/bionic/vfork.S
rch-mips64/bionic/vfork.S
5341691955e2fc2b271b722c37496d72a0e8c683 11-Aug-2015 Dan Albert <danalbert@google.com> Move up to C++14.

The default standard version is now ahead of us. Stop specifying C++11
so we get that too.

Change-Id: Ic96942cd7fd134118e29b744601b0119e49b6ac4
ndroid.mk
5891abdc66aa9578395bc8b8e5740f629a2694b7 08-Aug-2015 Elliott Hughes <enh@google.com> Invalidate cached pid in vfork.

Bug: http://b/23008979
Change-Id: I1dd900ac988cdbe10aad3abc53240c5d352891d5
YSCALLS.TXT
rch-arm/arm.mk
rch-arm/bionic/vfork.S
rch-arm/syscalls/vfork.S
rch-arm64/bionic/vfork.S
rch-x86/bionic/vfork.S
rch-x86_64/bionic/vfork.S
e80369ab0c484a99925a49a81ab0675538fab38a 05-Aug-2015 Andreas Gampe <agampe@google.com> Merge "Bionic: Add a TLS slot for ART for Thread self"
b3db7764d0757392c73c716423f49dc0809c5a23 04-Aug-2015 Elliott Hughes <enh@google.com> Merge "name the arc4random structure mappings"
17379d2b085db9fcee114caea08c448c4293e66f 03-Aug-2015 Elliott Hughes <enh@google.com> Cherrypick upstream fnmatch.c fix.

Bug: http://b/22855370
Change-Id: I3865cff1e2ffeb6709cea092be3770c1bebf1623
pstream-openbsd/lib/libc/gen/fnmatch.c
516fcb28f2fb591e9ae14f909acf00ca5a8b0dc6 02-Aug-2015 Daniel Micay <danielmicay@gmail.com> name the arc4random structure mappings

Change-Id: I6e150e526f6ceee31aa9bd219fa45317d5a729cb
pstream-openbsd/android/include/arc4random.h
7e919daeaad62515ebbbf7b06badc77625a14d90 01-Aug-2015 Yabin Cui <yabinc@google.com> Merge "add a fortified implementation of getcwd"
9101b00400cfb20b96112682169c5da67e065ff2 20-May-2015 Daniel Micay <danielmicay@gmail.com> add a fortified implementation of getcwd

Change-Id: Ice3e6d3e1ff07788305dc85f8ee4059baad5fac4
ndroid.mk
ionic/__getcwd_chk.cpp
ionic/getcwd.cpp
nclude/unistd.h
ibc.map
c46c0e960d1d054ec1d398f5f3618e4d1154aa26 31-Jul-2015 Elliott Hughes <enh@google.com> Sync current upstream fnmatch.c.

Bug: http://b/22855370
Change-Id: I589f849aaede3b69b6b3682989bab7d8649dcd97
pstream-openbsd/lib/libc/gen/fnmatch.c
36443fd542a96d2ed71fc294f70fed08c115af55 29-Jul-2015 Elliott Hughes <enh@google.com> Remove PAGE_SIZE from <limits.h>.

It turns out that everyone's still getting PAGE_SIZE from <sys/user.h> via
<sys/ucontext.h> via <signal.h> anyway.

glibc has PAGE_SIZE in <sys/user.h> rather than <limits.h> so this part is
good. The bad part is that we have such wide transitive inclusion of
<sys/user.h>!

Bug: http://b/22735893
Change-Id: I363adffe4a27b4ca1eedf695ea621f5dd2d5ca10
ionic/sysinfo.cpp
nclude/limits.h
9bbb5a7a09c4c8754e3b151822424f92093abc2a 29-Jul-2015 Andreas Gampe <agampe@google.com> Bionic: Add a TLS slot for ART for Thread self

To improve the performance of Thread::Current(), add a tls slot so
ART can avoid a pthreads call.

Change-Id: Icc86a2b7590734637366f9d5e41a5c6d18cc5772
rivate/bionic_tls.h
5390173ad43aeae9b503c448cb496403d817e13b 29-Jul-2015 Elliott Hughes <enh@google.com> Don't transitively include <limits.h> from <sys/user.h>.

Bug: http://b/22735893
Change-Id: I27d0a1f7e2d477b8038e76bfc7fe05dd7e187344
nclude/sys/user.h
820a86f2df90419d4b0e7ae6004eb73bb804fc7e 29-Jul-2015 Elliott Hughes <enh@google.com> Remove PAGESIZE.

This was pretty much unused, and isn't in glibc.

Bug: http://b/22735893
Change-Id: If17f0dcd931c90ef1ccb134a3950c3b0011a03f4
ionic/malloc_debug_qemu.cpp
ionic/sysconf.cpp
nclude/limits.h
afab3ffcce1054ec887fb347700819d69a9c8151 28-Jul-2015 Elliott Hughes <enh@google.com> Move PAGE_MASK into <sys/user.h>.

I'm removing the TODO on the assumption that being compatible with glibc
is more useful than BSD. The new internal "bionic_page.h" header factors
out some duplication between libc and the linker.

Bug: http://b/22735893
Change-Id: I4aec4dcba5886fb6f6b9290a8f85660643261321
ionic/libc_init_static.cpp
nclude/limits.h
nclude/sys/user.h
rivate/bionic_page.h
667dc75ee1c7c922f8610ccc6b70002642141f08 28-Jul-2015 Mark Salyzyn <salyzyn@google.com> deprecate TARGET_USES_LOGD

This is not the kernel logger you are looking for

Bug: 22787659
Change-Id: I340d8bb5cdaa73be9565521681ee238b7033934b
ndroid.mk
ionic/libc_logging.cpp
e8ceb95c680eacc3b5d16644a48a28b45f421e2f 28-Jul-2015 Christopher Ferris <cferris@google.com> Merge "Remove pushes from memsets (krait/cortex-a9)."
8af32633498184e58e6f8d5d75b9f9cdbef5b6be 28-Jul-2015 Yabin Cui <yabinc@google.com> Merge "add fortified implementations of fread/fwrite"
8264cbba7ecdf11bbc7501dd5a716593543b683c 27-Jul-2015 Christopher Ferris <cferris@google.com> Remove pushes from memsets (krait/cortex-a9).

On the path that only uses r0 in both the krait and cortex-a9
memset, remove the push and use r3 instead.

In addition, for cortex-a9, remove the artificial function since
it's not needed since dwarf unwinding is now supported on arm.

Change-Id: Ia4ed1cc435b03627a7193215e76c8ea3335f949a
rch-arm/cortex-a9/bionic/memset.S
rch-arm/krait/bionic/memset.S
f0a73476a1e08e9deab7c4df557582cda60b36d2 25-Jul-2015 Daniel Micay <danielmicay@gmail.com> name the atexit handler pages

Change-Id: I1718ddee7415a673b5818bc1455b8d90f1e8f9c6
tdlib/atexit.c
189394b885e4b11e9f009fd2e434e6dc6696277b 25-Jul-2015 Elliott Hughes <enh@google.com> Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE).

Bug: http://b/18342333
Change-Id: Id12ed4e85a0f35d7d27202f7792df42a65a74b4e
ionic/sysconf.cpp
fed2659869ec41a93f655be8058568ddab419e01 18-Jul-2015 Daniel Micay <danielmicay@gmail.com> add fortified implementations of fread/fwrite

A __size_mul_overflow utility is used to take advantage of the checked
overflow intrinsics in Clang and GCC (>= 5). The fallback for older
compilers is the optimized but less than ideal overflow checking pattern
used in OpenBSD.

Change-Id: Ibb0d4fd9b5acb67983e6a9f46844c2fd444f7e69
ndroid.mk
ionic/__fread_chk.cpp
ionic/__fwrite_chk.cpp
nclude/stdio.h
nclude/sys/cdefs.h
ibc.map
b8320b8021856ae61b3012b82c2ae96df97e3ec4 22-Jul-2015 Yabin Cui <yabinc@google.com> Don't abort when failed to write tracing message.

Also make the code thread-safe with lock.

Bug: 20666100
Change-Id: I0f331a617b75280f36179c187418450230d713ef
(cherry picked from commit 166112531558a1d4ea179c29147f27db7045db22)
ionic/bionic_systrace.cpp
795a8e3d690c09304ea52d7cb2ca4143b6751c60 23-Jul-2015 Christopher Ferris <cferris@google.com> Make all labels local.

Change the non-local labels to .L labels.

Change-Id: I720e894f2e311af8f4a0970303d8b86575fb69a5
rch-arm/cortex-a15/bionic/strcat.S
rch-arm/cortex-a15/bionic/strlen.S
166112531558a1d4ea179c29147f27db7045db22 22-Jul-2015 Yabin Cui <yabinc@google.com> Don't abort when failed to write tracing message.

Also make the code thread-safe with lock.

Bug: 20666100
Change-Id: I0f331a617b75280f36179c187418450230d713ef
ionic/bionic_systrace.cpp
2565492db0d67b95348cd1c3026ed338ca59aa37 22-Jul-2015 Yabin Cui <yabinc@google.com> Merge "Add getgrgid_r/getgrnam_r."
c4786d366b11ed81165d43ee7f23e0d4965fc00f 21-Jul-2015 Yabin Cui <yabinc@google.com> Add getgrgid_r/getgrnam_r.

Bug: 22568551
Change-Id: I3c0772d119d6041063c6be53f5bcc5ea1768f0d5
ionic/stubs.cpp
ibc.map
3b49d61ac2f7a02d5e7f25a24836b060f922f079 22-Jul-2015 Elliott Hughes <enh@google.com> Merge "libc: arch-x86: implement kernel vdso time functions"
10726d52ac3a7b34a6e2d9c40532037ca1108485 15-Jul-2015 Robert Jarzmik <robert.jarzmik@intel.com> libc: arch-x86: implement kernel vdso time functions

This patch give the possibility of time vdso support on 32bit kernel.
If the 32bit x86 kernel provides gettimeofday() and clock_gettime()
primitives in vdso. In this case make bionic use them. If the kernel
doesn't provide them, fallback to the legacy system call versions.

Change-Id: I87b772a9486fa356903e1f98f486ab9eb0b6f6f7
Signed-off-by: Robert Jarzmik <robert.jarzmik@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
YSCALLS.TXT
rch-x86/syscalls/__clock_gettime.S
rch-x86/syscalls/__gettimeofday.S
rch-x86/syscalls/clock_gettime.S
rch-x86/syscalls/gettimeofday.S
ionic/vdso.cpp
7e52dbe4d24daf61a8bd4bbbd0761c55468c3c7e 22-Jul-2015 Dan Albert <danalbert@google.com> Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev
d29486343a66cae37fc4fc74ed206fd29f25476b 21-Jul-2015 Elliott Hughes <enh@google.com> Use a less misleading name for the code that sets up the main thread.

Change-Id: I50c1b0a3b633cf8bc40a6bd86f12adb6b91e2888
ionic/libc_init_common.cpp
ionic/libc_init_static.cpp
rivate/bionic_tls.h
aa55e7ad249e49025d0507f513a6c45f8491a4e5 16-Jul-2015 Christopher Ferris <cferris@google.com> Add support for non-zero vaddr in maps.

If a map has a non-zero vaddr then it needs to be added to the
computed relative offset.

Bug: 22532054

(cherry picked from commit 70b6e1daffd58ebce006d4b504cd0fb9672b6d07)

Change-Id: I1e98741d6ff3b5bbb7fc5f88cc85b27ace75ee2e
ionic/debug_mapinfo.cpp
ionic/debug_mapinfo.h
c99fabb7a097e9aeed49ce03584cce113d086905 21-Jul-2015 Christopher Ferris <cferris@google.com> Merge "Add support for non-zero vaddr in maps."
3bcfd47c6836a952b2093c64feb9f1e382891256 21-Jul-2015 Elliott Hughes <enh@google.com> Merge "Revert "Revert "make vdso function pointers read-only at runtime"""
d7ce90090fd5ef7f745f674eb4a95b4f0c0b341c 21-Jul-2015 Dan Albert <danalbert@google.com> Revert "Stop libc from cross-referencing unwind symbols"

This reverts commit cd13b14e98d4921af126667fae0cf6613a5615c5.

Bug: http://b/19958712
Change-Id: I7cc7f69728c42c37e129aee30d761c4cd7e30e94
(cherry picked from commit 95fd031c4d22b90c542621170bb6d4d05bb94457)
rch-arm/arm.mk
rch-arm/bionic/libgcc_protect_unwind.c
95fd031c4d22b90c542621170bb6d4d05bb94457 21-Jul-2015 Dan Albert <danalbert@google.com> Revert "Stop libc from cross-referencing unwind symbols"

This reverts commit cd13b14e98d4921af126667fae0cf6613a5615c5.

Bug: http://b/19958712
Change-Id: I7cc7f69728c42c37e129aee30d761c4cd7e30e94
rch-arm/arm.mk
rch-arm/bionic/libgcc_protect_unwind.c
613f8145087a763e128d58e638bc85799fb06989 21-Jul-2015 Elliott Hughes <enh@google.com> Revert "Revert "make vdso function pointers read-only at runtime""

This reverts commit 1946856b1f18a27c51ba30bb9e304f25b722ee05.

This goes back to the original scheme of PROT_NONEing a page within
libc. Allocating a new page didn't fail safe for cases where these
functions are called from the dynamic linker.

Bug: http://b/22568628
Change-Id: I3e7241c8b54c27ea4a898bc952375c1e9ae38c80
ionic/vdso.cpp
e5544ae1f8a23ae77908e822e83a73ebd4b656ec 20-Jul-2015 Elliott Hughes <enh@google.com> Merge "<sys/time.h> should include [most of] <sys/select.h>."
6c9ad82b1c0f26f5edb5d5ca246b88451c5ea238 20-Jul-2015 Elliott Hughes <enh@google.com> Merge "Revert "make vdso function pointers read-only at runtime""
1946856b1f18a27c51ba30bb9e304f25b722ee05 20-Jul-2015 Elliott Hughes <enh@google.com> Revert "make vdso function pointers read-only at runtime"

This reverts commit df1a3c6d21702e3e96cfcddadee4a50bfac82110.

This change prevented N9 from booting (http://b/22568628).

Change-Id: I071d6d6a0ae7881d65641839e665acdcf58462b4
ionic/vdso.cpp
a7a87dda4ae2796c315519f506c8156c33c47e79 18-Jul-2015 Elliott Hughes <enh@google.com> <sys/time.h> should include [most of] <sys/select.h>.

Found by trying to build c-ares with bionic.

Change-Id: I38684abcb806ef1e8806c68b4a6dd9200f48849e
nclude/sys/time.h
2cc41d3e0054e414caa2022f4b625de2983006a2 17-Jul-2015 Elliott Hughes <enh@google.com> Add all the glibc one-line "synonym" header files.

Ported code keeps needing these one by one, so let's just add the whole
set...

Change-Id: I9662b256aeaa1b0ffb22354130e503f0c4aa472b
nclude/sys/syslog.h
nclude/sys/unistd.h
nclude/sys/vt.h
nclude/syscall.h
nclude/wait.h
df1a3c6d21702e3e96cfcddadee4a50bfac82110 17-Jul-2015 Daniel Micay <danielmicay@gmail.com> make vdso function pointers read-only at runtime

Global, writable function pointers are low-hanging fruit for hijacking
control flow with an overflow from a global buffer or an arbitrary write
vulnerability. This moves the function pointer table into a dedicated
page and makes it read-only at runtime, similar to RELRO.

This increases the memory usage of the library by just under one page.
This could be avoided by having the linker load the vdso by replacing
weak symbols. It's not significant within the Zygote spawning model
though because it's read-only after early init.

Change-Id: Id7a49c96c1b15c2e1926528304b3c54a81e78caf
ionic/vdso.cpp
70b6e1daffd58ebce006d4b504cd0fb9672b6d07 16-Jul-2015 Christopher Ferris <cferris@google.com> Add support for non-zero vaddr in maps.

If a map has a non-zero vaddr then it needs to be added to the
computed relative offset.

Bug: 22532054
Change-Id: If55015165d25ecc4b530f674b481c8c7ef760a23
ionic/debug_mapinfo.cpp
ionic/debug_mapinfo.h
96dd2b6e85e03ca9ab2600c2031490c22d5626ad 04-Apr-2015 Daniel Micay <danielmicay@gmail.com> fix incompatibility with -fstack-protector-strong

The __libc_init_tls function in libc_init_common.cpp takes a reference
to a local variable so it ends up being protected. Since this happens
before TLS and the stack guard value are initialized, it breaks.

The libc_init_common code needs to be compiled with -fno-stack-protector
and can then be merged into libc_bionic.

Change-Id: Ie95ea2ff533d4af1cfad1c9bc59e49f20a8e119d
ndroid.mk
0875ba3095782387370cba2e36ebc5df7acbcb7e 16-Jul-2015 Bertrand SIMONNET <bsimonnet@google.com> Add timespec/timeval conversion helpers.

TIMESPEC_TO_TIMEVAL and TIMEVAL_TO_TIMESPEC are usually provided by
sys/time.h.

BUG: 22532790

Change-Id: I8b9d7298e3250323faa20b1adf9a7514954c6096
nclude/sys/time.h
dda4fd4644b0ce06b78f1a612de98a73b6ca3d6b 14-Jul-2015 Christopher Ferris <cferris@google.com> Update to v3.18.18 kernel headers.

Change-Id: I0a0f423bda89500ad8e13a80582f05ec8bc756ea
ernel/uapi/drm/radeon_drm.h
ernel/uapi/linux/version.h
3a40a0000a2051bab284a220ed5dfa6d2978a744 12-Jul-2015 Christopher Ferris <cferris@google.com> Do not hold hash table lock while backtracing.

There is a deadlock if holding the hash table lock while trying to do
a backtrace. Change the code so that the hash table lock is only held
while actually modifying either g_hash_table, or while modifying an
entry from g_hash_table.

Bug: 22423683
(cherry picked from commit 9fee99b06013787054a312449b94115038e2ad7c)

Change-Id: I72173bfe6f824ceaceea625c24e7851b87467135
ionic/malloc_debug_leak.cpp
43d35c356e2fbe0b022cef52445e93053c4ddbfd 13-Jul-2015 Christopher Ferris <cferris@google.com> Merge "Do not hold hash table lock while backtracing." into mnc-dev
9fee99b06013787054a312449b94115038e2ad7c 12-Jul-2015 Christopher Ferris <cferris@google.com> Do not hold hash table lock while backtracing.

There is a deadlock if holding the hash table lock while trying to do
a backtrace. Change the code so that the hash table lock is only held
while actually modifying either g_hash_table, or while modifying an
entry from g_hash_table.

Bug: 22423683
Change-Id: I604ea56f940f22e99da41ea4dcdf97bedaac268d
ionic/malloc_debug_leak.cpp
a20a35fdda5aa4ae3c244bf7f46cdd60ab580429 11-Jul-2015 Elliott Hughes <enh@google.com> Prevent user-defined basename_r from breaking basename(3).

LP64 is immune because basename_r is hidden there, but on LP32 a basename_r
defined in the executable breaks basename because its call to basename_r
will resolve to that one rather than the one in libc.

Bug: http://b/22415484
Change-Id: Ied3ca7ad3fb0e744eb705fc924743f893b4ad490
ionic/libgen.cpp
64c825441637b379be56a04622089e8e9b4b0da4 10-Jul-2015 Neil Fuller <nfuller@google.com> Merge "Update timezone data to 2015e" into mnc-dev
c6f25641eb874cd15f92759beff1ad67cfd8228b 08-Jul-2015 Daniel Erat <derat@google.com> Merge "libc: Add sys/fcntl.h for compatibility."
e55151472b89067672e865858ccc2d2f28b91cd6 08-Jul-2015 Daniel Erat <derat@google.com> libc: Add sys/fcntl.h for compatibility.

Add a /usr/include/sys/fcntl.h file that includes <fcntl.h>.

Change-Id: Ie34bf7519607c5aae1fbea7c7dca249c9b7801cc
nclude/sys/fcntl.h
90de6820f736de1239b218ea2b63d15c38505e93 08-Jul-2015 Christopher Ferris <cferris@google.com> Merge "Replace bx lr with update of pc from the stack."
e1e434af12e801931abaa7dac03915ee4c2d9b15 06-Jul-2015 Christopher Ferris <cferris@google.com> Replace bx lr with update of pc from the stack.

When there is arm assembler of this format:

ldmxx sp!, {..., lr} or pop {..., lr}
bx lr

It can be replaced with:

ldmxx sp!, {..., pc} or pop {..., pc}

Change-Id: Ic27048c52f90ac4360ad525daf0361a830dc22a3
rch-arm/cortex-a9/bionic/memcpy_base.S
rch-arm/cortex-a9/bionic/memset.S
rch-arm/generic/bionic/memcmp.S
rch-arm/generic/bionic/memcpy.S
rch-arm/generic/bionic/memset.S
rch-arm/krait/bionic/memcpy_base.S
7ea817d39ecfdb0f42a61ea87c81105461710a93 07-Jul-2015 Elliott Hughes <enh@google.com> Add some glibc-like #defines for libchrome.

libchrome uses __USE_XOPEN2K8 to decide whether futimens is
available. That's perhaps not the best idea, but there are other
cases where we defined the same feature macros as glibc to aid
portability.

Change-Id: Ie6e04cb181d88698d618e7dbd26cd347a6bf076c
nclude/sys/cdefs.h
dbb17b28312fee14f52bca39414ad200fc8ca5a1 06-Jul-2015 Elliott Hughes <enh@google.com> Fix alignment after variable-length data.

In the serialized output from netd, the strings come first. Some code
assumes -- reasonably enough -- that it can do unaligned reads of pointers,
so we need to ensure alignment after all the strings.

(cherrypick of 65dd858239c4e32a5a1afbc14ac30dbcdd2a50a3.)

Bug: http://b/21192318
Change-Id: I456639127db9a2583f7f738e6b8103375d9387fd
ns/net/gethnamaddr.c
65dd858239c4e32a5a1afbc14ac30dbcdd2a50a3 06-Jul-2015 Elliott Hughes <enh@google.com> Fix alignment after variable-length data.

In the serialized output from netd, the strings come first. Some code
assumes -- reasonably enough -- that it can do unaligned reads of pointers,
so we need to ensure alignment after all the strings.

Bug: http://b/21192318
Change-Id: I456639127db9a2583f7f738e6b8103375d9387fd
ns/net/gethnamaddr.c
eeb6b57e750220edc0b489fae11837bc73fa7a45 02-Jul-2015 Elliott Hughes <enh@google.com> Name the thread stack and signal stack guard pages.

Bug: http://b/22228722
Change-Id: I1dae672e386e404fb304a34496a29fe21134c784
ionic/pthread_create.cpp
77455f85ab46bed6dc5f7246b474ede44ae9ede2 01-Jul-2015 Elliott Hughes <enh@google.com> Merge "Fixed uchar.h for clang3.6"
86061f39c2c5f5a5ee91b349d1c8cb7bf04003a3 01-Jul-2015 Neil Fuller <nfuller@google.com> Merge "Update timezone data to 2015e"
c2247478d5bcd6e8fe4d2b58f0bdeff73daa4c80 01-Jul-2015 Dmitriy Ivanov <dimitry@google.com> Improve personality initialization

1. Personality parameter should be unsigned int (not long)
2. Do not reset bits outside of PER_MASK when setting
personality value.
3. Set personality for static executables.

Bug: http://b/21900686
Change-Id: I4c7e34079cbd59b818ce221eed325c05b9bb2303
(cherry picked from commit f643eb38c36eb63f612e20dea09fd43ac6a6b360)
ionic/libc_init_common.cpp
nclude/sys/personality.h
f643eb38c36eb63f612e20dea09fd43ac6a6b360 01-Jul-2015 Dmitriy Ivanov <dimitry@google.com> Improve personality initialization

1. Personality parameter should be unsigned int (not long)
2. Do not reset bits outside of PER_MASK when setting
personality value.
3. Set personality for static executables.

Bug: http://b/21900686
Change-Id: I4c7e34079cbd59b818ce221eed325c05b9bb2303
ionic/libc_init_common.cpp
nclude/sys/personality.h
ae02a0ae00c72fb35160a11765f539ab696fac24 30-Jun-2015 Neil Fuller <nfuller@google.com> Update timezone data to 2015e

Changes affecting future time stamps

Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
not 06-13 and 07-18 as we had guessed. (Thanks to Milamber.)

Assume Cayman Islands will observe DST starting next year, using US rules.
Although it isn't guaranteed, it is the most likely.

Bug: 21836574
Change-Id: I30ab9ba8524c79e389ed0ff8c4af4378b7048265
oneinfo/tzdata
b9f76dc8290d488bee9ba90d18981e7d3b2af8ce 30-Jun-2015 Neil Fuller <nfuller@google.com> Update timezone data to 2015e

Changes affecting future time stamps

Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
not 06-13 and 07-18 as we had guessed. (Thanks to Milamber.)

Assume Cayman Islands will observe DST starting next year, using US rules.
Although it isn't guaranteed, it is the most likely.

Bug: 21836574
Change-Id: I6eda60c220d5c55d2aa0934544866ec0f1ce62ab
oneinfo/tzdata
754f669076ec1edfc0d597aaf89600d4c93f9a7c 25-Jun-2015 Erik Kline <ek@google.com> Pass around struct android_net_context for better behaviour

Group network context elements in to a single struct and
add a version of android_getaddrinfofornet() that accepts it.

The introduction of UID-based routing means that the UID is an
integral part of the network context when evaluating connectivity,
sorting addresses, etc.

Also, introduce a distinction between DNS netids/marks and those
expected to be used by the application. This can be important
when the network an application is using is not the same as the
network on which DNS queries will be issued.

Additionally, de-duplicate the UDP connect logic (collapse both
_test_connect() and _find_src_addr() into just the latter).

Bug: 19470192
Bug: 20733156
Bug: 21832279
Change-Id: If16c2f4744695f507993afdac078ca105eb5d3e4
(cherry picked from commit 01e37c9665018534c798daaa59d5b0adb408e0a4)
ns/include/resolv_netid.h
ns/net/getaddrinfo.c
ibc.map
7f46cf9a5f0b3e54d97fc94a83b955ae4c335a31 30-Jun-2015 Erik Kline <ek@google.com> Merge "Pass around struct android_net_context for better behaviour"
59d5854d145263f8e68a7312bf52894269203029 29-Jun-2015 Elliott Hughes <enh@google.com> Add <sysexits.h>.

Taken from current upstream OpenBSD.

Bug: http://b/22172963
Change-Id: Ic899e08541335777296fa8ec99e518f35a100144
nclude/sysexits.h
a05bee544a2966a06830bf4432187fab881bfe49 25-Jun-2015 egor.kochetov <Egor.Kochetov@intel.com> Fixed uchar.h for clang3.6

The NDK self-test issue64679-prctl failed to build because by default
clang3.6 builds in C11 mode, but the ifdef in the file 'uchar.h' hid the
required char16_t and char32_t declarations based on the GCC version,
which is declared as 4 by clang.

The ifdef is changed so that it is based on C version rather than a
compiler version. This way it is compatible with gcc 4, gcc 5 and clang
which are actually the only used toolchains.

See also: b.android.com/177609

Change-Id: I78c4bdc681c6f8a31b92dbe8ffe35e84ef2eda36
Signed-off-by: Egor Kochetov <egor.kochetov@intel.com>
nclude/uchar.h
01e37c9665018534c798daaa59d5b0adb408e0a4 25-Jun-2015 Erik Kline <ek@google.com> Pass around struct android_net_context for better behaviour

Group network context elements in to a single struct and
add a version of android_getaddrinfofornet() that accepts it.

The introduction of UID-based routing means that the UID is an
integral part of the network context when evaluating connectivity,
sorting addresses, etc.

Also, introduce a distinction between DNS netids/marks and those
expected to be used by the application. This can be important
when the network an application is using is not the same as the
network on which DNS queries will be issued.

Additionally, de-duplicate the UDP connect logic (collapse both
_test_connect() and _find_src_addr() into just the latter).

Bug: 19470192
Bug: 20733156
Bug: 21832279
Change-Id: If16c2f4744695f507993afdac078ca105eb5d3e4
ns/include/resolv_netid.h
ns/net/getaddrinfo.c
ibc.map
fef58353f4ecd7ef2b48ad7f4d80013dbf786606 25-Jun-2015 Elliott Hughes <enh@google.com> Fix x86 gdbserver build.

Add the x86-only elf_fpxregset_t to <sys/procfs.h>, and rename
user_fxsr_struct (the kernel's name) to user_fpxregs_struct (the
userspace name).

Bug: http://b/22068064
Change-Id: Id466096bf02baf6bd49b193f49d9036848d33548
nclude/sys/procfs.h
nclude/sys/user.h
e79d06b0e852c5ae854bb27de9c9de7f29b4343d 23-Jun-2015 Chih-Hung Hsieh <chh@google.com> Use gcc to build and test x86_64 long double code.

Clang/llvm x86_64 configuration of long double is still
incompatible with gcc.
https://llvm.org/bugs/show_bug.cgi?id=23897

BUG: 21899249
Change-Id: I47fd6d0ce2daa84ae0035e7885a4d90e4c3056f7
ndroid.mk
2b028f5ce47b8d27ca6d3b86e135f7d9b0359547 23-Jun-2015 Elliott Hughes <enh@google.com> Fix bad merge of 64e9e71cdb7d88397e510e1986d494b797ed3b45.

Bug: http://b/22029751
Change-Id: I6245fe5f274c9af8a632da5eebe50cf9fe29dc4a
nclude/pthread.h
c08c88b5fcec05551858c32bc57f4ae614c0ce5c 19-Jun-2015 David Srbecky <dsrbecky@google.com> Merge "Add flag that makes linker honor min(p_vaddr)" into mnc-dev
34e8e47d321b129920c5142a81c2db88128c1595 06-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Add flag that makes linker honor min(p_vaddr)

(cherry picked from commit 8a1162835597be38705b381ac34c07da17932568)

Bug: 21924613
Bug: http://b/21523078
Change-Id: I3f944a08dd2ed1df4d8a807da4fee423fdd35eb7
nclude/android/dlext.h
1d824c39127764ab50b01ee2ed8bcdb6a59d48cc 26-May-2015 Nikola Veljkovic <Nikola.Veljkovic@imgtec.com> [MIPS] Add optimized string functions

Use same string functions for all MIPS architectures.

Bug: 21555893
(cherry picked from commit 38f2eaa07b0ad2e01a40607d3a0ac240ff53abbf)

Change-Id: I94521f023d0bb136a4672782148a9f6e77cc6f1e
rch-mips/mips.mk
rch-mips/string/memcpy.S
rch-mips/string/memcpy.c
rch-mips/string/memset.S
rch-mips/string/memset.c
rch-mips/string/strcmp.S
rch-mips64/mips64.mk
rch-mips64/string/memcpy.S
rch-mips64/string/memset.S
rch-mips64/string/mips-string-ops.h
rch-mips64/string/mips_strlen.c
38f2eaa07b0ad2e01a40607d3a0ac240ff53abbf 26-May-2015 Nikola Veljkovic <Nikola.Veljkovic@imgtec.com> [MIPS] Add optimized string functions

Use same string functions for all MIPS architectures.

Change-Id: I5575b16f3f66fa3609d7dafd151b6091bfe3517f
rch-mips/mips.mk
rch-mips/string/memcpy.S
rch-mips/string/memcpy.c
rch-mips/string/memset.S
rch-mips/string/memset.c
rch-mips/string/strcmp.S
rch-mips64/mips64.mk
rch-mips64/string/memcpy.S
rch-mips64/string/memset.S
rch-mips64/string/mips-string-ops.h
rch-mips64/string/mips_strlen.c
d49850d6abb1b70c34be99a46e383a6a878ae19e 17-Jun-2015 Elliott Hughes <enh@google.com> Fixes for building gdbserver (and gdb) out of the box.

Bug: http://b/21695943
Change-Id: Iadb600b2ae619515d7038a4db9bf464ba31adb36
(cherry picked from commit 895241efbba344c1590b76fcada89c48f4743cf2)
nclude/sys/procfs.h
nclude/sys/ptrace.h
nclude/sys/wait.h
895241efbba344c1590b76fcada89c48f4743cf2 17-Jun-2015 Elliott Hughes <enh@google.com> Fixes for building gdbserver (and gdb) out of the box.

Bug: http://b/21695943
Change-Id: Iadb600b2ae619515d7038a4db9bf464ba31adb36
nclude/sys/procfs.h
nclude/sys/ptrace.h
nclude/sys/wait.h
b628b7db3952594d06c8063dc863a4dd6eaa8b89 16-Jun-2015 Dan Albert <danalbert@google.com> Merge "Use new sanitizer option."
11ea08c5cbc47db16f6c024338fbe9f6f456ce80 16-Jun-2015 Dan Albert <danalbert@google.com> Use new sanitizer option.

Change-Id: I21b04a1f3be3b10ee557bf9e0caa5db638686364
ndroid.mk
848276051a24266e1eacf2e508692c62d5a6176d 16-Jun-2015 Tim Murray <timmurray@google.com> Merge "Add support for cortex-a53 in bionic." into mnc-dev
c34df8b280e4360c3be16035a80e306e8f68c6e4 12-Jun-2015 Tim Murray <timmurray@google.com> Add support for cortex-a53 in bionic.

allows -mcpu=cortex-a53 to be passed as part of a command line.

Change-Id: Id4203a9fd197f4c3b661bad21ac58c32819fd687
rch-arm/cortex-a53/cortex-a53.mk
rch-arm64/cortex-a53/cortex-a53.mk
9876aa273da6795aa6d257de5b779a68a0c2eccf 16-Jun-2015 Tim Murray <timmurray@google.com> Merge "Add support for cortex-a53 in bionic."
420574690cc7096c3f894d5d88a65e8fd13de25c 04-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Add version to libc.so symbols

Bug: http://b/21617095
Bug: http://b/20139821
Change-Id: If3d42d2a0b4a0c49721fd9b9ecbb4f7bee5a1eff
(cherry picked from commit 665607a6b7a7a8f129c30ee73c6606f4a56cea0c)
ndroid.mk
ibc.map
48fa28bacd7e84651d381e2428944916e45b5508 16-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Add version to libc.so symbols"
929be68849b7e94caaa7ffe62b8a7b506d2cc042 16-Jun-2015 Elliott Hughes <enh@google.com> Hide accidentally-exposed __clock_nanosleep.

Bug: http://b/21858067
Change-Id: Iaa83a5e17cfff796aed4f641d0d14427614d9399
(cherry picked from commit b1304935b64ffcd59cd787cc9ac83a2d14dc587b)
YSCALLS.TXT
rch-arm/syscalls/___clock_nanosleep.S
rch-arm/syscalls/__clock_nanosleep.S
rch-arm64/syscalls/___clock_nanosleep.S
rch-arm64/syscalls/__clock_nanosleep.S
rch-mips/syscalls/___clock_nanosleep.S
rch-mips/syscalls/__clock_nanosleep.S
rch-mips64/syscalls/___clock_nanosleep.S
rch-mips64/syscalls/__clock_nanosleep.S
rch-x86/syscalls/___clock_nanosleep.S
rch-x86/syscalls/__clock_nanosleep.S
rch-x86_64/syscalls/___clock_nanosleep.S
rch-x86_64/syscalls/__clock_nanosleep.S
ionic/clock_nanosleep.cpp
665607a6b7a7a8f129c30ee73c6606f4a56cea0c 04-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Add version to libc.so symbols

Bug: http://b/21617095
Bug: http://b/20139821
Change-Id: If3d42d2a0b4a0c49721fd9b9ecbb4f7bee5a1eff
ndroid.mk
ibc.map
a73b2c961f0f20e792f4616d7dd0b5f377d1130c 12-Jun-2015 Tim Murray <timmurray@google.com> Add support for cortex-a53 in bionic.

allows -mcpu=cortex-a53 to be passed as part of a command line.

Change-Id: Id4203a9fd197f4c3b661bad21ac58c32819fd687
rch-arm/cortex-a53/cortex-a53.mk
rch-arm64/cortex-a53/cortex-a53.mk
b1304935b64ffcd59cd787cc9ac83a2d14dc587b 16-Jun-2015 Elliott Hughes <enh@google.com> Hide accidentally-exposed __clock_nanosleep.

Bug: http://b/21858067
Change-Id: Iaa83a5e17cfff796aed4f641d0d14427614d9399
YSCALLS.TXT
rch-arm/syscalls/___clock_nanosleep.S
rch-arm/syscalls/__clock_nanosleep.S
rch-arm64/syscalls/___clock_nanosleep.S
rch-arm64/syscalls/__clock_nanosleep.S
rch-mips/syscalls/___clock_nanosleep.S
rch-mips/syscalls/__clock_nanosleep.S
rch-mips64/syscalls/___clock_nanosleep.S
rch-mips64/syscalls/__clock_nanosleep.S
rch-x86/syscalls/___clock_nanosleep.S
rch-x86/syscalls/__clock_nanosleep.S
rch-x86_64/syscalls/___clock_nanosleep.S
rch-x86_64/syscalls/__clock_nanosleep.S
ionic/clock_nanosleep.cpp
f1c85411a8edd71366d723bc297d49a52112cb74 16-Jun-2015 Elliott Hughes <enh@google.com> Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.

We don't want to use <asm/ptrace.h> because (a) it'll drag in a bunch of
namespace pollution and (b) the registers should be "long double" for
userspace, not the kernel's uint128s. So just use a slightly different
name for our struct (which matches the traditional names for these structs
anyway).

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: I8812ca98cfe6b649dbd31f7d6aea41928ba2acbd
(cherry picked from commit 0577733c2e15a4745d5c75f59e5f56dd179a4aa7)
nclude/sys/ucontext.h
0577733c2e15a4745d5c75f59e5f56dd179a4aa7 16-Jun-2015 Elliott Hughes <enh@google.com> Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.

We don't want to use <asm/ptrace.h> because (a) it'll drag in a bunch of
namespace pollution and (b) the registers should be "long double" for
userspace, not the kernel's uint128s. So just use a slightly different
name for our struct (which matches the traditional names for these structs
anyway).

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: I8812ca98cfe6b649dbd31f7d6aea41928ba2acbd
nclude/sys/ucontext.h
cce405a134c338ff6b76c56aafe02ef73c93a38c 04-Mar-2015 Dan Albert <danalbert@google.com> Add a sys/procfs.h.

Needed for building gdbserver out of the box.

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: Ieadda2b595f08bfddfa61fcd68006b8e7c1a438d
(cherry picked from commit bf18c61798d1ae9197ae087ed85e94eef55e8678)
nclude/sys/procfs.h
nclude/sys/ucontext.h
7051c0f2a50cb2bafee23182c3cbc9a86d361a13 16-Jun-2015 Elliott Hughes <enh@google.com> Fix two accidentally leaked mips64 symbols.

Bug: http://b/21857154
Change-Id: Ie1fb63f54c6c527b8c1172e8f6ce48f23fca9b41
(cherry picked from commit 469b418784a01c759a2ddd889437d6e6c18b256e)
rch-mips64/bionic/stat.cpp
27f5c37b12042dea3d9521b7b0287820c1e669f0 16-Jun-2015 Elliott Hughes <enh@google.com> Merge "Fix two accidentally leaked mips64 symbols."
469b418784a01c759a2ddd889437d6e6c18b256e 16-Jun-2015 Elliott Hughes <enh@google.com> Fix two accidentally leaked mips64 symbols.

Bug: http://b/21857154
Change-Id: Ie1fb63f54c6c527b8c1172e8f6ce48f23fca9b41
rch-mips64/bionic/stat.cpp
bf18c61798d1ae9197ae087ed85e94eef55e8678 04-Mar-2015 Dan Albert <danalbert@google.com> Add a sys/procfs.h.

Needed for building gdbserver out of the box.

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: Ieadda2b595f08bfddfa61fcd68006b8e7c1a438d
nclude/sys/procfs.h
nclude/sys/ucontext.h
fdcaeac1a91c3e0a1a13498b7d1d8b223e700a86 15-Jun-2015 Sharvil Nanavati <sharvil@google.com> am 00cef820: am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.

* commit '00cef82013c0826bb43c11651d25de8b99335618':
Define nonportable pthread mutex macros with the _NP suffix.
00cef82013c0826bb43c11651d25de8b99335618 12-Jun-2015 Sharvil Nanavati <sharvil@google.com> am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.

* commit '64e9e71cdb7d88397e510e1986d494b797ed3b45':
Define nonportable pthread mutex macros with the _NP suffix.
64e9e71cdb7d88397e510e1986d494b797ed3b45 12-Jun-2015 Sharvil Nanavati <sharvil@google.com> Define nonportable pthread mutex macros with the _NP suffix.

Change-Id: I1066352e5b2607f64daf6aeb0030d0bbe88ead8d
nclude/pthread.h
25ac753f474492ffa3625ca6b5aae254bb205c33 11-Jun-2015 Elliott Hughes <enh@google.com> Add process_vm_readv and process_vm_writev.

Bug: http://b/21761353
Change-Id: Ic8ef3f241d62d2a4271fbc783c8af50257bac498
(cherry picked from commit be57a40d2973739c4fb0aa1cfb0014f34aeec2bd)
YSCALLS.TXT
rch-arm/syscalls/process_vm_readv.S
rch-arm/syscalls/process_vm_writev.S
rch-arm64/syscalls/process_vm_readv.S
rch-arm64/syscalls/process_vm_writev.S
rch-mips/syscalls/process_vm_readv.S
rch-mips/syscalls/process_vm_writev.S
rch-mips64/syscalls/process_vm_readv.S
rch-mips64/syscalls/process_vm_writev.S
rch-x86/syscalls/process_vm_readv.S
rch-x86/syscalls/process_vm_writev.S
rch-x86_64/syscalls/process_vm_readv.S
rch-x86_64/syscalls/process_vm_writev.S
nclude/sys/uio.h
be57a40d2973739c4fb0aa1cfb0014f34aeec2bd 11-Jun-2015 Elliott Hughes <enh@google.com> Add process_vm_readv and process_vm_writev.

Bug: http://b/21761353
Change-Id: Ic8ef3f241d62d2a4271fbc783c8af50257bac498
YSCALLS.TXT
rch-arm/syscalls/process_vm_readv.S
rch-arm/syscalls/process_vm_writev.S
rch-arm64/syscalls/process_vm_readv.S
rch-arm64/syscalls/process_vm_writev.S
rch-mips/syscalls/process_vm_readv.S
rch-mips/syscalls/process_vm_writev.S
rch-mips64/syscalls/process_vm_readv.S
rch-mips64/syscalls/process_vm_writev.S
rch-x86/syscalls/process_vm_readv.S
rch-x86/syscalls/process_vm_writev.S
rch-x86_64/syscalls/process_vm_readv.S
rch-x86_64/syscalls/process_vm_writev.S
nclude/sys/uio.h
66c3b2db2f036ee55e06c1a861d0da82c5f10b3d 09-Jun-2015 Elliott Hughes <enh@google.com> Statically linked executables should honor AT_SECURE.

Bug: http://b/19647373
Change-Id: I10e7682d9cec26a523f1a3597ca5326c3ca42ebe
(cherry picked from commit 1801db3d3fe17df543e721b9fb355e5c882dc6cc)
ionic/libc_init_common.cpp
ionic/libc_init_common.h
ionic/libc_init_static.cpp
ba1d40a3f16525e70e4b68c5a82e7cc9f8a4b76a 11-Jun-2015 Elliott Hughes <enh@google.com> Merge "Statically linked executables should honor AT_SECURE."
60907c7f4ec788def8741e4efb933eafb6560eaa 10-Jun-2015 Christopher Ferris <cferris@google.com> Allow NULL in pthread_mutex_lock/unlock.

The pthread_mutex_lock and pthread_mutex_unlock were allowed to
fail silently on L 32 bit devices when passed a NULL. We changed
this to a crash on 32 bit devices, but there are still games that make
these calls and are not likely to be updated. Therefore, once again
allow NULL to be passed in on 32 bit devices.

Bug: 19995172
(cherry picked from commit 511cfd9dc8cb41bca4920687c7d816ee916ee8e5)

Change-Id: I159a99a941cff94297ef3fffda7075f8ef1ae252
ionic/pthread_mutex.cpp
nclude/pthread.h
1801db3d3fe17df543e721b9fb355e5c882dc6cc 09-Jun-2015 Elliott Hughes <enh@google.com> Statically linked executables should honor AT_SECURE.

Bug: http://b/19647373
Change-Id: I10e7682d9cec26a523f1a3597ca5326c3ca42ebe
ionic/libc_init_common.cpp
ionic/libc_init_common.h
ionic/libc_init_static.cpp
511cfd9dc8cb41bca4920687c7d816ee916ee8e5 10-Jun-2015 Christopher Ferris <cferris@google.com> Allow NULL in pthread_mutex_lock/unlock.

The pthread_mutex_lock and pthread_mutex_unlock were allowed to
fail silently on L 32 bit devices when passed a NULL. We changed
this to a crash on 32 bit devices, but there are still games that make
these calls and are not likely to be updated. Therefore, once again
allow NULL to be passed in on 32 bit devices.

Bug: 19995172
Change-Id: If7e8860075ecd63c0064d80f64e226fad7bd3c26
ionic/pthread_mutex.cpp
nclude/pthread.h
1cfbd94a2f40743757cdecd51cfa3e3ab545a5c5 09-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Add flag that makes linker honor min(p_vaddr)"
8a1162835597be38705b381ac34c07da17932568 06-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Add flag that makes linker honor min(p_vaddr)

Bug: http://b/21523078
Change-Id: Ice72766fb6ad3bd333c32b496e7870121e17a763
nclude/android/dlext.h
12fb28bbd85cea72bd951d8263b05e54415780e7 08-Jun-2015 Nick Kralevich <nnk@google.com> Merge "Add O_PATH support for flistxattr()"
e49af9bca5706ecbc9c4f3cf15be990294106952 06-Jun-2015 Christopher Ferris <cferris@google.com> Export two dlmalloc functions everywhere.

The functions dlmalloc_inspect_all and dlmalloc_trim get
exported on devices that use dlmalloc, so be consistent and
export them everywhere.

Bug: 21640784
(cherry picked from commit f9554a17765fd91d97d1f74913a626f01e880cee)

Change-Id: I1000221423c16c356bb6301e55f726db01c3f209
ionic/dlmalloc.h
ionic/ndk_cruft.cpp
7a799f2b02ee453a46ee368cd8c41477e0567852 05-Jun-2015 Christopher Ferris <cferris@google.com> Fix a few libc makefile mishaps.

These are the problems fixed in this CL:

- The ndk_cruft.cpp file was not compiled for 64 bit.
- Some files where not compiled for libc_bionic.a due to a missing
patch-up-arch-specific-flags call.
- The libc_bionic_ndk.a patch up call was using bionic src, not
the bionic_ndk_src_files.
- Move mmap.cpp to the ndk src list where it was before because of
the above errors.

Bug: 21640784
(cherry picked from commit 19fee2ca8beb4fae5b5c142de19757410171dc93)

Change-Id: Ib9a9cfd72720586d3400b11cd7189f021e9a06c6
ndroid.mk
e1d0810cd7e2aa045d5cc1e7d2b8697acd8467be 06-Jun-2015 Nick Kralevich <nnk@google.com> Add O_PATH support for flistxattr()

A continuation of commit 2825f10b7f61558c264231a536cf3affc0d84204.

Add O_PATH compatibility support for flistxattr(). This allows
a process to list out all the extended attributes associated with
O_PATH file descriptors.

Change-Id: Ie2285ac7ad2e4eac427ddba6c2d182d41b130f75
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/___flistxattr.S
rch-arm/syscalls/flistxattr.S
rch-arm64/syscalls/___flistxattr.S
rch-arm64/syscalls/flistxattr.S
rch-mips/syscalls/___flistxattr.S
rch-mips/syscalls/flistxattr.S
rch-mips64/syscalls/___flistxattr.S
rch-mips64/syscalls/flistxattr.S
rch-x86/syscalls/___flistxattr.S
rch-x86/syscalls/flistxattr.S
rch-x86_64/syscalls/___flistxattr.S
rch-x86_64/syscalls/flistxattr.S
ionic/flistxattr.cpp
f9554a17765fd91d97d1f74913a626f01e880cee 06-Jun-2015 Christopher Ferris <cferris@google.com> Export two dlmalloc functions everywhere.

The functions dlmalloc_inspect_all and dlmalloc_trim get
exported on devices that use dlmalloc, so be consistent and
export them everywhere.

Bug: 21640784
Change-Id: I5b8796cd03c8f401d37d9c22823144f766f9c4c7
ionic/dlmalloc.h
ionic/ndk_cruft.cpp
19fee2ca8beb4fae5b5c142de19757410171dc93 05-Jun-2015 Christopher Ferris <cferris@google.com> Fix a few libc makefile mishaps.

These are the problems fixed in this CL:

- The ndk_cruft.cpp file was not compiled for 64 bit.
- Some files where not compiled for libc_bionic.a due to a missing
patch-up-arch-specific-flags call.
- The libc_bionic_ndk.a patch up call was using bionic src, not
the bionic_ndk_src_files.
- Move mmap.cpp to the ndk src list where it was before because of
the above errors.

Bug: 21640784
Change-Id: I31e97bc8bf347c8e584cc17aa4b984a7d122b298
ndroid.mk
c534603f8d2a03e0ace678adc83d6194a7afdbe9 04-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Hide __atexit

Bug: http://b/21640806
Change-Id: I778b35c8c7538859179e97fcf5a82db2fcd9e50f
(cherry picked from commit 9cf6fc304bbbfb26911e0b624b80d862c40b0308)
tdlib/atexit.c
tdlib/atexit.h
pstream-openbsd/android/include/openbsd-compat.h
9cf6fc304bbbfb26911e0b624b80d862c40b0308 04-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Hide __atexit

Bug: http://b/21640806
Change-Id: I778b35c8c7538859179e97fcf5a82db2fcd9e50f
tdlib/atexit.c
tdlib/atexit.h
pstream-openbsd/android/include/openbsd-compat.h
c062218a9b9ae150e0c63ac2e1e5285fd5e1c476 04-Jun-2015 Christopher Ferris <cferris@google.com> Reorder DIR structure due to bad apps.

It turns out that apportable apps expect that the DIR structure is
the same as in L and below. Modify the structure to have the same
order, and move the new variable to the end of the structure.

Bug: 21037208
(cherry picked from commit 5edb0f40f654c804d38f1bff43f91719e189c892)

Change-Id: I0c1ab5e295ec8bef638daa4cfea5830aeea602e6
ionic/dirent.cpp
f2e86cd98038d6239265d936c32774b7289bfdc7 04-Jun-2015 Christopher Ferris <cferris@google.com> Merge "Reorder DIR structure due to bad apps." into mnc-dev
5edb0f40f654c804d38f1bff43f91719e189c892 04-Jun-2015 Christopher Ferris <cferris@google.com> Reorder DIR structure due to bad apps.

It turns out that apportable apps expect that the DIR structure is
the same as in L and below. Modify the structure to have the same
order, and move the new variable to the end of the structure.

Bug: 21037208
Change-Id: Id1258e9dc19423109a2c3a8086d3022965591166
ionic/dirent.cpp
34de7f849799ea47534d617595ab566690a16f2f 04-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Strip version info when extracting symbols

Bug: http://b/20139821
Change-Id: I1c1ed1b97a75936407e996698b98b94a7175ac30
(cherry picked from commit 6cda0742895e46aa4ad0e4e8d5637d166f9f46f2)
ools/check-symbols.py
6cda0742895e46aa4ad0e4e8d5637d166f9f46f2 04-Jun-2015 Dmitriy Ivanov <dimitry@google.com> Strip version info when extracting symbols

Bug: http://b/20139821
Change-Id: I1c1ed1b97a75936407e996698b98b94a7175ac30
ools/check-symbols.py
c92f9f8069f567ad2c2557e2ef56e13de4bf8713 31-May-2015 Nick Kralevich <nnk@google.com> libc: Add O_PATH support for fgetxattr / fsetxattr

Support O_PATH file descriptors when handling fgetxattr and fsetxattr.
This avoids requiring file read access to pull extended attributes.

This is needed to support O_PATH file descriptors when calling
SELinux's fgetfilecon() call. In particular, this allows the querying
and setting of SELinux file context by using something like the following
code:

int dirfd = open("/path/to/dir", O_DIRECTORY);
int fd = openat(dirfd, "file", O_PATH | O_NOFOLLOW);
char *context;
fgetfilecon(fd, &context);

This change was motivated by a comment in
https://android-review.googlesource.com/#/c/152680/1/toys/posix/ls.c

(cherrypicked from commit 2825f10b7f61558c264231a536cf3affc0d84204)

Change-Id: Ic0cdf9f9dd0e35a63b44a4c4a08400020041eddf
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/___fgetxattr.S
rch-arm/syscalls/___fsetxattr.S
rch-arm/syscalls/fgetxattr.S
rch-arm/syscalls/fsetxattr.S
rch-arm64/syscalls/___fgetxattr.S
rch-arm64/syscalls/___fsetxattr.S
rch-arm64/syscalls/fgetxattr.S
rch-arm64/syscalls/fsetxattr.S
rch-mips/syscalls/___fgetxattr.S
rch-mips/syscalls/___fsetxattr.S
rch-mips/syscalls/fgetxattr.S
rch-mips/syscalls/fsetxattr.S
rch-mips64/syscalls/___fgetxattr.S
rch-mips64/syscalls/___fsetxattr.S
rch-mips64/syscalls/fgetxattr.S
rch-mips64/syscalls/fsetxattr.S
rch-x86/syscalls/___fgetxattr.S
rch-x86/syscalls/___fsetxattr.S
rch-x86/syscalls/fgetxattr.S
rch-x86/syscalls/fsetxattr.S
rch-x86_64/syscalls/___fgetxattr.S
rch-x86_64/syscalls/___fsetxattr.S
rch-x86_64/syscalls/fgetxattr.S
rch-x86_64/syscalls/fsetxattr.S
ionic/fgetxattr.cpp
ionic/fsetxattr.cpp
2825f10b7f61558c264231a536cf3affc0d84204 31-May-2015 Nick Kralevich <nnk@google.com> libc: Add O_PATH support for fgetxattr / fsetxattr

Support O_PATH file descriptors when handling fgetxattr and fsetxattr.
This avoids requiring file read access to pull extended attributes.

This is needed to support O_PATH file descriptors when calling
SELinux's fgetfilecon() call. In particular, this allows the querying
and setting of SELinux file context by using something like the following
code:

int dirfd = open("/path/to/dir", O_DIRECTORY);
int fd = openat(dirfd, "file", O_PATH | O_NOFOLLOW);
char *context;
fgetfilecon(fd, &context);

This change was motivated by a comment in
https://android-review.googlesource.com/#/c/152680/1/toys/posix/ls.c

Change-Id: Ic0cdf9f9dd0e35a63b44a4c4a08400020041eddf
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/___fgetxattr.S
rch-arm/syscalls/___fsetxattr.S
rch-arm/syscalls/fgetxattr.S
rch-arm/syscalls/fsetxattr.S
rch-arm64/syscalls/___fgetxattr.S
rch-arm64/syscalls/___fsetxattr.S
rch-arm64/syscalls/fgetxattr.S
rch-arm64/syscalls/fsetxattr.S
rch-mips/syscalls/___fgetxattr.S
rch-mips/syscalls/___fsetxattr.S
rch-mips/syscalls/fgetxattr.S
rch-mips/syscalls/fsetxattr.S
rch-mips64/syscalls/___fgetxattr.S
rch-mips64/syscalls/___fsetxattr.S
rch-mips64/syscalls/fgetxattr.S
rch-mips64/syscalls/fsetxattr.S
rch-x86/syscalls/___fgetxattr.S
rch-x86/syscalls/___fsetxattr.S
rch-x86/syscalls/fgetxattr.S
rch-x86/syscalls/fsetxattr.S
rch-x86_64/syscalls/___fgetxattr.S
rch-x86_64/syscalls/___fsetxattr.S
rch-x86_64/syscalls/fgetxattr.S
rch-x86_64/syscalls/fsetxattr.S
ionic/fgetxattr.cpp
ionic/fsetxattr.cpp
c5e02eeb353c3cdd357413f563701d5018fc76a5 01-Jun-2015 Dan Albert <danalbert@google.com> Cleanup ftruncate negative test.

Addresses post-submit comments from
I54692ab8105dd09db6af7a2c0894a17bdd118aa0.

Bug: http://b/21309901
Change-Id: Ie19ee8cdcc4055a65fe7dfc103156e54eafe8977
(cherry picked from commit 9d476a02e9a14e847669a6683c585028175aa322)
ionic/ftruncate.cpp
9d476a02e9a14e847669a6683c585028175aa322 01-Jun-2015 Dan Albert <danalbert@google.com> Cleanup ftruncate negative test.

Addresses post-submit comments from
I54692ab8105dd09db6af7a2c0894a17bdd118aa0.

Bug: http://b/21309901
Change-Id: Ie19ee8cdcc4055a65fe7dfc103156e54eafe8977
ionic/ftruncate.cpp
5f3e19dbbeb851fff5cf7f9869d344feca479413 20-May-2015 Dan Albert <danalbert@google.com> Fix error handling for negative size in ftruncate.

Bug: 21309901
Change-Id: I54692ab8105dd09db6af7a2c0894a17bdd118aa0
(cherry picked from commit c05554ec5c9aff5e0f1e83de9bb62c3569eecca2)
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/ftruncate.S
rch-mips/syscalls/ftruncate.S
rch-x86/syscalls/ftruncate.S
ionic/ftruncate.cpp
c05554ec5c9aff5e0f1e83de9bb62c3569eecca2 20-May-2015 Dan Albert <danalbert@google.com> Fix error handling for negative size in ftruncate.

Bug: 21309901
Change-Id: I54692ab8105dd09db6af7a2c0894a17bdd118aa0
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/ftruncate.S
rch-mips/syscalls/ftruncate.S
rch-x86/syscalls/ftruncate.S
ionic/ftruncate.cpp
7490c5c5944391e99bc6c3564bce03d3cd4a39e0 18-May-2015 Yabin Cui <yabinc@google.com> Hide rt_sigqueueinfo.

Bug: 19358804
Change-Id: I38a53ad64c81d0eefdd1d24599e769fd8a477a56
(cherry picked from commit 40a8f214a5264efe5feaaffd55cea67fb87d097b)
YSCALLS.TXT
rch-arm/syscalls/___rt_sigqueueinfo.S
rch-arm/syscalls/__rt_sigqueueinfo.S
rch-arm64/syscalls/___rt_sigqueueinfo.S
rch-arm64/syscalls/__rt_sigqueueinfo.S
rch-mips/syscalls/___rt_sigqueueinfo.S
rch-mips/syscalls/__rt_sigqueueinfo.S
rch-mips64/syscalls/___rt_sigqueueinfo.S
rch-mips64/syscalls/__rt_sigqueueinfo.S
rch-x86/syscalls/___rt_sigqueueinfo.S
rch-x86/syscalls/__rt_sigqueueinfo.S
rch-x86_64/syscalls/___rt_sigqueueinfo.S
rch-x86_64/syscalls/__rt_sigqueueinfo.S
ionic/sigqueue.cpp
40a8f214a5264efe5feaaffd55cea67fb87d097b 18-May-2015 Yabin Cui <yabinc@google.com> Hide rt_sigqueueinfo.

Bug: 19358804
Change-Id: I38a53ad64c81d0eefdd1d24599e769fd8a477a56
YSCALLS.TXT
rch-arm/syscalls/___rt_sigqueueinfo.S
rch-arm/syscalls/__rt_sigqueueinfo.S
rch-arm64/syscalls/___rt_sigqueueinfo.S
rch-arm64/syscalls/__rt_sigqueueinfo.S
rch-mips/syscalls/___rt_sigqueueinfo.S
rch-mips/syscalls/__rt_sigqueueinfo.S
rch-mips64/syscalls/___rt_sigqueueinfo.S
rch-mips64/syscalls/__rt_sigqueueinfo.S
rch-x86/syscalls/___rt_sigqueueinfo.S
rch-x86/syscalls/__rt_sigqueueinfo.S
rch-x86_64/syscalls/___rt_sigqueueinfo.S
rch-x86_64/syscalls/__rt_sigqueueinfo.S
ionic/sigqueue.cpp
8557eeb0add011ff37edc86f50f423ce681eeb2b 16-May-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Apply work around b/19059885 to x86" into mnc-dev
a42b5bcd896daa83b479e7964c0fa8cf1abf5a1d 16-May-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Apply work around b/19059885 to x86"
9185e04f72c16d2a66d92ac89b38ee926d7f706b 16-May-2015 Dmitriy Ivanov <dimitry@google.com> Apply work around b/19059885 to x86

Bug: http://b/19059885
Bug: http://b/21203348
Change-Id: Ic375e9f877d68de8f866d17362879a7dde638465
(cherry picked from commit 69a5fb951d69689dedd83cb033ae3dcd0ef05b65)
ndroid.mk
69a5fb951d69689dedd83cb033ae3dcd0ef05b65 16-May-2015 Dmitriy Ivanov <dimitry@google.com> Apply work around b/19059885 to x86

Bug: http://b/19059885
Bug: http://b/21203348
Change-Id: Ic375e9f877d68de8f866d17362879a7dde638465
ndroid.mk
43850d19f422d4850bebf765607e4f4d4b99df2e 11-May-2015 Chih-Hung Hsieh <chh@google.com> Use unified syntax to compile with both llvm and gcc.

All arch-arm and arch-arm64 .S files were compiled
by gcc with and without this patch. The output object files
were identical. When compiled with llvm and this patch,
the output files were also identical to gcc's output.

BUG: 18061004
Change-Id: I458914d512ddf5496e4eb3d288bf032cd526d32b
(cherry picked from commit 33f33515b503b634d9fbc57dda7123ea9cf23fc6)
ndroid.mk
rch-arm/cortex-a9/bionic/memset.S
rch-arm/generic/bionic/memcmp.S
rch-arm/generic/bionic/memcpy.S
rch-arm/generic/bionic/memset.S
rch-arm/generic/bionic/strcpy.S
rch-arm/krait/bionic/memset.S
rch-arm64/generic/bionic/memchr.S
rch-arm64/generic/bionic/strchr.S
22c21c6b4e789b9013ac472c77f43c91127cf9fa 23-Apr-2015 Chih-Hung Hsieh <chh@google.com> Fix opcode to compile with both gcc and llvm.

BUG: 17302991

Change-Id: I31febd9ad24312388068803ce247b295bd73b607
(cherry picked from commit 0a93df369cf3f44d40ca1f0cb4a58aeab42fb39c)
ndroid.mk
rch-x86_64/string/ssse3-strcmp-slm.S
fa7ba6227f918dadca787a78ed3269bf86fd234d 16-May-2015 Elliott Hughes <enh@google.com> Don't use TEMP_FAILURE_RETRY on close in bionic.

Bug: http://b/20501816
Change-Id: Id64b5109cc2b165fa0351b6edbb865a5e5058008
(cherry picked from commit 4e8ef698d0d76be3f8d75de32701e6e6327c1fbd)
tdio/stdio.c
4e8ef698d0d76be3f8d75de32701e6e6327c1fbd 16-May-2015 Elliott Hughes <enh@google.com> Don't use TEMP_FAILURE_RETRY on close in bionic.

Bug: http://b/20501816
Change-Id: Id64b5109cc2b165fa0351b6edbb865a5e5058008
tdio/stdio.c
2a44cfbd7d64596795836e9ae6f6c642869d6d78 23-Apr-2015 Spencer Low <CompareAndSwap@gmail.com> ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()

According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

https://android.googlesource.com/platform/libcore/+/462bdac45c10f43d88d8f07f6994e272a27c14a2%5E%21/#F12

Kill ScopedFd by simplifying the single caller.

Bug: http://b/20501816
Change-Id: I248c40b8c2fc95f1938a6edfc245c81847fc44af
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
(cherry picked from commit 0346ad7a4fb6e253317577ee8b9cc79d958f4349)
rivate/ScopedFd.h
0346ad7a4fb6e253317577ee8b9cc79d958f4349 23-Apr-2015 Spencer Low <CompareAndSwap@gmail.com> ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()

According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

https://android.googlesource.com/platform/libcore/+/462bdac45c10f43d88d8f07f6994e272a27c14a2%5E%21/#F12

Kill ScopedFd by simplifying the single caller.

Change-Id: I248c40b8c2fc95f1938a6edfc245c81847fc44af
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
rivate/ScopedFd.h
9cde1dc007c0965c7fd2a63d759e80627ee88f0f 12-May-2015 Elliott Hughes <enh@google.com> Update NOTICE files (the second time today).

Change-Id: Ifb031d29ee697ee0682bd651e0081493e8016e67
(cherry picked from commit f58ac87182da214c7cdd697a4fa09aeb7b995305)
OTICE
f58ac87182da214c7cdd697a4fa09aeb7b995305 12-May-2015 Elliott Hughes <enh@google.com> Update NOTICE files (the second time today).

Change-Id: Ifb031d29ee697ee0682bd651e0081493e8016e67
OTICE
dd57029ed1dfc9cd3116d3797c40d92d5310594e 12-May-2015 Elliott Hughes <enh@google.com> Simplify three copyright headers.

There's no reason to have multiple years in our own copyright headers,
and given the stupidity of our NOTICE file generation, it just creates
more junk.

Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92
(cherry picked from commit c69ace87ec110a91005bdf19dbafeb355f399c06)
rch-arm/bionic/__bionic_clone.S
rch-mips/bionic/setjmp.S
7e54c762fc799d81fe0a09bfdfcb7ab623503204 12-May-2015 Elliott Hughes <enh@google.com> Update NOTICE files.

(cherry-pick of f0bd92db8966b04062fda0986dacf80891e1a378.)
Change-Id: I4e170118abf452dd87ffe79d343ba1e2b53955de
OTICE
97139e6adc255460a1b12e3ccc7b425d11e05eb1 12-May-2015 Elliott Hughes <enh@google.com> Merge "Update NOTICE files." into mnc-dev
8a330cad8db512f5119251f55ac7bf606c552ed0 12-May-2015 Elliott Hughes <enh@google.com> Merge "Simplify three copyright headers."
c69ace87ec110a91005bdf19dbafeb355f399c06 12-May-2015 Elliott Hughes <enh@google.com> Simplify three copyright headers.

There's no reason to have multiple years in our own copyright headers,
and given the stupidity of our NOTICE file generation, it just creates
more junk.

Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92
rch-arm/bionic/__bionic_clone.S
rch-mips/bionic/setjmp.S
f0bd92db8966b04062fda0986dacf80891e1a378 12-May-2015 Elliott Hughes <enh@google.com> Update NOTICE files.

Change-Id: I4e170118abf452dd87ffe79d343ba1e2b53955de
OTICE
972d7fe63a2e0636b070bec266479c27e0bb8c5f 12-May-2015 Chih-Hung Hsieh <chh@google.com> Merge "Use unified syntax to compile with both llvm and gcc."
33f33515b503b634d9fbc57dda7123ea9cf23fc6 11-May-2015 Chih-Hung Hsieh <chh@google.com> Use unified syntax to compile with both llvm and gcc.

All arch-arm and arch-arm64 .S files were compiled
by gcc with and without this patch. The output object files
were identical. When compiled with llvm and this patch,
the output files were also identical to gcc's output.

BUG: 18061004
Change-Id: I458914d512ddf5496e4eb3d288bf032cd526d32b
ndroid.mk
rch-arm/cortex-a9/bionic/memset.S
rch-arm/generic/bionic/memcmp.S
rch-arm/generic/bionic/memcpy.S
rch-arm/generic/bionic/memset.S
rch-arm/generic/bionic/strcpy.S
rch-arm/krait/bionic/memset.S
rch-arm64/generic/bionic/memchr.S
rch-arm64/generic/bionic/strchr.S
c9310266dcdd65e4c5a55ab85d2f9e67a52750bf 11-May-2015 Elliott Hughes <enh@google.com> Merge "Fix various bugs in the check-symbols script."
ec738d949453896424bc74574110dcab7ca7a51b 11-May-2015 Elliott Hughes <enh@google.com> Fix various bugs in the check-symbols script.

It had bitrotted away during the last release cycle.

Change-Id: I20f0a3b409af4530b81f26299bef9de01530c9fd
ools/check-symbols.py
4e8cda641a34078d77c0340c35ca7a422801308b 08-May-2015 Andres Morales <anmorales@google.com> remove rootdir build.prop

merge with default.prop

Change-Id: I6cff4527dec2b31bdde42ec26c42ef2782f8deb4
nclude/sys/_system_properties.h
f7009f450e596dc76352da7ceefc8caeeb74ff14 08-May-2015 Dmitriy Ivanov <dimitry@google.com> Switch libc/libcstdc++/libm to hash-style=both

Bug: http://b/19059885
Change-Id: Ie42703d91f291fd689a1cf9c35bcab5c487b9a84
(cherry picked from commit 88e777d6f46709abebab88421e8c4ea7a9e3d9c4)
ndroid.mk
88e777d6f46709abebab88421e8c4ea7a9e3d9c4 08-May-2015 Dmitriy Ivanov <dimitry@google.com> Switch libc/libcstdc++/libm to hash-style=both

Bug: http://b/19059885
Change-Id: Ie42703d91f291fd689a1cf9c35bcab5c487b9a84
ndroid.mk
5040aa4c393b12ea12fde0fc757995559c0c8e5d 08-May-2015 Dan Albert <danalbert@google.com> Merge changes from topic 'blobs' into mnc-dev

* changes:
Revert "Fix volantis boot."
Revert "Fix clang build."
Revert "Try again to fix clang build."
6b27e6e8e095fe288a450dbc9f42ea4ccec39ff0 08-May-2015 Dan Albert <danalbert@google.com> Revert "Fix volantis boot."

Bug: http://b/20065774
This reverts commit 76e1cbca75e9fdaf7a7943f2c58e65433b283f4a.

(cherry picked from commit 7c2c01d681d7f2faa256a263996a35ac3edc94b3)
ndroid.mk
rch-arm64/arm64.mk
rch-arm64/bionic/libgcc_compat.c
ersion_script.txt
20db14018193fb153824d7384c271f42e1e98b3c 08-May-2015 Dan Albert <danalbert@google.com> Revert "Fix clang build."

Bug: http://b/20065774
This reverts commit 0975a5d9d29019e764dc0ab2ddc75759bebffb9b.

(cherry picked from commit 6f0d7005f9bc6d293e5cfcd60c13a6af0ffa99fc)
rch-arm64/bionic/libgcc_compat.c
6accf55bf36ff527059c0c4fc608388a5440f758 08-May-2015 Dan Albert <danalbert@google.com> Revert "Try again to fix clang build."

Bug: http://b/20065774
This reverts commit dffd3c58389103d6ee712fac6544217c00c1f315.

Change-Id: I5dd095ff4ab133baa2afcbd4c79fbee55d05c459
(cherry picked from commit f920f821e27c845d2de54c1c92c3ab74587ed31a)
rch-arm64/bionic/libgcc_compat.c
a924d4ba2673246087b3b16e343e92ad67aefc71 08-May-2015 Dan Albert <danalbert@google.com> Merge changes from topic 'volantis-blobs'

* changes:
Revert "Fix volantis boot."
Revert "Fix clang build."
Revert "Try again to fix clang build."
271f05148258bfb539099d02856d884aade86ae4 08-May-2015 Andres Morales <anmorales@google.com> Merge "remove rootdir build.prop" into mnc-dev
f41ed6e5490864e625c6c3d05d86e3c490602cad 08-May-2015 Dmitriy Ivanov <dimitry@google.com> Add definitions of Elf32_Sxword and ELFXX_R_INFO

Bug: http://b/17056684
Change-Id: If35302245ac3ab40d1c80fb2b04620778c114f87
(cherry picked from commit ce16a53d393512336f30c21a244afd70b7d57cf6)
nclude/elf.h
ce16a53d393512336f30c21a244afd70b7d57cf6 08-May-2015 Dmitriy Ivanov <dimitry@google.com> Add definitions of Elf32_Sxword and ELFXX_R_INFO

Bug: http://b/17056684
Change-Id: If35302245ac3ab40d1c80fb2b04620778c114f87
nclude/elf.h
d3cea8725fbee08b76b2128a264c543bbb86c871 08-May-2015 Andres Morales <anmorales@google.com> remove rootdir build.prop

merge with default.prop

Change-Id: I6cff4527dec2b31bdde42ec26c42ef2782f8deb4
nclude/sys/_system_properties.h
7c2c01d681d7f2faa256a263996a35ac3edc94b3 08-May-2015 Dan Albert <danalbert@google.com> Revert "Fix volantis boot."

Bug: http://b/20065774
This reverts commit 76e1cbca75e9fdaf7a7943f2c58e65433b283f4a.
ndroid.mk
rch-arm64/arm64.mk
rch-arm64/bionic/libgcc_compat.c
ersion_script.txt
6f0d7005f9bc6d293e5cfcd60c13a6af0ffa99fc 08-May-2015 Dan Albert <danalbert@google.com> Revert "Fix clang build."

Bug: http://b/20065774
This reverts commit 0975a5d9d29019e764dc0ab2ddc75759bebffb9b.
rch-arm64/bionic/libgcc_compat.c
f920f821e27c845d2de54c1c92c3ab74587ed31a 08-May-2015 Dan Albert <danalbert@google.com> Revert "Try again to fix clang build."

Bug: http://b/20065774
This reverts commit dffd3c58389103d6ee712fac6544217c00c1f315.

Change-Id: I5dd095ff4ab133baa2afcbd4c79fbee55d05c459
rch-arm64/bionic/libgcc_compat.c
af7e806cec7088d5d8e9898c13aaa1bbdc07a082 07-May-2015 Dmitriy Ivanov <dimitry@google.com> Properly align init/fini_arrays for crtend.o

Also remove them from crtend_so.o

Bug: http://b/20532404
Change-Id: I56a0f80c4b3a83cf11d28bbf17791ff4ce10c5d2
(cherry picked from commit e543c7612e97c4c0f11143b8fcd2fff46364f936)
rch-common/bionic/asm_multiarch.h
rch-common/bionic/crtend.S
rch-common/bionic/crtend_so.S
e543c7612e97c4c0f11143b8fcd2fff46364f936 07-May-2015 Dmitriy Ivanov <dimitry@google.com> Properly align init/fini_arrays for crtend.o

Also remove them from crtend_so.o

Bug: http://b/20532404
Change-Id: I56a0f80c4b3a83cf11d28bbf17791ff4ce10c5d2
rch-common/bionic/asm_multiarch.h
rch-common/bionic/crtend.S
rch-common/bionic/crtend_so.S
456afe24b6460f75b3abc296f8f5885f4d8d907a 05-May-2015 Dmitriy Ivanov <dimitry@google.com> Fix protected symbol lookups for mips

Bug: http://b/20694161
Change-Id: I5cc58034f9776e1db9cddc34abe48ef85f6048f4
(cherry picked from commit dbe26fdcc7de503539837467299b96c4a93084cc)
nclude/elf.h
dbe26fdcc7de503539837467299b96c4a93084cc 05-May-2015 Dmitriy Ivanov <dimitry@google.com> Fix protected symbol lookups for mips

Bug: http://b/20694161
Change-Id: I5cc58034f9776e1db9cddc34abe48ef85f6048f4
nclude/elf.h
f6fdb79b4fe2ff6362e82a0380304ac61654396f 01-May-2015 Neil Fuller <nfuller@google.com> Merge "Update to tzdata 2015d" into mnc-dev
62075bcc91d60f5269ed6f5b5303662b556a86c4 29-Apr-2015 Mark Salyzyn <salyzyn@google.com> bionic: fortify comments in _system_properties.h

(Cherry pick from commit c3f4c964a3326ba81e1d61ebc47980f787dfcf24)

Change-Id: I2ef8fb7ae5ae03d5d2a50b5a417d585710099760
nclude/sys/_system_properties.h
033a68f1acd059dc3c5f656ce16999863d077d8a 30-Apr-2015 Mark Salyzyn <salyzyn@google.com> Merge "bionic: fortify comments in _system_properties.h"
6a4c9d9bf9e3d2679394850ab49a42f368e12c2d 30-Apr-2015 Dan Albert <danalbert@google.com> Merge "Define char16_t and char32_t to make gcc 5.1 happy"
3a7ed8f55c5537c507247ef18cb890baf259e4d6 28-Apr-2015 Neil Fuller <nfuller@google.com> Update to tzdata 2015d

Changes affecting future time stamps

Egypt will not observe DST in 2015 and will consider canceling it
permanently. For now, assume no DST indefinitely.
(Thanks to Ahmed Nazmy and Tim Parenti.)

Changes affecting past time stamps

America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
1966-07-01. Also, Yukon's time zone history is documented better.
(Thanks to Brian Inglis and Dennis Ferguson.)

Change affecting past and future time zone abbreviations

The abbreviations for Hawaii-Aleutian standard and daylight times
have been changed from HAST/HADT to HST/HDT, as per US Government
Printing Office style. This affects only America/Adak since 1983,
as America/Honolulu was already using the new style.

Bug: 20551453
(cherry-picked from commit 520cbf51b11470d1ca70a4dcd90bc12042c25b8a)

Change-Id: I60d3b683aeccbc44bd038ff6aebd75045809b1c5
oneinfo/tzdata
c3f4c964a3326ba81e1d61ebc47980f787dfcf24 29-Apr-2015 Mark Salyzyn <salyzyn@google.com> bionic: fortify comments in _system_properties.h

Change-Id: I2ef8fb7ae5ae03d5d2a50b5a417d585710099760
nclude/sys/_system_properties.h
fa6f6496078426fe332a5ae9bba009c98dfabc94 29-Apr-2015 Neil Fuller <nfuller@google.com> Merge "Update to tzdata 2015d"
11331f60dd735613eee902b43a02b646ae873032 28-Apr-2015 Jeff Brown <jeffbrown@google.com> Add float support to binary event log.

Bug: 20664753
Change-Id: I6e43c07daa727c19d87f5192bb719af63dd93654
ionic/libc_logging.cpp
cb73d0e0daff3804092efd49abf3aab9a65c05ff 29-Apr-2015 Jeff Brown <jeffbrown@google.com> Merge "Add float support to binary event log." into mnc-dev
66fd2a278b48e61abf70bff0786af6f7c1652ac2 28-Apr-2015 Jeff Brown <jeffbrown@google.com> Add float support to binary event log.

Bug: 20664753
Change-Id: I6e43c07daa727c19d87f5192bb719af63dd93654
ionic/libc_logging.cpp
123927dffc28018a1feb1d42c625b601cb948f34 24-Apr-2015 Mark Salyzyn <salyzyn@google.com> bionic: add __system_property_area_serial()

Adds a new _internal_ function. Provide a global serial number to
support more efficient private caching algorithms. This allows
to skip re-running the __system_property_find() call on misses until
there is a global change in the properties. This call is a read
barrier, the property data to be read following this call will be
read sequentially and up to date.

(Cherry pick from bfd65279a5a9018b01f71773270e462f1b9a7768)

Bug: 19544788
Change-Id: I58e6a92baa0f3e8e7b9ec79b10af6d56407dab48
ionic/system_properties.cpp
nclude/sys/_system_properties.h
b904afa16eb02266f4e72c241cc745340698f5fc 29-Apr-2015 Mark Salyzyn <salyzyn@google.com> Merge "bionic: add __system_property_area_serial()"
62d6533c1ac4b32568ffcbebb41d480a730eb8bb 28-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Do not pack relocations for libc.so

Bug: http://b/20645321
Bug: http://b/20655855
(cherry picked from commit 452742d2bf4247106055696c11bc4e59ca630f11)

Change-Id: Ic9125cc1bc4c9ba9eb20d030de72e3ce1fb86fa6
ndroid.mk
452742d2bf4247106055696c11bc4e59ca630f11 28-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Do not pack relocations for libc.so

Bug: http://b/20645321
Bug: http://b/20655855
Change-Id: Ia4470e0a6d388a7f8445c7f7f9a5639689c0fe32
ndroid.mk
e0905c94d37ad8bc0dd259d37866da5d18fb9ccd 28-Apr-2015 Kyle Repinski <repinski23@gmail.com> cortex-a9: Fix reference to __memcpy_base_aligned.

With a different memcpy, __memcpy_base_aligned ceased to exist.
Instead, point to the name defined by whatever includes memcpy_base.S

Change-Id: I242cf49cbada35337ba155d7f170e86a905ff55f
rch-arm/cortex-a9/bionic/memcpy_base.S
520cbf51b11470d1ca70a4dcd90bc12042c25b8a 28-Apr-2015 Neil Fuller <nfuller@google.com> Update to tzdata 2015d

Changes affecting future time stamps

Egypt will not observe DST in 2015 and will consider canceling it
permanently. For now, assume no DST indefinitely.
(Thanks to Ahmed Nazmy and Tim Parenti.)

Changes affecting past time stamps

America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
1966-07-01. Also, Yukon's time zone history is documented better.
(Thanks to Brian Inglis and Dennis Ferguson.)

Change affecting past and future time zone abbreviations

The abbreviations for Hawaii-Aleutian standard and daylight times
have been changed from HAST/HADT to HST/HDT, as per US Government
Printing Office style. This affects only America/Adak since 1983,
as America/Honolulu was already using the new style.

Bug: 20551453
Change-Id: I02364f15ca4ae20ed1a3b327f8517214bee938e5
oneinfo/tzdata
17b602c903c3199fad6353c43b0e6086c54bcce7 24-Apr-2015 Neil Fuller <nfuller@google.com> Update to tzdata 2015c

Changes affecting future time stamps

Egypt's spring-forward transition is at 24:00 on April's last Thursday,
not 00:00 on April's last Friday. 2015's transition will therefore be on
Thursday, April 30 at 24:00, not Friday, April 24 at 00:00. Similar fixes
apply to 2026, 2037, 2043, etc. (Thanks to Steffen Thorsen.)

Changes affecting past time stamps

The following changes affect some pre-1991 Chile-related time stamps
in America/Santiago, Antarctica/Palmer, and Pacific/Easter.

The 1910 transition was January 10, not January 1.

The 1918 transition was September 10, not September 1.

The UTC-4 time observed from 1932 to 1942 is now considered to be
standard time, not year-round DST.

Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31,
then reverted to standard time, then switched its time zone to
UTC-5 on 1947-04-01.

Assume transitions before 1968 were at 00:00, since we have no data
saying otherwise.

The spring 1988 transition was 1988-10-09, not 1988-10-02.
The fall 1990 transition was 1990-03-11, not 1990-03-18.

Assume no UTC offset change for Pacific/Easter on 1890-01-01,
and omit all transitions on Pacific/Easter from 1942 through 1946
since we have no data suggesting that they existed.

One more zone has been turned into a link, as it differed
from an existing zone only for older time stamps. As usual,
this change affects UTC offsets in pre-1970 time stamps only.
The zone's old contents have been moved to the 'backzone' file.
The affected zone is America/Montreal.

Bug: 20287125
(cherry-picked from commit d2177404e28290064e087ecb2655e5fdcb9057e5)

Change-Id: I55224cc63b314a8e4c2f1c83f8bc4921316c8e4d
oneinfo/tzdata
59bce688c7edfa2479f63a76268cc30f98d1044c 27-Apr-2015 Chih-Hung Hsieh <chh@google.com> Merge "Fix opcode to compile with both gcc and llvm."
bfd65279a5a9018b01f71773270e462f1b9a7768 24-Apr-2015 Mark Salyzyn <salyzyn@google.com> bionic: add __system_property_area_serial()

Adds a new _internal_ function. Provide a global serial number to
support more efficient private caching algorithms. This allows
to skip re-running the __system_property_find() call on misses until
there is a global change in the properties. This call is a read
barrier, the property data to be read following this call will be
read sequentially and up to date.

Bug: 19544788
Change-Id: I58e6a92baa0f3e8e7b9ec79b10af6d56407dab48
ionic/system_properties.cpp
nclude/sys/_system_properties.h
682a240c5d6a479ed3b8187ea99044627bf2394c 27-Apr-2015 Neil Fuller <nfuller@google.com> Merge "Update to tzdata 2015c"
1d76f1cc8be1f40141adac6147cd51061f1ee0b4 26-Apr-2015 Nick Kralevich <nnk@google.com> Merge "add a fortified implementation of realpath"
42502d702e1625c9f3337f7a18ea5fc4cfc6090c 25-Apr-2015 Nick Kralevich <nnk@google.com> Merge "add fortified memchr/memrchr implementations"
f327fae69cd13a40f8c0519afa0a9505be830a10 25-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Include pthread_atfork.h to mips64 crtbegin

Bug: http://b/20339788
Change-Id: I2a8c7881f90a05ca768cb9b4c2f8b07c74c64469
rch-mips64/bionic/crtbegin.c
9a2744df301c509ea48361016ab441c792ec6d5a 25-Apr-2015 Elliott Hughes <enh@google.com> Merge "Fix POSIX timer thread naming."
d1aea30b2ade504550f7bb7996c808b9af1c415d 25-Apr-2015 Elliott Hughes <enh@google.com> Fix POSIX timer thread naming.

Spencer Low points out that we never actually set a name because the constant
part of the string was longer than the kernel's maximum, and the kernel
rejects long names rather than truncate.

Shorten the fixed part of the string while still keeping it meaningful. 9999
POSIX timers should be enough for any process...

Bug: https://code.google.com/p/android/issues/detail?id=170089
Change-Id: Ic05f07584c1eac160743519091a540ebbf8d7eb1
ionic/posix_timers.cpp
ea295f68f1fae7c701baaa717f67296659d567ac 21-Nov-2014 Dmitriy Ivanov <dimitry@google.com> Unregister pthread_atfork handlers on dlclose()

Bug: http://b/20339788
Change-Id: I874c87faa377645fa9e0752f4fc166d81fd9ef7e
ndroid.mk
rch-arm64/bionic/crtbegin.c
rch-common/bionic/crtbegin.c
rch-common/bionic/crtbegin_so.c
rch-common/bionic/pthread_atfork.h
rch-mips/bionic/crtbegin.c
ionic/pthread_atfork.cpp
tdlib/atexit.c
tdlib/atexit.h
pstream-openbsd/lib/libc/stdlib/atexit.c
pstream-openbsd/lib/libc/stdlib/atexit.h
6f88821e5dc4894dc2905cbe53ae21c782354f38 24-Apr-2015 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Define char16_t and char32_t to make gcc 5.1 happy

gcc 5.1 doesn't define char16_t and char32_t (unless in C++ mode),
causing compile failures.

Change-Id: I08dcd13cdf8cd59a4a2f191864bedf4c0d1bb313
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
nclude/uchar.h
d2177404e28290064e087ecb2655e5fdcb9057e5 24-Apr-2015 Neil Fuller <nfuller@google.com> Update to tzdata 2015c

Changes affecting future time stamps

Egypt's spring-forward transition is at 24:00 on April's last Thursday,
not 00:00 on April's last Friday. 2015's transition will therefore be on
Thursday, April 30 at 24:00, not Friday, April 24 at 00:00. Similar fixes
apply to 2026, 2037, 2043, etc. (Thanks to Steffen Thorsen.)

Changes affecting past time stamps

The following changes affect some pre-1991 Chile-related time stamps
in America/Santiago, Antarctica/Palmer, and Pacific/Easter.

The 1910 transition was January 10, not January 1.

The 1918 transition was September 10, not September 1.

The UTC-4 time observed from 1932 to 1942 is now considered to be
standard time, not year-round DST.

Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31,
then reverted to standard time, then switched its time zone to
UTC-5 on 1947-04-01.

Assume transitions before 1968 were at 00:00, since we have no data
saying otherwise.

The spring 1988 transition was 1988-10-09, not 1988-10-02.
The fall 1990 transition was 1990-03-11, not 1990-03-18.

Assume no UTC offset change for Pacific/Easter on 1890-01-01,
and omit all transitions on Pacific/Easter from 1942 through 1946
since we have no data suggesting that they existed.

One more zone has been turned into a link, as it differed
from an existing zone only for older time stamps. As usual,
this change affects UTC offsets in pre-1970 time stamps only.
The zone's old contents have been moved to the 'backzone' file.
The affected zone is America/Montreal.

Bug: 20287125
Change-Id: I8512c4e9ab09725395b256aba59ca34a23d1c995
oneinfo/tzdata
6c63ee41ac5a246fb46c51753cd4d50ccae0dd8f 24-Apr-2015 Dimitry Ivanov <dimitry@google.com> Merge "Revert "Unregister pthread_atfork handlers on dlclose()""
094f58fb2a57d1ed5736ae3588bf0355618f915b 24-Apr-2015 Dimitry Ivanov <dimitry@google.com> Revert "Unregister pthread_atfork handlers on dlclose()"

The visibility control in pthread_atfork.h is incorrect.
It breaks 64bit libc.so by hiding pthread_atfork.

This reverts commit 6df122f8528f9b9fcf7dfea14ae98b0ef66274e1.

Change-Id: I21e4b344d500c6f6de0ccb7420b916c4e233dd34
ndroid.mk
rch-arm64/bionic/crtbegin.c
rch-common/bionic/crtbegin.c
rch-common/bionic/crtbegin_so.c
rch-common/bionic/pthread_atfork.h
rch-mips/bionic/crtbegin.c
ionic/pthread_atfork.cpp
tdlib/atexit.c
tdlib/atexit.h
pstream-openbsd/lib/libc/stdlib/atexit.c
pstream-openbsd/lib/libc/stdlib/atexit.h
e3ecedd306ec16ecb31c6b7d6f9fdcb65c03b70f 23-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Remove jemalloc.a from libc_nomalloc.a"
0a93df369cf3f44d40ca1f0cb4a58aeab42fb39c 23-Apr-2015 Chih-Hung Hsieh <chh@google.com> Fix opcode to compile with both gcc and llvm.

BUG: 17302991

Change-Id: I31febd9ad24312388068803ce247b295bd73b607
ndroid.mk
rch-x86_64/string/ssse3-strcmp-slm.S
3da9373fe0ada19d13c6c3f9831dee93ec0ba7a6 23-Apr-2015 Elliott Hughes <enh@google.com> Merge "Simplify close(2) EINTR handling."
7280e507b61851bce9b18259368d65b9e950c330 23-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Remove jemalloc.a from libc_nomalloc.a

Change-Id: I86edc1a6cf3a26c46e6daef2c859459c1b0f29af
ndroid.mk
3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208 23-Apr-2015 Elliott Hughes <enh@google.com> Simplify close(2) EINTR handling.

This doesn't affect code like Chrome that correctly ignores EINTR on
close, makes code that tries TEMP_FAILURE_RETRY work (where before it might
have closed a different fd and appeared to succeed, or had a bogus EBADF),
and makes "goto fail" code work (instead of mistakenly assuming that EINTR
means that the close failed).

Who loses? Anyone actively trying to detect that they caught a signal while
in close(2). I don't think those people exist, and I think they have better
alternatives available.

Bug: https://code.google.com/p/chromium/issues/detail?id=269623
Bug: http://b/20501816
Change-Id: I11e2f66532fe5d1b0082b2433212e24bdda8219b
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/___close.S
rch-arm/syscalls/close.S
rch-arm64/syscalls/___close.S
rch-arm64/syscalls/close.S
rch-mips/syscalls/___close.S
rch-mips/syscalls/close.S
rch-mips64/syscalls/___close.S
rch-mips64/syscalls/close.S
rch-x86/syscalls/___close.S
rch-x86/syscalls/close.S
rch-x86_64/syscalls/___close.S
rch-x86_64/syscalls/close.S
ionic/close.cpp
6df122f8528f9b9fcf7dfea14ae98b0ef66274e1 21-Nov-2014 Dmitriy Ivanov <dimitry@google.com> Unregister pthread_atfork handlers on dlclose()

Change-Id: I326fdf6bb06bed12743f08980b5c69d849c015b8
ndroid.mk
rch-arm64/bionic/crtbegin.c
rch-common/bionic/crtbegin.c
rch-common/bionic/crtbegin_so.c
rch-common/bionic/pthread_atfork.h
rch-mips/bionic/crtbegin.c
ionic/pthread_atfork.cpp
tdlib/atexit.c
tdlib/atexit.h
pstream-openbsd/lib/libc/stdlib/atexit.c
pstream-openbsd/lib/libc/stdlib/atexit.h
7592008030a67ebe0dbda20aa041d5c347170611 22-Apr-2015 Tao Bao <tbao@google.com> Update the search path for libclang.so

Prebuilt shared libraries (libclang.so, libLLVM.so and etc) have been
moved to prebuilts/sdk/tools/linux/lib64. Update the search path in
cpp.py to match the change.

Bug: 20485471
Change-Id: Ib7784db4d5529d16a1e2bfc07cb0237929bc5a64
ernel/tools/cpp.py
a00a9f0b7ed39589a768798de6a584a4baae030b 22-Apr-2015 Chih-Hung Hsieh <chh@google.com> Merge "Allow building libc long double code with clang/llvm."
6fb8e96e5f6ff2dd3b3aa8eda0a6766d6b3a63f2 16-Mar-2015 Chih-Hung Hsieh <chh@google.com> Allow building libc long double code with clang/llvm.

This requires fix of clang's Android x86 long double size and format.
That bug has been fixed in https://android-review.git.corp.google.com/#/c/146254/

Change-Id: I182c6c493085212f88c694356659f72227c8b8c7
ndroid.mk
3244d9f07fda946d62afdfa61ed5a876d380d0ff 18-Apr-2015 Daniel Micay <danielmicay@gmail.com> add a fortified implementation of realpath

Change-Id: Icc59eacd1684f7cddd83d7a2b57dad0c7ada5eb7
nclude/stdlib.h
72a6fdcdc71df623f8876cf0681dc9364e78b35a 18-Apr-2015 Yabin Cui <yabinc@google.com> Fix bug in app_id_from_name in stubs.cpp.

It seems that a break statement is missing.

Bug: 19872411
Change-Id: I9362783ab726d01f6eb27418563e716dd95688dc
ionic/stubs.cpp
4ae773633aac9ceba5ec62bb8e1aa22c3c56ebde 18-Apr-2015 Daniel Micay <danielmicay@gmail.com> add fortified memchr/memrchr implementations

Change-Id: I38c473cc0c608b08f971409a95eb8b853cb2ba1c
ndroid.mk
ionic/__memchr_chk.cpp
ionic/__memrchr_chk.cpp
nclude/string.h
42281880a8ac8614832ff918a14e4b950f35d05d 17-Apr-2015 Daniel Micay <danielmicay@gmail.com> add fortified readlink/readlinkat implementations

Change-Id: Ia4b1824d20cad3a072b9162047492dade8576779
ndroid.mk
ionic/__readlink_chk.cpp
ionic/__readlinkat_chk.cpp
ionic/readlink.cpp
nclude/unistd.h
3875744f89600027c69ea68650fff1eeb4b29723 17-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Support symbol versioning"
2a815361448d01b0f4e575f507ce31913214c536 09-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Support symbol versioning

Bug: http://b/20139821
Change-Id: I64122a0fb0960c20b2ce614161b7ab048456b681
nclude/elf.h
a9325133aad79c079bf34aafa85c0544ef940f8c 17-Apr-2015 Elliott Hughes <enh@google.com> Fix clang build.

Change-Id: I70a9ebe806cb4f7e23a7d8e486157ddd70ae3008
ionic/legacy_32_bit_support.cpp
31128da28f561152f5b663e6b4849691b3951525 17-Apr-2015 Elliott Hughes <enh@google.com> Merge "add fortified implementations of pread/pread64"
14af27a147b5e91eeb8632a3f99d4b6cc2ed26dc 16-Apr-2015 Elliott Hughes <enh@google.com> Merge "Remove PROP_PATH_SYSTEM_DEFAULT."
e7e1c875b0f8eefb1d771f200a58f54e64c39d55 16-Apr-2015 Daniel Micay <danielmicay@gmail.com> add fortified implementations of pread/pread64

Change-Id: Iec39c3917e0bc94371bd81541619392f5abe29b9
ndroid.mk
ionic/__pread64_chk.cpp
ionic/__pread_chk.cpp
nclude/unistd.h
a40cb0ca7fe8ddc146831e92ec543be9feb26a65 16-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Call __cxa_thread_finalize for the main thread."
12d89027457b4d5dce6c3a7fd01a2951f273d9a9 16-Apr-2015 Christopher Ferris <cferris@google.com> Merge "Update the number of jemalloc reserved keys."
2587c6a2f0f946bd7c1e526c20b2623c01accd60 16-Apr-2015 Yabin Cui <yabinc@google.com> Merge "Change on handling of SIGEV_THREAD timers."
95f1ee235ae257802a94d7e94d476ea0aaea5cd8 14-Jan-2015 Yabin Cui <yabinc@google.com> Change on handling of SIGEV_THREAD timers.

1. Don't prevent calling callback when SIGEV_THREAD timers are disarmed by timer_settime.
As in POSIX standard: The effect of disarming or resetting a timer with pending
expiration notifications is unspecified. And glibc didn't prevent in this situation, so I
think it is fine to remove the support.
2. Still prevent calling callback when SIGEV_THREAD timers are deleted by timer_delete.
As in POSIX standard: The disposition of pending signals for the deleted timer is unspecified.
However, glibc handles this (although that is not perfect). And some of our tests in
time_test.cpp depend on this feature as described in b/18039727. so I retain the support.
3. Fix some flaky test in time_test.cpp, and make "time*" test pass on bionic-unit-tests-glibcxx.

Bug: 18263854

Change-Id: I8ced184eacdbfcf433fd81b0c69c38824beb8ebc
ionic/posix_timers.cpp
c0f89283cc746ff7d6f6be405c603435b8b02657 16-Apr-2015 Christopher Ferris <cferris@google.com> Update the number of jemalloc reserved keys.

jemalloc now uses a single key pointing to a structure rather
than multiple keys.

Change-Id: Ib76185a594ab2cd4dc400d9a7a5bc0a57a7ac92d
rivate/bionic_tls.h
43e020ce936aa18e071664de198adfaa71af2d82 16-Apr-2015 Elliott Hughes <enh@google.com> Remove PROP_PATH_SYSTEM_DEFAULT.

Change-Id: Ib01d9c2f9d890eb5e7ba1e15bd11767195e84967
nclude/sys/_system_properties.h
163ab8ba86deb991c73152e6828f270cc71dc4c5 16-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Call __cxa_thread_finalize for the main thread.

Bug: http://b/20231984
Bug: http://b/16696563
Change-Id: I71cfddd0d404d1d4a593ec8d3bca9741de8cb90f
ndroid.mk
tdlib/exit.c
pstream-openbsd/lib/libc/stdlib/exit.c
66aa0b61f736678e97a0cfaf975052881a23651b 15-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Hide emutls* symbols in libc.so

Also make thread_local in test static to avoid ld.bfd
warning for arm64.

Change-Id: I09a3f2aa9b73a4fafa3f3bbc64ddc2a128ad50ee
ndroid.mk
ionic/__cxa_thread_atexit_impl.cpp
940d3122c9c88eb3e46f8862a02a668fa0f4cf2b 15-Apr-2015 Christopher Ferris <cferris@google.com> Fix addition of extra arg to cfi_restore.

Change-Id: I8fdcc1ae3e91b69ccbcec756a89e1ccb4fa1be53
rch-x86/bionic/syscall.S
a529efac4efa4641186fef5003752cc1c43ec763 15-Apr-2015 Christopher Ferris <cferris@google.com> Merge "Add missing cfi directives for x86 assembler."
605ee81b0660760dd191f2e2de4c4c92dca5192f 13-Apr-2015 Christopher Ferris <cferris@google.com> Add missing cfi directives for x86 assembler.

Change-Id: I80d3e33a71bbaeab5f39b667ebe61e865fd54b80
rch-x86/bionic/__bionic_clone.S
rch-x86/bionic/syscall.S
rch-x86/bionic/vfork.S
8f3f04184a5772b421867b59acd3d0dfbc6fa4eb 14-Apr-2015 Yabin Cui <yabinc@google.com> Merge "Prevent using static-allocated pthread keys before creation."
5ddbb3f936ee44555a46020239e49ab45109a806 06-Mar-2015 Yabin Cui <yabinc@google.com> Prevent using static-allocated pthread keys before creation.

Bug: 19993460

Change-Id: I244dea7f5df3c8384f88aa48d635348fafc9cbaf
ionic/pthread_key.cpp
9ce9bf5aec5ed2ec75acdc05f00a49728563a782 10-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Add Elfxx_Ver* types"
c0e7dbb1dbe92c9e72bdbd299fa50786fd751807 09-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Add Elfxx_Ver* types

Bug: http://b/20139821
Change-Id: I7a367b08faa3bf5c005996c066cd35709f533265
nclude/elf.h
0a92ac884891b167d6393592fbf9ecf26218f9aa 09-Apr-2015 Christopher Ferris <cferris@google.com> Merge "Use assembly memmove for all arm32 processors."
9f2c2f53d372001ac6565b060a07d4416ca58e47 09-Apr-2015 Yabin Cui <yabinc@google.com> Merge "Provide writer preference option in rwlock."
aba687a09cc3a5014f692e8f215e136da01dfd5d 08-Apr-2015 Neil Fuller <nfuller@google.com> Upgrade timezone data to 2015b

Changes affecting future time stamps

Mongolia will start observing DST again this year, from the last
Saturday in March at 02:00 to the last Saturday in September at 00:00.
(Thanks to Ganbold Tsagaankhuu.)

Palestine will start DST on March 28, not March 27. Also,
correct the fall 2014 transition from September 26 to October 24.
Adjust future predictions accordingly. (Thanks to Steffen Thorsen.)

Changes affecting past time stamps

The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
regression. (Thanks to Stuart Bishop for reporting the problem.)

Some more zones have been turned into links, when they differed
from existing zones only for older time stamps. As usual,
these changes affect UTC offsets in pre-1970 time stamps only.
Their old contents have been moved to the 'backzone' file.
The affected zones are: America/Antigua, America/Cayman,
Pacific/Midway, and Pacific/Saipan.

Changes affecting time zone abbreviations

Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
(Thanks to Hank W.)

Bug: 19887183
Change-Id: I1b4bdc5ae5cf778908a77893d7f8db8a4117e1e1
oneinfo/tzdata
694282b1726a6c5f64df3695594bf23707cf4771 09-Apr-2015 Neil Fuller <nfuller@google.com> Merge "Update update-tzdata.py tool to generate ICU4J data jars"
4d3abcb033fcf84d1f7d04630273c1a2f7e51a4f 09-Apr-2015 Neil Fuller <nfuller@google.com> Update update-tzdata.py tool to generate ICU4J data jars

The ICU4J changes are not necessary for use on Android (since
we use the ICU4C .dat file), but updating them ensures that
the .jars in sync with everything else and the jars are currently
required for host tests.

Change-Id: Ie56b31af87e8fbd27a6489af8287e4b6a7be6b8f
ools/zoneinfo/update-tzdata.py
41efc92e35d1922e246230bac72da0054b3c6db3 03-Apr-2015 Christopher Ferris <cferris@google.com> Use assembly memmove for all arm32 processors.

Bug: 15110993
Change-Id: Ia3dcd6b8c4032f8c72b6f2e628b635ce99667c09
rch-arm/cortex-a15/cortex-a15.mk
rch-arm/cortex-a9/cortex-a9.mk
rch-arm/krait/krait.mk
76615dae93c18ac890e167c547a08c0228709a33 17-Mar-2015 Yabin Cui <yabinc@google.com> Provide writer preference option in rwlock.

Previous implementation of rwlock contains four atomic variables, which
is hard to maintain and change. So I make following changes in this CL:

1. Add pending flags in rwlock.state, so we don't need to synchronize
between different atomic variables. Using compare_and_swap operations
on rwlock.state is enough for all state change.

2. Add pending_lock to protect readers/writers waiting and wake up
operations. As waiting/wakeup is not performance critical, using a
lock is easier to maintain.

3. Add writer preference option.

4. Add unit tests for rwlock.

Bug: 19109156

Change-Id: Idcaa58d695ea401d64445610b465ac5cff23ec7c
ionic/pthread_rwlock.cpp
nclude/pthread.h
rivate/bionic_lock.h
598493e725e0298ae11ddbdee62c3a7007eb503c 07-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Stop libc from cross-referencing unwind symbols"
957f6188fa7494ea8b7701b14df4c9127d27a9ef 07-Apr-2015 Neil Fuller <nfuller@google.com> Merge "Changes to re-enable overrides for tz data"
cd13b14e98d4921af126667fae0cf6613a5615c5 04-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Stop libc from cross-referencing unwind symbols

This makes unwind symbols 'protected',
which should prevent them from relocating
against libc++.so/libcutls.so.

This is temporary file and it is going
to be removed once libc.so stops exporting
them.

Bug: http://b/19958712
Change-Id: I96a765afe47e68d2e2ceb288870e63a25ca52081
rch-arm/arm.mk
rch-arm/bionic/libgcc_protect_unwind.c
4bd8f9637daaada333ff35945b00cfe6cb822376 04-Apr-2015 Yabin Cui <yabinc@google.com> Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices."
f796985923e2d8308e00ed9567f36546dafb98d7 03-Apr-2015 Yabin Cui <yabinc@google.com> Fix bug for recursive/errorcheck mutex on 32-bit devices.

Bug: 19216648
Change-Id: I3b43b2d18d25b9bde352da1e35f9568133dec7cf
ionic/pthread_mutex.cpp
dffd3c58389103d6ee712fac6544217c00c1f315 03-Apr-2015 Elliott Hughes <enh@google.com> Try again to fix clang build.

I got the condition the wrong way round in the previous change.

Bug: http://b/20065774
Change-Id: I218b224b37f5fb2f7c7ec2f9af27472b340c4b15
rch-arm64/bionic/libgcc_compat.c
0975a5d9d29019e764dc0ab2ddc75759bebffb9b 03-Apr-2015 Elliott Hughes <enh@google.com> Fix clang build.

Apparently clang really doesn't want you to take the address of a builtin.
Since this is only a temporary hack, let's just shrug and accept that
clang-built volantis images won't work until we have new NVIDIA blobs.

Bug: http://b/20065774
Change-Id: I4c8e893b15a1af8f9c54d3f89bfef112b63d09b4
rch-arm64/bionic/libgcc_compat.c
aea165cb03abceb85062e94f22f72e1c9d9800a4 03-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Add ANDROID_DLEXT_FORCE_LOAD flag"
76e1cbca75e9fdaf7a7943f2c58e65433b283f4a 03-Apr-2015 Elliott Hughes <enh@google.com> Fix volantis boot.

NVIDIA binary blobs are assuming that __cache_clear, _Unwind_Backtrace,
and _Unwind_GetIP are all in some library that they link, but now we've
cleaned up this leakage, they're no longer getting it. Deliberately leak
the symbols from libc.so until we get new blobs.

Bug: http://b/20065774
Change-Id: I92ef07b2bce8d1ad719bf40dab41d745cd6904d4
ndroid.mk
rch-arm64/arm64.mk
rch-arm64/bionic/libgcc_compat.c
ersion_script.txt
9b82136b987bc01224e3b42732334ea27c97d188 03-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Add ANDROID_DLEXT_FORCE_LOAD flag

This flag allows to force loading of the library
in the case when for some reason multiple ELF files
share the same filename (because the already-loaded
library has been removed and overwritten, for example).

Change-Id: I798d44409ee13d63eaa75d685e99c4d028d2b0c1
nclude/android/dlext.h
d619d6ffb876de6a8f051c850762a6f7a7e55c76 02-Apr-2015 Elliott Hughes <enh@google.com> Merge "Remove _memset16 and _memset32 from mips/mips64 bionic."
00d1101cc170ce786f26143a897b4a3e3363b55f 02-Apr-2015 Yabin Cui <yabinc@google.com> Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."
b0cf9288cd4c09fcad8dc8e04b18cc4d8d13bd71 02-Apr-2015 Elliott Hughes <enh@google.com> Remove _memset16 and _memset32 from mips/mips64 bionic.

These should be in libcutils instead.

Change-Id: Ibbc94755e6da61bf9ce2c8f9a047a082bb9bce24
rch-mips/string/memset.S
rch-mips64/string/memset.S
e69c24543db577d8b219ab74b0ba7566e0f13b38 14-Feb-2015 Yabin Cui <yabinc@google.com> Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.

Bug: 19216648
Change-Id: I765ecacc9036659c766f5d1f6600e1a65364199b
ionic/pthread_mutex.cpp
d6bf3d5e19f192dc1949b573d931d487c42730fa 02-Apr-2015 Dan Albert <danalbert@google.com> Don't export new/delete from libc shared libraries.

This used to be handled by -fvisibility=hidden on libc_cxa, but that
was broken by the resolution of https://llvm.org/PR22419 (introduced
to Android in today's clang update).

Now we just use a version script that prevents these from being
re-exported from our shared libraries.

Change-Id: Ib290e1d0d7426e09ad17a91178162fff6dbdcfa9
ndroid.mk
ersion_script.txt
8f41142cd631bdd8bf02dcfbb599e5edbfcbd67e 01-Apr-2015 Mark Salyzyn <salyzyn@google.com> Merge "stubs missing include for string.h"
72035734af2d8558a3ccd7e29626216e20aed6f2 01-Apr-2015 Elliott Hughes <enh@google.com> Merge "Make ThreadLocalBuffer a class rather than a macro."
56b276817690f09305b9657a10f4ae4e1d79a0da 01-Apr-2015 Mark Salyzyn <salyzyn@google.com> stubs missing include for string.h

stubs.cpp gets string.h inherited from private/android_filesystem_config.h
it should not rely on this in the future. The intent is to move fs_config
function into libcutils and thus deprecate any need for string.h in this
include file.

Change-Id: I946ec1979ef5bbb34fbcb4a99bf2cd79280bb2a3
ionic/stubs.cpp
e01d32f8022966df2c1e697b679f9efe148c12c8 31-Mar-2015 Christopher Ferris <cferris@google.com> Upgrade kernel headers to 3.18.10.

Change-Id: Iff1f1c830780585990856a5114b559c61282dcd6
ernel/uapi/linux/can/netlink.h
ernel/uapi/linux/in6.h
ernel/uapi/linux/libc-compat.h
ernel/uapi/linux/target_core_user.h
ernel/uapi/linux/version.h
6170693e28dd72a1517c267f3f62b3f37477b8bb 31-Mar-2015 Elliott Hughes <enh@google.com> Make ThreadLocalBuffer a class rather than a macro.

Bug: 19995392
Change-Id: I497c512648fbe66257da3fb3bcd5c9911f983705
ionic/libgen.cpp
ionic/mntent.cpp
ionic/pty.cpp
ionic/strerror.cpp
ionic/strsignal.cpp
ionic/stubs.cpp
ns/resolv/res_state.c
rivate/ThreadLocalBuffer.h
rivate/bionic_tls.h
ef115003012f61cf5539fdfeb201b98e4a92f610 31-Mar-2015 Yabin Cui <yabinc@google.com> Revert "Revert "add guard pages to the internal signal stacks""

This reverts commit a3125fd1396a09a7fc4872dc4653f342150a3deb.
And Fix the prctl() problem that cause system crash.

Change-Id: Icc8d12d848cfba881a7984ca2827fd81be41f9fd
ionic/pthread_create.cpp
ionic/pthread_exit.cpp
ionic/pthread_internal.h
a3125fd1396a09a7fc4872dc4653f342150a3deb 31-Mar-2015 Elliott Hughes <enh@google.com> Revert "add guard pages to the internal signal stacks"

This reverts commit 595752f623ae88f7e4193a6e531a0805f1c6c4dc.

Change-Id: Iefa66e9049ca0424e53cd5fc320d161b93556dcb
ionic/pthread_create.cpp
ionic/pthread_exit.cpp
ionic/pthread_internal.h
595752f623ae88f7e4193a6e531a0805f1c6c4dc 29-Mar-2015 Daniel Micay <danielmicay@gmail.com> add guard pages to the internal signal stacks

Signal handlers tend to be lean, but can still overflow the (tiny)
stack.

Change-Id: Ia21c6453d92a9f8d1536ad01ff26a1a84c05f8fb
ionic/pthread_create.cpp
ionic/pthread_exit.cpp
ionic/pthread_internal.h
402d19945092eee87cfb6c029c98ccb4fb40d2c6 27-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Fix libstdc++.so hash-style.

Bug: 19059885
Bug: 19958712
Change-Id: I167457a54cc688d64912a50f5fb75e4e2f3e3937
ndroid.mk
8f3eb5a4e5dbbac1fb431e40e25eec07ecc24ee8 26-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Revert "Cause Fatal error when invalid pthread_id is detected.""
220b99bdc1c5f51825ac2a87062bc05fe3e0d722 26-Mar-2015 Yabin Cui <yabinc@google.com> Revert "Cause Fatal error when invalid pthread_id is detected."

Some code like in https://buganizer.corp.google.com/u/0/issues/19942911 need to change first.

This reverts commit 03324780aae9ff28c8acf52debf0ea39120e5ab8.

Change-Id: I13ff1e5b3d0672bae9cde234ffba32fbbf33d338
ionic/pthread_internal.cpp
f2d153f836e529892854b91452fabd2c2fa79c05 26-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Initial implementation of __cxa_thread_atexit_impl"
377243b78c43ffc98a6c9f145a6cd27ab99c08f0 26-Mar-2015 Yabin Cui <yabinc@google.com> Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.

These macros are also not used in glibc. And we should use
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP instead.

Change-Id: I35195e2f499712dcde9305bbb93622d0f7ca874b
nclude/pthread.h
df79c330d895af31f39ee301dee62731fa586168 26-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Initial implementation of __cxa_thread_atexit_impl

This is initial implementations; does not yet handle
dlclose - undefined behavior, needs linker support to
handle it right.

Bug: 19800080
Bug: 16696563
Change-Id: I7a3e21ed7f7ec01e62ea1b7cb2ab253590ea0686
ndroid.mk
ionic/__cxa_thread_atexit_impl.cpp
ionic/pthread_exit.cpp
17393b06bab9cb3e95d0f466a56c746de19b8eee 21-Mar-2015 Yabin Cui <yabinc@google.com> Hide internal of pthread_mutex_t.

Bug: 19249079
Change-Id: Iffb79c8d861b698d474f212dc80c638fc2cf1620
ionic/pthread_mutex.cpp
nclude/pthread.h
tdio/fileext.h
fa3dcecc0fd7bbbf04234e41be690a5d33277870 26-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Fix in error handling in pthread_create.cpp."
799cb35f45a161de96b272de38724f77e988f5f3 26-Mar-2015 Yabin Cui <yabinc@google.com> Fix in error handling in pthread_create.cpp.

It is due to a previous change "Let g_thread_list_lock only protect g_thread_list".
We need to add the newly created thread to thread_list even if
__init_thread fails, so the thread can exit successfully.

Change-Id: I0332df11acfdd181350bcc092b12d90d679057a4
ionic/pthread_create.cpp
03324780aae9ff28c8acf52debf0ea39120e5ab8 25-Mar-2015 Yabin Cui <yabinc@google.com> Cause Fatal error when invalid pthread_id is detected.

This is a patch testing whether we can use abort() instead of
returning ESRCH for invalid pthread ids. It is an intermediate
step to remove g_thread_list/g_thread_list_lock.

Bug: 19636317
Change-Id: Idd8e4a346c7ce91e1be0c2ebcb78ce51c0d0a31d
ionic/pthread_internal.cpp
0c3b632bd6570064bab1055d2b8a51cfb85e60bb 25-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Add O_APPEND flag for __libc_write_stderr."
28e69f75088684b41d30b051799d7687d33f2205 25-Mar-2015 Yabin Cui <yabinc@google.com> Add O_APPEND flag for __libc_write_stderr.

For DeathTests, we are testing the output of stderr to check if it is the
death we are expecting. To collect the output, Gtest redirects stderr to
a temporary file. But in __libc_write_stderr in libc_logging.cpp, we are
writing to stderr without a O_APPEND flag, so a new message will overwrite
a previous message.
The above situation makes almost all the DeathTests fail on host. Because
the expected message are always overwritten in host DeathTests. So I add
O_APPEND flag in __libc_write_stderr, which makes all host DeathTests pass.

Change-Id: Ic2f6044fdb181eebe132a6f170b57db43c5c3289
ionic/libc_logging.cpp
24958514b92c9b9e111223e4e4c56ef1a52b6403 25-Mar-2015 Christopher Ferris <cferris@google.com> Use ALIAS_SYMBOL for assembler aliasing.

Change-Id: I8d04d2da0a1ac440cc9044fc819c9a8eda5ff17d
rch-arm/bionic/setjmp.S
rch-arm64/bionic/setjmp.S
rch-mips/bionic/setjmp.S
rch-x86/bionic/setjmp.S
rch-x86_64/bionic/setjmp.S
1f95ffecc22995abe6ac8cdd6dbb74f6f9a42b2f 02-Mar-2015 Neil Fuller <nfuller@google.com> Changes to re-enable overrides for tz data

Bug: 10637303
Change-Id: I5d525b66cf30d34b421803b876445596bed8d64d
zcode/localtime.c
fa5faa0ce6deba5ad9c96fe5cf74e63e4a6edfb3 25-Mar-2015 Christopher Ferris <cferris@google.com> Make gensyscalls.py use the ALIAS_SYMBOL macro.

Change-Id: Ib94c0abb6fc85126ecc5ed3f1962b2b8b90b9952
rch-arm/syscalls/_exit.S
rch-arm/syscalls/fstat64.S
rch-arm/syscalls/fstatat64.S
rch-arm64/syscalls/_exit.S
rch-arm64/syscalls/fallocate.S
rch-arm64/syscalls/fstat64.S
rch-arm64/syscalls/fstatat64.S
rch-arm64/syscalls/ftruncate.S
rch-arm64/syscalls/getrlimit.S
rch-arm64/syscalls/lseek.S
rch-arm64/syscalls/mmap.S
rch-arm64/syscalls/pread64.S
rch-arm64/syscalls/prlimit64.S
rch-arm64/syscalls/pwrite64.S
rch-arm64/syscalls/sendfile.S
rch-arm64/syscalls/setrlimit.S
rch-arm64/syscalls/truncate.S
rch-mips/syscalls/_exit.S
rch-mips/syscalls/fstat64.S
rch-mips/syscalls/fstatat64.S
rch-mips64/syscalls/_exit.S
rch-mips64/syscalls/fallocate.S
rch-mips64/syscalls/ftruncate.S
rch-mips64/syscalls/getrlimit.S
rch-mips64/syscalls/lseek.S
rch-mips64/syscalls/mmap.S
rch-mips64/syscalls/pread64.S
rch-mips64/syscalls/prlimit64.S
rch-mips64/syscalls/pwrite64.S
rch-mips64/syscalls/sendfile.S
rch-mips64/syscalls/setrlimit.S
rch-mips64/syscalls/truncate.S
rch-x86/syscalls/_exit.S
rch-x86/syscalls/fstat64.S
rch-x86/syscalls/fstatat64.S
rch-x86_64/syscalls/_exit.S
rch-x86_64/syscalls/fallocate.S
rch-x86_64/syscalls/fstat64.S
rch-x86_64/syscalls/fstatat64.S
rch-x86_64/syscalls/ftruncate.S
rch-x86_64/syscalls/getrlimit.S
rch-x86_64/syscalls/lseek.S
rch-x86_64/syscalls/mmap.S
rch-x86_64/syscalls/pread64.S
rch-x86_64/syscalls/prlimit64.S
rch-x86_64/syscalls/pwrite64.S
rch-x86_64/syscalls/sendfile.S
rch-x86_64/syscalls/setrlimit.S
rch-x86_64/syscalls/truncate.S
ools/gensyscalls.py
93d44ff2a6e0febe18d42d5690e85023545318b4 24-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Let g_thread_list_lock only protect g_thread_list."
673b15e4ee2c6d99b150aedddc0f389e29f98e1b 19-Mar-2015 Yabin Cui <yabinc@google.com> Let g_thread_list_lock only protect g_thread_list.

As glibc/netbsd don't protect access to thread struct members by a global
lock, we don't want to do it either. This change reduces the
responsibility of g_thread_list_lock to only protect g_thread_list.

Bug: 19636317
Change-Id: I897890710653dac165d8fa4452c7ecf74abdbf2b
ndroid.mk
ionic/libc_init_common.cpp
ionic/pthread_accessor.h
ionic/pthread_create.cpp
ionic/pthread_detach.cpp
ionic/pthread_exit.cpp
ionic/pthread_getcpuclockid.cpp
ionic/pthread_getschedparam.cpp
ionic/pthread_internal.cpp
ionic/pthread_internal.h
ionic/pthread_internals.cpp
ionic/pthread_join.cpp
ionic/pthread_kill.cpp
ionic/pthread_setname_np.cpp
ionic/pthread_setschedparam.cpp
32b039e46eee4d40b9979eab873a957e86fbf969 24-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Merge "RTLD_LAZY is not supported, use RTLD_NOW instead."
f8246ac65f1985e23023df12112a6ce47057a4dd 24-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Add test for pthread types alignment check."
84c10c2e7928cf2128f2495b9d5ed916088b2f2b 23-Mar-2015 Dmitriy Ivanov <dimitry@google.com> RTLD_LAZY is not supported, use RTLD_NOW instead.

Change-Id: Ia08ed6416aef686435224b50b3e58955d09f04e2
ionic/NetdClient.cpp
ionic/malloc_debug_common.cpp
b58457221364eaad039c2c49a42626b725e980d5 17-Mar-2015 Yabin Cui <yabinc@google.com> Add test for pthread types alignment check.

Bug: 19249079
Change-Id: I83c4f0d11ec5d82a346ae0057d02a92bb1d519e8
ionic/pthread_cond.cpp
ionic/pthread_rwlock.cpp
nclude/pthread.h
a2db50d5d7fa67b297eddd1c0549f08ea4b6a950 20-Mar-2015 Yabin Cui <yabinc@google.com> Fix alignment error for pthread_internal_t/pthread stack.

aligned attribute can only control compiler's behavior, but we
are manually allocating pthread_internal_t. So we need to make
sure of alignment manually.

Change-Id: Iea4c46eadf10dfd15dc955c5f41cf6063cfd8536
ionic/pthread_create.cpp
ionic/pthread_internal.h
bbb0432a33787f1a627abb396fe343a7943ac7bc 19-Mar-2015 Yabin Cui <yabinc@google.com> Return EINVAL when calling pthread_detach for joined thread.

Change-Id: I717015132187e087e0ad485284a13c8801e25e77
ionic/pthread_detach.cpp
aec2bb5ec67637ec4b5374287e9bc0d572632054 20-Mar-2015 Yabin Cui <yabinc@google.com> Fix two errors in pthread_detach.cpp.

The errors are introduced in "Make pthread join_state not protected by g_thread_list_lock".

Bug: 19636317
Change-Id: I58ae9711da94bfbac809abfd81311eeb70301a4b
ionic/pthread_detach.cpp
ionic/pthread_internal.h
6943f2968cb6054f8874e30b309985b41a37e2e0 19-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Make __get_thread inlined."
2f836d4989845c0c82a1e4f99206fb0ff0d137a2 18-Mar-2015 Yabin Cui <yabinc@google.com> Make __get_thread inlined.

Bug: 19825434

Change-Id: Ifb672a45a5776b83625a25654ed0d6f7fc368ae3
ionic/ndk_cruft.cpp
ionic/pthread_internal.h
ionic/pthread_internals.cpp
fa495d51b02e1575088ed358614d3baa442f455f 18-Mar-2015 Elliott Hughes <enh@google.com> Hide statfs/fstatfs' ST_VALID flag from userspace.

Spotted while debugging the strace 4.10 upgrade.

Change-Id: I1af1be9c9440151f55f74a835e1df71529b0e4fe
YSCALLS.TXT
rch-arm64/syscalls/__fstatfs.S
rch-arm64/syscalls/__statfs.S
rch-arm64/syscalls/fstatfs64.S
rch-arm64/syscalls/statfs64.S
rch-mips64/syscalls/__fstatfs.S
rch-mips64/syscalls/__statfs.S
rch-mips64/syscalls/fstatfs64.S
rch-mips64/syscalls/statfs64.S
rch-x86_64/syscalls/__fstatfs.S
rch-x86_64/syscalls/__statfs.S
rch-x86_64/syscalls/fstatfs64.S
rch-x86_64/syscalls/statfs64.S
ionic/legacy_32_bit_support.cpp
ionic/statvfs.cpp
ab12dc70f3ef551c490dcfede76033e57ceee64d 18-Mar-2015 Elliott Hughes <enh@google.com> Merge "Fix _PATH_DEFPATH to correspond to the actual default path."
110196244732911d4971ef7f9e30cc2407d8034b 18-Mar-2015 Elliott Hughes <enh@google.com> Fix _PATH_DEFPATH to correspond to the actual default path.

This is currently set in init.rc, but I plan on making init
set PATH to _PATH_DEFPATH and removing the line from init.rc...

Bug: 19564110
Change-Id: Ifa7226a3a5a90d141a788d7d6b1ae86245674218
nclude/paths.h
ee7649c5ac5f1e56cc8193cd4cee73004c04893d 16-Mar-2015 Daniel Micay <danielmicay@gmail.com> set errno to ENOENT in getauxval per glibc 2.19

Bionic's getauxval(...) implementation returns zero when entries are
missing. Zero can be a valid value, so there is no unambiguous way of
detecting an error. Since glibc 2.19, errno is set to ENOENT when an
entry is missing to make it possible to detect this. Bionic should match
this behavior as code in the Linux ecosystem will start relying on it to
check for the presence of newly added entries.

Change-Id: Ic1efe29bc45fc87489274c96c4d2193f3a7b8854
Signed-off-by: Daniel Micay <danielmicay@gmail.com>
ionic/getauxval.cpp
ecbfb25c504b7360d250c849ab47890ad54b6125 17-Mar-2015 Yabin Cui <yabinc@google.com> Fix build: pthread_mutex/pthread_detach.

Change-Id: I9c7b6297d3bf3ab8004d05d44cc4c95159315c9e
ionic/pthread_detach.cpp
ionic/pthread_mutex.cpp
94babaee1b6598b15bd807461055d4dcaaa52f10 17-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Make pthread join_state not protected by g_thread_list_lock."
5490bebd7cdd4406780358f590391b75ab8a7d84 17-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Remove duplication in pthread_mutex.cpp."
b5cd3c7a7503d8155ea17424c00f7e77603252c0 17-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Fix build: align pthread_cond_t to sizeof(long)

Change-Id: Ieaee6d09089b161ec516ba22cafaee1ecb4342da
nclude/pthread.h
eb8b122d67db501729ecde4fcb960336c87af4ce 17-Mar-2015 Christopher Ferris <cferris@google.com> Add alignment to opaque types.

If there is no alignment forced, then the compiler might put these
structures at any alignment.

Change-Id: I6416db72433504e0ec1178bfae6f5b18b6e363fb
nclude/pthread.h
9e6c7bc61838476d749d9bc4801777d35fd46a63 16-Mar-2015 Yabin Cui <yabinc@google.com> Fix atomic_load on const variable in pthread_cond_t.

Change-Id: I60f55a53294a09332a3fbec669ed793359d1bdf5
ionic/pthread_cond.cpp
d3e2a207ffcaefedf2d3baaaad3d62be1abdb33c 16-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Hide content of pthread_cond_t in pthread_cond_internal_t."
32651b8e8e453391c7aaca47cd885e94d54d0bf4 14-Mar-2015 Yabin Cui <yabinc@google.com> Hide content of pthread_cond_t in pthread_cond_internal_t.

Bug: 19249079
Change-Id: I6f55af30bcd6211ce71630c6cacbef0e1663dcee
ionic/pthread_cond.cpp
nclude/pthread.h
83c0028e030bad1f7cf54ba3f04962b9a6a9e1e4 14-Mar-2015 Christopher Ferris <cferris@google.com> Merge "For libm, use a macro for aliasing symbols."
995b813e91a5eb67a970b9f076911873bdf5dbc4 14-Mar-2015 Christopher Ferris <cferris@google.com> For libm, use a macro for aliasing symbols.

Change-Id: Ibd42ebc387c2bf3eba9aa96091770915b4b34184
rivate/bionic_asm.h
2fabea47ac9475bcc52aff0715819d18aa5bdf1d 13-Mar-2015 Yabin Cui <yabinc@google.com> Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.

Bug: 19249079
Change-Id: Ifbe634c716b6793bef897ec5134b55eb44c6b8d5
ionic/pthread_rwlock.cpp
nclude/pthread.h
81c31bdd43e50538fa45f5e7783782a5ae5666e9 13-Mar-2015 Christopher Ferris <cferris@google.com> Merge "Add some GNU specific elf constants."
d7e091efc477c17da97415fa944675c6f16dcdb5 13-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Switch libc and libm to sysv-only hash style"
2e16d2cf1e477af1db92efde389a5ce0a8e6fbb3 13-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Switch libc and libm to sysv-only hash style

Bug: 19059885
Change-Id: I60a23dc5f9c756994d566818332ca42b305b4a05
ndroid.mk
c94c7ff2bb7cdc8638d2155b8eefd8e2538eea50 13-Mar-2015 Christopher Ferris <cferris@google.com> Add some GNU specific elf constants.

Change-Id: I6c668463a27a641c9a280ce1937857d622344ff8
nclude/elf.h
5b8e7cd957f9380e93c3aee84962d157fe0bc526 05-Mar-2015 Yabin Cui <yabinc@google.com> Remove duplication in pthread_mutex.cpp.

Also add unit tests about thread woken up by pthread_mutex_unlock.

Bug: 19216648

Change-Id: I8bde8105b00186c52a2f41d92458ae4a5eb90426
ionic/pthread_mutex.cpp
58cf31b50699ed9f523de38c8e943f3bbd1ced9e 07-Mar-2015 Yabin Cui <yabinc@google.com> Make pthread join_state not protected by g_thread_list_lock.

1. Move the representation of thread join_state from pthread.attr.flag
to pthread.join_state. This clarifies thread state change.
2. Use atomic operations for pthread.join_state. So we don't need to
protect it by g_thread_list_lock. g_thread_list_lock will be reduced
to only protect g_thread_list or even removed in further changes.

Bug: 19636317
Change-Id: I31fb143a7c69508c7287307dd3b0776993ec0f43
ionic/pthread_attr.cpp
ionic/pthread_create.cpp
ionic/pthread_detach.cpp
ionic/pthread_exit.cpp
ionic/pthread_internal.h
ionic/pthread_join.cpp
c4a586da49e438961e09a1319df86c9a26f4eb92 12-Mar-2015 Mark Salyzyn <salyzyn@google.com> syslog.h: missing LOG_MAKEPRI definition

Bug: 19681572
Change-Id: Ice5f5cb1f71522ffc47b2243a8dc4c277c2a288f
nclude/syslog.h
be86f87711ee71ff971da2e2ae7a092081177951 11-Mar-2015 Elliott Hughes <enh@google.com> Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>."
ba87fe5145b27bee0dc2a0ce146928a1998c8061 11-Mar-2015 Elliott Hughes <enh@google.com> Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.

Change-Id: I2b81cfc3147d9a0a6ac2a8f064e6d9864fa7e04d
nclude/sys/mount.h
e842dc0de5ce5f9950e323ae8805909f60867bf6 10-Mar-2015 Dimitry Ivanov <dimitry@google.com> am c16c8368: Merge "Generate gnu hash for arm only"

* commit 'c16c8368773452e2d18d761a7b3ea6f249dc2ac5':
Generate gnu hash for arm only
1156508265422f407c7072788ce6c32c35411941 10-Mar-2015 Goran Jakovljevic <goran.jakovljevic@imgtec.com> Generate gnu hash for arm only

Fixes build failure caused by:
https://android-review.googlesource.com/#/c/139660

As previously discussed [1], MIPS does not support GNU-style ELF hashes.

[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk

Change-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62
ndroid.mk
dca2fadd8252a5c0664d2811187bc39bd7916aa4 10-Mar-2015 Dmitriy Ivanov <dimitry@google.com> am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"

* commit 'a94cf791c1c9b93d49f5573716de93348757ae15':
Generate sysv hash for libc, libstdc++ and libm
4a55c46d308deae70d7d8669c50514d521813dc2 10-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Generate sysv hash for libc, libstdc++ and libm

Bug: 19059885
Change-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667
ndroid.mk
2bf9f30a3ae9892660b7f7f64fd4d60bae712ed6 07-Mar-2015 Dmitriy Ivanov <dimitry@google.com> am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d

* commit '536ec7359eb951655e389443aa918a4bb16b2d8b':
Add support for packed relocations.
Refactoring: introduce reloc_iterators
Generalize compression tool
Import relocation packer from chromium repo
2bb873aee94db4f317a62480b07f6d4d1d33da6d 07-Mar-2015 Yabin Cui <yabinc@google.com> am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."

* commit 'e86a86f9f24df7028d2596c69ff008cf88e039e4':
Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
536ec7359eb951655e389443aa918a4bb16b2d8b 07-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d

* changes:
Add support for packed relocations.
Refactoring: introduce reloc_iterators
Generalize compression tool
Import relocation packer from chromium repo
18a6956b76a071097fc658c5fe13ef010e31864a 05-Feb-2015 Dmitriy Ivanov <dimitry@google.com> Add support for packed relocations.

Change-Id: I796a4ce86d3fccb8361c19889419c96147ee3c9f
nclude/elf.h
9d0c79304d2413028aa5c213f7a567f00feccde5 06-Mar-2015 Yabin Cui <yabinc@google.com> Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.

Make this change because I think it is more reasonable to check stack info
in pthread_getattr_np. I believe pthread_attr_t is not tied with any thread,
and can't have a flag saying who using it is the main thread.
This change also helps refactor of g_thread_list_lock.

Bug: 19636317
Change-Id: Iedbb85a391ac3e1849dd036d01445dac4bc63db9
ionic/libc_init_common.cpp
ionic/pthread_attr.cpp
ionic/pthread_internal.h
af1ad4220885bc37a347086cac15863fe9bbe16e 06-Mar-2015 Yabin Cui <yabinc@google.com> am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."

* commit 'fe4f2a6734ed3ace50606900143e84993f450caf':
Use pthread_once for g_uselocale_key creation.
f7e3b3e48ab3ffbf7bbce5102ce1739c200093cb 06-Mar-2015 Yabin Cui <yabinc@google.com> Use pthread_once for g_uselocale_key creation.

Bug: 19625804
Change-Id: I57ec4c965067dc0c157c795c1f7217a3ca403286
ionic/locale.cpp
rivate/bionic_tls.h
9ecb7f40d01d7ee258d11277944cc2415635ea17 05-Mar-2015 Yabin Cui <yabinc@google.com> am c3307dc4: Merge "Better control of pthread keys used in bionic."

* commit 'c3307dc43b2526c4031837738b139d22831c5d09':
Better control of pthread keys used in bionic.
c3307dc43b2526c4031837738b139d22831c5d09 05-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Better control of pthread keys used in bionic."
80aa71aa71033fa8c03f8b7a9032643294f60006 05-Mar-2015 Yabin Cui <yabinc@google.com> am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."

* commit 'e1c0213be3f0c2c4e310cbc262da88835a2e5d86':
Switch pthread_rwlock_t to stdatomic.
e1c0213be3f0c2c4e310cbc262da88835a2e5d86 05-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Switch pthread_rwlock_t to stdatomic."
08ee8d2030fbc73c4c144e819dd68806b0351cbe 12-Feb-2015 Yabin Cui <yabinc@google.com> Switch pthread_rwlock_t to stdatomic.

Bug: 19099838
Change-Id: Ie82967a60b5cec61a8bdd1e0e4a03738d01944f8
ionic/pthread_rwlock.cpp
nclude/pthread.h
4a2891d8c8f09a64ea9e1479518b0cc969bd5969 05-Mar-2015 Yabin Cui <yabinc@google.com> Better control of pthread keys used in bionic.

Change-Id: I1e1bc77c0e7879baead6c3417282ce549a1153b5
ionic/locale.cpp
ns/resolv/res_state.c
rivate/ThreadLocalBuffer.h
rivate/bionic_tls.h
c210e84f28633d15f84a66a0652a4485c5fbc24d 04-Mar-2015 Yabin Cui <yabinc@google.com> am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."

* commit 'e1edd301d2a722e0a0687a7a3a87081c8cb956d3':
Refactor pthread_key.cpp to be lock-free.
e1edd301d2a722e0a0687a7a3a87081c8cb956d3 04-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Refactor pthread_key.cpp to be lock-free."
5e2bd719d7dd19afe55f8d4f24366c0230e0e6c7 21-Feb-2015 Yabin Cui <yabinc@google.com> Refactor pthread_key.cpp to be lock-free.

Change-Id: I20dfb9d3cdc40eed10ea12ac34f03caaa94f7a49
ionic/pthread_create.cpp
ionic/pthread_internal.h
ionic/pthread_key.cpp
rivate/bionic_tls.h
62b6d11b2de06db8ed26dc4b2b175443110748fe 03-Mar-2015 Yabin Cui <yabinc@google.com> am d5c2745c: Merge "Lose bionic_atomic stuff."

* commit 'd5c2745ca8664b987d737e4a32922b6c9fe7c628':
Lose bionic_atomic stuff.
d5c2745ca8664b987d737e4a32922b6c9fe7c628 03-Mar-2015 Yabin Cui <yabinc@google.com> Merge "Lose bionic_atomic stuff."
1f3ac62b447f67fc60620bd3254761b1d73297ba 02-Mar-2015 Mark Salyzyn <salyzyn@google.com> am ceb9c182: Merge "bionic: deprecate _PATH_MEM"

* commit 'ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c':
bionic: deprecate _PATH_MEM
c09268a3fef0b9574b2b6227c9fac3096ad6654e 02-Mar-2015 Mark Salyzyn <salyzyn@google.com> bionic: deprecate _PATH_MEM

/dev/mem (and /dev/kmem) are not enabled in the kernels, and selinux
prevents access and makes it a rule compilation error to enable
access. No code uses the _PATH_MEM macro. Remove definition to
suppress future usage.

Bug: 19549480
Change-Id: Ie0fb0f53d43349f4fe227068e4bf8a768f620d60
nclude/paths.h
df14d8ef9884d85987e9810ae44837b659e1f82a 28-Feb-2015 Christopher Ferris <cferris@google.com> am 2ae7c1e3: Merge "Fix fread returning bad data."

* commit '2ae7c1e336af3dd2901e90608be3adeb577659a7':
Fix fread returning bad data.
cc9ca1051dbf5bd2af1b801de13d43a399521cf9 28-Feb-2015 Christopher Ferris <cferris@google.com> Fix fread returning bad data.

Bug: 19172514
Change-Id: I05016577858a02aca7d14e75e6ec28abc925037c
tdio/fread.c
ce751b3536586683ad1dc9bac7e2a4fcfa9d028b 26-Feb-2015 Yabin Cui <yabinc@google.com> Lose bionic_atomic stuff.

Bug: 17177189
Change-Id: Ie1f5d7af359d31b14f58e53ec89c72111362d7ec
rivate/bionic_atomic_arm.h
rivate/bionic_atomic_arm64.h
rivate/bionic_atomic_gcc_builtin.h
rivate/bionic_atomic_inline.h
rivate/bionic_atomic_mips.h
rivate/bionic_atomic_x86.h
00ba42b9f509baa706c93f648c8ad7c84c89d6d0 26-Feb-2015 Yabin Cui <yabinc@google.com> am 7355d29b: Merge "Make getgrent deprecated."

* commit '7355d29bbd106bd4ab3f5be1b743fb73e8c3b4da':
Make getgrent deprecated.
b8b5a72f41830eadbb4753a74845cf5fcba86334 26-Feb-2015 Yabin Cui <yabinc@google.com> Make getgrent deprecated.

Bug: 19340053
Change-Id: Ie8b97f840d9e87555e6a3d591fc87bc08c2d6820
nclude/grp.h
253fcfe70e1bb87ca66e2886d90f6906e8d27f12 26-Feb-2015 Yabin Cui <yabinc@google.com> am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."

* commit '398ef152d50854fccb21086e30b5cc24641b3e2a':
Move endpwent to ndk_cruft.cpp.
fbff0fd516a5d6499b3417eb194b0631ae50094a 26-Feb-2015 Yabin Cui <yabinc@google.com> am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."

* commit 'f1b4a5d510c693d7cffc76cade9ab049f7dfed07':
Make tempnam/mktemp deprecated.
398ef152d50854fccb21086e30b5cc24641b3e2a 26-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Move endpwent to ndk_cruft.cpp."
f1b4a5d510c693d7cffc76cade9ab049f7dfed07 26-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Make tempnam/mktemp deprecated."
9b4f77f5cfc45a377b7de7195341a7769a722b74 24-Feb-2015 Yabin Cui <yabinc@google.com> Make tempnam/mktemp deprecated.

Bug: 19340053
Change-Id: Ib02c65814ef97cd1758fd8142b73736cc8bc1700
nclude/stdio.h
nclude/stdlib.h
52d7f1a94fd6ccb87dabd21c682f68d31810aca9 25-Feb-2015 Yabin Cui <yabinc@google.com> Move endpwent to ndk_cruft.cpp.

Bug: 19109159
Change-Id: I3683a247643006ea6d6bcf3845f57d1908d457d7
ionic/ndk_cruft.cpp
ionic/stubs.cpp
nclude/pwd.h
f5d4f322bbea9e5a5a1ec4025a0289123c667e5f 25-Feb-2015 Yabin Cui <yabinc@google.com> am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."

* commit '448a85968da1e4622e829bb48fd888a38f9f6c49':
Switch system_properties.cpp from bionic atomic operations to stdatomic.
448a85968da1e4622e829bb48fd888a38f9f6c49 25-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
a1e4a4a3c68fc99958cc7a6e6fb7fed58feeaae8 25-Feb-2015 Yabin Cui <yabinc@google.com> am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."

* commit '8c41eae6fcdb6cad1f6c46ae01708ead6b734060':
Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
8c41eae6fcdb6cad1f6c46ae01708ead6b734060 25-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
7fb680bfda059746c9bb8939ffaed600eecc3a29 24-Feb-2015 Yabin Cui <yabinc@google.com> Move getusershell/endusershell/setusershell to ndk_cruft.cpp.

Bug: 19108648
Change-Id: I65134040345398dde612c4325d902db58f3bd2be
ionic/ndk_cruft.cpp
ionic/stubs.cpp
nclude/unistd.h
e93bc6bbe8ce180187e3914d0a7494cfe84f6255 24-Feb-2015 Nick Kralevich <nnk@google.com> am d91ded81: Merge "Fix "faccessat ignores flags""

* commit 'd91ded81376a10a1c89f7a5ae3c462ae3b24188e':
Fix "faccessat ignores flags"
35778253a5ed71e87a608ca590b63729d9f88567 24-Feb-2015 Nick Kralevich <nnk@google.com> Fix "faccessat ignores flags"

The kernel system call faccessat() does not have any flags arguments,
so passing flags to the kernel is currently ignored.

Fix the kernel system call so that no flags argument is passed in.

Ensure that we don't support AT_SYMLINK_NOFOLLOW. This non-POSIX
(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html)
flag is a glibc extension, and has non-intuitive, error prone behavior.

For example, consider the following code:

symlink("foo.is.dangling", "foo");
if (faccessat(AT_FDCWD, "foo", R_OK, AT_SYMLINK_NOFOLLOW) == 0) {
int fd = openat(AT_FDCWD, "foo", O_RDONLY | O_NOFOLLOW);
}

The faccessat() call in glibc will return true, but an attempt to
open the dangling symlink will end up failing. GLIBC documents this
as returning the access mode of the symlink itself, which will
always return true for any symlink on Linux.

Some further discussions of this are at:

* http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html
* http://permalink.gmane.org/gmane.linux.lib.musl.general/6952

AT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this
function was never added to POSIX. (note that "access" is pretty much
broken by design too, since it introduces a race condition between
check and action). We shouldn't support this until it's clearly
documented by POSIX or we can have it produce intuitive results.

Don't support AT_EACCESS for now. Implementing it is complicated, and
pretty much useless on Android, since we don't have setuid binaries.
See http://git.musl-libc.org/cgit/musl/commit/?id=0a05eace163cee9b08571d2ff9d90f5e82d9c228
for how an implementation might look.

Bug: 18867827
Change-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04
ndroid.mk
YSCALLS.TXT
rch-arm/syscalls/___faccessat.S
rch-arm/syscalls/faccessat.S
rch-arm64/syscalls/___faccessat.S
rch-arm64/syscalls/faccessat.S
rch-mips/syscalls/___faccessat.S
rch-mips/syscalls/faccessat.S
rch-mips64/syscalls/___faccessat.S
rch-mips64/syscalls/faccessat.S
rch-x86/syscalls/___faccessat.S
rch-x86/syscalls/faccessat.S
rch-x86_64/syscalls/___faccessat.S
rch-x86_64/syscalls/faccessat.S
ionic/faccessat.cpp
b8ce47421727f7621f3e00043d535e35cd904852 11-Feb-2015 Yabin Cui <yabinc@google.com> Switch system_properties.cpp from bionic atomic operations to stdatomic.

Bug: 17177189
Change-Id: I42e05ad1c490cc7a8040138151afc0ee72a9b63f
ionic/system_properties.cpp
4ec60a017859b39d490cfeb089ed30da09863def 24-Feb-2015 Elliott Hughes <enh@google.com> am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."

* commit '2aef607b25c463baed5ae70d14212e24ea7bcf2b':
Fix dup2 in the case where the two fds are equal.
be52e658171edf6651895c40d1563289bafa52f7 24-Feb-2015 Elliott Hughes <enh@google.com> Fix dup2 in the case where the two fds are equal.

dup3's behavior differs from dup2 in this case, so we need to paper
over that in the C library.

Change-Id: I313cd6f226db5e237f61866f324c5ecdd12bf762
ionic/dup2.cpp
491c09e0d5921edd57da2efb0c8ed4f32df93fe2 23-Feb-2015 Elliott Hughes <enh@google.com> am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."

* commit '393bdb156d5024a03f03425a977d0518c84dbb98':
Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
6af62e0d5016d0e8263f77139154a518d50fc2d6 23-Feb-2015 Elliott Hughes <enh@google.com> Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.

Change-Id: Ia6be76460bfcf852832325c5f36cb272f49a4b87
nclude/sys/resource.h
07e218a484d8a1ac71c3b9317e86f5ba39aae919 23-Feb-2015 Elliott Hughes <enh@google.com> am 3d83b189: Merge "[MIPS64] Fix mips64 build."

* commit '3d83b18970f32467596830845793b18a858f59e6':
[MIPS64] Fix mips64 build.
daf8911079ad9c5e0b874701aabe3835e94991b6 23-Feb-2015 Nikola Veljkovic <Nikola.Veljkovic@imgtec.com> [MIPS64] Fix mips64 build.

Build was broken by:
https://android-review.googlesource.com/133834

Use <unistd.h> to get syscall().
Remove <asm/unistd.h>, it gets included through <sys/syscall.h>.

Change-Id: Id762f6dea5f9538c19b79cdd46deda978efd50fe
rch-mips64/bionic/stat.cpp
6421f8f5b21357b3f956f4b20c3622f96863a219 20-Feb-2015 Elliott Hughes <enh@google.com> am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."

* commit 'c39eef71a7f66b69e2216a51d0e7fbc1796d0696':
valgrind can't find syscall because we didn't put it in <unistd.h>.
4c5891d93dc151e2f07fc87ae967f23e6c3d6e0c 20-Feb-2015 Elliott Hughes <enh@google.com> valgrind can't find syscall because we didn't put it in <unistd.h>.

Change-Id: I1e47291d4476bd2816138a8cf58f29d4986d39e3
ionic/ndk_cruft.cpp
nclude/sys/syscall.h
nclude/unistd.h
rivate/bionic_futex.h
a6395dda54057170fc66faf00410e983202aa7e0 19-Feb-2015 Bill Yi <byi@google.com> Merge commit '9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1' into HEAD
3cfb52aab2548df635e9672218cc433e14922fd3 19-Feb-2015 Elliott Hughes <enh@google.com> Add GNU extensions mempcpy and wmemcpy.

Used by elfutils. On the bright side, they stopped using __mempcpy.

Bug: 18374026
Change-Id: Id29bbe6ef1c5ed5a171bb6c32182f129d8332abb
ndroid.mk
ionic/mempcpy.cpp
ionic/wmempcpy.cpp
nclude/string.h
nclude/wchar.h
3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0 19-Feb-2015 Dan Albert <danalbert@google.com> Merge "Parameterize use of clang in libc_ndk."
2c678e6644a0ac7bfdfb8f199ac2cd0d4ea1153f 19-Feb-2015 Dan Albert <danalbert@google.com> Parameterize use of clang in libc_ndk.

We still have issues with clang coverage in static libraries, so we
need to make sure we follow suit with the rest of libc for now.

Bug: 17574078
Change-Id: I2ab58a84b1caa0d8d08415d240c35adec5b1e150
ndroid.mk
d3fa31a55d542d51fc3f2df46af7c1b701ecb86e 19-Feb-2015 Elliott Hughes <enh@google.com> Merge "[MIPS] Fix setjmp signals"
4add77b93c0c61381faa9d4d8dc62f81cafcc69a 18-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Make gets() deprecated."
913fcb274f353348a353aaabbe872b3b5924a6e7 18-Feb-2015 Yabin Cui <yabinc@google.com> Make gets() deprecated.

gets is already deprecated in glibc. Others with __warnattr are not deprecated.

Change-Id: I80a276d2b5964630218be47f1c94b146c0d31151
nclude/stdio.h
1dbc6bb02521ba1535748826eeaf28404160d788 18-Feb-2015 Elliott Hughes <enh@google.com> Merge "Implement _FILE_OFFSET_BITS (mostly)."
9ec37c7fa979c573e5743c343d38370cab1a67e4 18-Feb-2015 Neil Fuller <nfuller@google.com> Merge "Update tzdata to tzdata2015a"
68dc20d41193831a94df04b994ff2f601dd38d10 07-Feb-2015 Elliott Hughes <enh@google.com> Implement _FILE_OFFSET_BITS (mostly).

I still don't think we can make stdio's fseeko and ftello work, but we can
have everything else, and very few programs use fseeko/ftello (and they can
just refrain from using _FILE_OFFSET_BITS and be no worse off than they are
today).

Bug: 11865851
Change-Id: Ic3cb409aae6713f4b345de954bcc4241fcd969ec
nclude/fcntl.h
nclude/stdio.h
nclude/sys/cdefs.h
nclude/sys/mman.h
nclude/sys/sendfile.h
nclude/sys/types.h
nclude/unistd.h
a6395e1fd0ccc818ed6424797690b12f8b690755 13-Feb-2015 Dan Albert <danalbert@google.com> Update NDK compatlib for 4.1.2.

The replacement new failures present in newer versions are present
here as well, with the following new issues:

XPASS std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp

This is from the -NaN formatting fix in bionic. We previously had this
wrong, and the upstream test is also wrong. There's currently an XFAIL
for Android in this test because I haven't fixed the upstream test
yet. After that is done, I'll need to teach the test runner how to
XFAIL older Android versions...

FAIL std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
dtor.pass.cpp:39: int main(): assertion "globalMemCounter.checkDeleteArrayCalledEq(1)" failed

Haven't investigated this one yet. http://b/19412688

Note that this also needs the libgcc link ordering to be fixed in the
build system, as we'll otherwise depend on libgcc symbols from libc
that may or may not have been there.

The build fix can't be submitted because the proper link order causes
the libgcc unwinder to be used instead of the EHABI one:
http://b/18471342

Bug: 18471532
Change-Id: Icf560485a9b8f5ebbe01e4458703e62ec94df5e1
ndroid.mk
9a9ea3a28099602fe22e36638a44fa36df80fe8e 10-Feb-2015 Dan Albert <danalbert@google.com> Update the NDK compatlib for 4.4.4 and ToT.

Now passes all libc++ tests for these targets, with the exception of
the usual failing replacement new tests since libc uses new/delete for
things. I don't know if we can ever really fix these.

Bug: 18471532
Change-Id: Ibc0a15f26b0e4613249b5e15ecf3cf80e523467c
ndroid.mk
0e61c2c0ea201e157d0d3d3c04564588bcfb7c66 18-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Revert "Move use of __warnattr to __deprecated.""
784de4e50a1161d78757402c149d85368bd49c29 18-Feb-2015 Yabin Cui <yabinc@google.com> Revert "Move use of __warnattr to __deprecated."

This reverts commit 4645c4f62df49d1ece5aabb7c9fa44ca34d30272.

Change-Id: I6c1062d54a4e2c4f41ce7a403e4e7840e6339146
nclude/stdio.h
nclude/stdlib.h
nclude/sys/cdefs.h
b5c23796872dee26d7fa88f0a41801dcc6090d99 18-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Move use of __warnattr to __deprecated."
4645c4f62df49d1ece5aabb7c9fa44ca34d30272 17-Feb-2015 Yabin Cui <yabinc@google.com> Move use of __warnattr to __deprecated.

clang don't support warning attribute. Replacing warning attriubte with
deprecated attribute can achieve the same behavior whether compiled by
gcc or clang.

Bug: 19340053
Change-Id: I064432b81cf55212458edbc749eb72dc15a810fb
nclude/stdio.h
nclude/stdlib.h
nclude/sys/cdefs.h
89dad68efb07ef0868c2ac35737a4b2c83aea326 17-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Change getgrent error declaration message to proper style."
62533de98e6dded91aba701d8b6339e77fbc8121 17-Feb-2015 Yabin Cui <yabinc@google.com> Change getgrent error declaration message to proper style.

Bug: 19340053
Change-Id: I9c47a2016f356d171a5f2082acb8391d81e019b2
nclude/grp.h
be6a44566a7085470b96bc41d371e37b5b12ff87 17-Feb-2015 Elliott Hughes <enh@google.com> Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.

Change-Id: I656f613166bd604f35b31e5ec042a5230c6b82b8
ionic/sysconf.cpp
fb48c68221afb1f9e7c63a15a20cca0857d1b9f9 17-Feb-2015 Elliott Hughes <enh@google.com> Merge "Fix memchr overflow."
92b9c6ff3ea5bdadf33feb05e06703fa35f34497 16-Feb-2015 Elliott Hughes <enh@google.com> POSIX says flock is in <sys/file.h>, not <unistd.h>.

Bug: 19392265
Change-Id: I14d0b56883f0354e13db04a1d140b8f60dae08d7
nclude/sys/file.h
nclude/unistd.h
094a8ae078dc3646ff23a845cf038ddc3364116c 02-Feb-2015 Neil Fuller <nfuller@google.com> Update tzdata to tzdata2015a

Time Zone Data v. 2015a (Released 2015-01-29)
http://www.iana.org/time-zones/repository/releases/tzdata2015a.tar.gz

Information from NEWS:

Release 2015a - 2015-01-29 22:35:20 -0800

Changes affecting future time stamps

The Mexican state of Quintana Roo, represented by America/Cancun,
will shift from Central Time with DST to Eastern Time without DST
on 2015-02-01 at 02:00. (Thanks to Steffen Thorsen and Gwillim Law.)

Chile will not change clocks in April or thereafter; its new standard time
will be its old daylight saving time. This affects America/Santiago,
Pacific/Easter, and Antarctica/Palmer. (Thanks to Juan Correa.)

New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
(Thanks to Tim Parenti.)

Changes affecting past time stamps

Iceland observed DST in 1919 and 1921, and its 1939 fallback
transition was Oct. 29, not Nov. 29. Remove incorrect data from
Shanks about time in Iceland between 1837 and 1908.

Some more zones have been turned into links, when they differed
from existing zones only for older time stamps. As usual,
these changes affect UTC offsets in pre-1970 time stamps only.
Their old contents have been moved to the 'backzone' file.
The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
and Asia/Muscat.

Bug: 19212588
(cherry-picked from commit 700eb048fb6df8805245097d73a87384108fdf67)

Change-Id: I23d94982f634889ab9dcef28cf4a8853224bfd9c
oneinfo/tzdata
41ef902379ba24bd8a3ca6d7733b8376efb55ebd 14-Feb-2015 Elliott Hughes <enh@google.com> Fix memchr overflow.

The overflow's actually in the generic C implementation of memchr.

While I'm here, let's switch our generic memrchr to the OpenBSD version too.

Bug: https://code.google.com/p/android/issues/detail?id=147048
Change-Id: I296ae06a1ee196d2c77c95a22f11ee4d658962da
rch-arm/arm.mk
rch-arm64/arm64.mk
rch-mips/mips.mk
rch-mips64/mips64.mk
rch-x86_64/x86_64.mk
ionic/memchr.c
ionic/memrchr.c
pstream-openbsd/lib/libc/string/memchr.c
pstream-openbsd/lib/libc/string/memrchr.c
9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1 14-Feb-2015 Yabin Cui <yabinc@google.com> am 4812bdf1: am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."

* commit '4812bdf1b160fb803dd86a393daf2ae725029c2e':
Declare getgrent/setgrent/endgrent as missing.
4181cc691e36546c556274d46d389d7e0cb9cfab 14-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Declare getgrent/setgrent/endgrent as missing."
39c9f7bc65a56287e54f6ce4a090113c1109c7ef 14-Feb-2015 Dmitriy Ivanov <dimitry@google.com> am 88117127: am b81a871c: Merge changes I88827aa0,Ib0b0987a

* commit '88117127defa6aeb26840ec8547486aefd5edd73':
Fix: DT_DEBUG was acting as DT_REL on mips64
Add missing SHT_LOOS/SHT_HIOS values
b81a871cbb2d99168bdb8380b6142139135f418f 14-Feb-2015 Dmitriy Ivanov <dimitry@google.com> Merge changes I88827aa0,Ib0b0987a

* changes:
Fix: DT_DEBUG was acting as DT_REL on mips64
Add missing SHT_LOOS/SHT_HIOS values
13ed3f0af15ebd5b10aa44f8f51a5bba1b3bd9fc 14-Feb-2015 Dmitriy Ivanov <dimitry@google.com> Add missing SHT_LOOS/SHT_HIOS values

Change-Id: Ib0b0987a7e85af7863c6ef894263b5980e32344d
nclude/elf.h
15c60ccfb100423fb76470ee12642bf4c7072eac 13-Feb-2015 Colin Cross <ccross@android.com> am d6a9f804: am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"

* commit 'd6a9f804a9c95942bddc9afa243c339d72371008':
Make .note.android.ident section type SH_NOTE
c9d09431b982b44ebec5b1ca0913e80f13aba809 13-Feb-2015 Yabin Cui <yabinc@google.com> Declare getgrent/setgrent/endgrent as missing.

Bug: 19340053
Change-Id: I42bfeda95e6f262e2e74ab47336ea346c2de7e4a
nclude/grp.h
nclude/sys/cdefs.h
e09ab2cc2ff41ce7519c143d448371ddd62afc59 13-Feb-2015 Colin Cross <ccross@android.com> Make .note.android.ident section type SH_NOTE

The .note.android.ident section is only used by GDB, which doesn't
care what section type the section is, but it would be convenient
for readelf -n to be able to find the section too.

The old way of getting the .note.android.ident section to be of type
SH_NOTE involved compiling from .c to .s using gcc, running sed to
change progbits to note, and then compiling from .s to .o using gcc.
Since crtbrand.c only contains a section containing data, a
crtbrand.S can be checked in that will compile on all platforms,
avoiding the need for sed.

Also add crtbrand.o to crtbegin_so.o so that libraries also get
the note, and to the crt workaround in arm libc.so.

Change-Id: Ica71942a6af4553b56978ceaa288b3f4c15ebfa2
ndroid.mk
rch-common/bionic/crtbrand.S
ionic/crtbrand.c
rt.mk
71721a31d02ec0f6946b7924cee9d461971512c0 12-Feb-2015 Colin Cross <ccross@android.com> am baf16422: am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"

* commit 'baf164221b1356fe13091c2ca4b357da9a4e237c':
Remove no-op sed step when compiling crtbrand.o
24958ae4efd70d5ef36d93d2d2bcca38ad340395 12-Feb-2015 Colin Cross <ccross@android.com> Remove no-op sed step when compiling crtbrand.o

crtbrand.c was compiled to a .s file, run through a sed script
to translate a %progbits to %note, and the compiled to .o.
However, when the sed command was copied from the original source
it was not updated to use the new name of the section (.note.ABI-tag
to .note.android.ident), so it didn't modify the file. Since the
section has been generated with type %progbits instead of %note for
two years, just delete the whole sed step.

Change-Id: Id78582e9b43b628afec4eed22a088283132f0742
ionic/crtbrand.c
rt.mk
b6d301f42dc191681a17eb85536f9cde4eb78c44 26-Jan-2015 Duane Sand <duane.sand@imgtec.com> [MIPS] Fix setjmp signals

Include full 16-byte Mips sigset_t signal mask within jump buffer.
Call sigprocmask instead of sigblockmask/sigsetmask to get/set full signal mask.
Include sigsetjmp's savesigs arg inside jmp_buf, instead of following it.
Reserve room for future extensions.
Preserve historically-large mips32 _JBLEN size.
Eliminate redundancy: code setjmp and _setjmp as tail calls into sigsetjmp,
and make longjmp and _longjmp aliases of siglongjmp.

Change-Id: Ie79137cf059228c1a51344ebb20d3a9a40b4a252
rch-mips/bionic/setjmp.S
rch-mips/include/machine/setjmp.h
8dc24ee55e05cfb54af5ef29d9f8a19ef65462c1 10-Feb-2015 Yabin Cui <yabinc@google.com> am 3a31e697: am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."

* commit '3a31e697ca3c1207bfec64b555bcff7b129348a3':
Define MAXHOSTNAMELEN explicitly in source files.
ee17e8800418a74e21dba11658234363cf6f6032 10-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Define MAXHOSTNAMELEN explicitly in source files."
c9f8c07373b2a71d682e3214c65e0c14c7c3f875 10-Feb-2015 Yabin Cui <yabinc@google.com> am fa592b2a: am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."

* commit 'fa592b2a903a6e5110c6daf0959cc7211fc476d7':
Switch pthread_cond_t to <stdatomic.h>.
88c0719f8fa7c4127ffdf1a304716e3a63117bf7 10-Feb-2015 Yabin Cui <yabinc@google.com> am 6a32443a: am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."

* commit '6a32443aa3e2544000314adf80d4e081d36d170d':
Stop including <linux/param.h> in <sys/param.h>.
1771006863186e19ddfcc55f5f870dc56c650177 10-Feb-2015 Narayan Kamath <narayan@google.com> am e163cb28: am f69139e1: Merge "Remove stray log line."

* commit 'e163cb28b9b89f315000c1c480ee0cb2b3c26744':
Remove stray log line.
2d8f9b5aea90b57cd01c0a07cfff032092b4672e 09-Feb-2015 Yabin Cui <yabinc@google.com> Define MAXHOSTNAMELEN explicitly in source files.

Bug: 19093777
Bug: 19092844
Change-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817
ns/include/resolv_private.h
nclude/netdb.h
nclude/sys/param.h
ernel/tools/defaults.py
ernel/uapi/asm-generic/param.h
e375ecaa39213ec01464dac9d0ffebaac70b4e9d 10-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Switch pthread_cond_t to <stdatomic.h>."
e5f816c01780220880ee59a29f727c48b51365d3 29-Jan-2015 Yabin Cui <yabinc@google.com> Switch pthread_cond_t to <stdatomic.h>.

Bug: 17574458
Change-Id: Ic7f79861df4fe751cfa6c6b20b71123cc31e7114
ionic/pthread_cond.cpp
nclude/pthread.h
a4fc89badf4ef4d42df0927340c6f0d02167a3d6 09-Feb-2015 Yabin Cui <yabinc@google.com> Merge "Stop including <linux/param.h> in <sys/param.h>."
421608550dff76d12886021250919cbebf419bd8 09-Feb-2015 Narayan Kamath <narayan@google.com> Remove stray log line.

Change-Id: Id948ae37a91dadd9d40e91de97f18774bdccfc78
ionic/__poll_chk.cpp
5690237c6f95afec3460f7f5e7d6c2ab6bfc608a 07-Feb-2015 Tao Bao <tbao@google.com> am 35947160: am bc64d1d1: Merge "Switch kernel header parsing to python libclang"

* commit '35947160f96931a6464a9425b04f79232b389ed0':
Switch kernel header parsing to python libclang
fa8a43e6dffab323f9c0b8ad91df8e6e76832b85 07-Feb-2015 Colin Cross <ccross@android.com> am 0ef78e38: am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"

* commit '0ef78e3840b3bfcc07a13d7ffa69dfdd8313e80c':
Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
bc64d1d1fd12a0b43bcfe3f88698f29185ab63e0 07-Feb-2015 Tao Bao <tbao@google.com> Merge "Switch kernel header parsing to python libclang"
d7db594b8d1dab36b711bd887a9dd21675c87243 28-Jan-2015 Tao Bao <tbao@google.com> Switch kernel header parsing to python libclang

Replace the tokenizer in cpp.py with libclang.

Bug: 18937958
Change-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d
ernel/tools/clean_header.py
ernel/tools/cpp.py
ernel/uapi/asm-arm/asm/a.out.h
ernel/uapi/asm-arm/asm/kvm.h
ernel/uapi/asm-arm/asm/mman.h
ernel/uapi/asm-arm/asm/perf_regs.h
ernel/uapi/asm-arm/asm/ptrace.h
ernel/uapi/asm-arm/asm/setup.h
ernel/uapi/asm-arm/asm/sigcontext.h
ernel/uapi/asm-arm/asm/signal.h
ernel/uapi/asm-arm/asm/stat.h
ernel/uapi/asm-arm/asm/statfs.h
ernel/uapi/asm-arm/asm/unistd.h
ernel/uapi/asm-arm64/asm/kvm.h
ernel/uapi/asm-arm64/asm/perf_regs.h
ernel/uapi/asm-arm64/asm/ptrace.h
ernel/uapi/asm-arm64/asm/sigcontext.h
ernel/uapi/asm-arm64/asm/statfs.h
ernel/uapi/asm-generic/fcntl.h
ernel/uapi/asm-generic/ioctl.h
ernel/uapi/asm-generic/ipcbuf.h
ernel/uapi/asm-generic/msgbuf.h
ernel/uapi/asm-generic/param.h
ernel/uapi/asm-generic/poll.h
ernel/uapi/asm-generic/posix_types.h
ernel/uapi/asm-generic/sembuf.h
ernel/uapi/asm-generic/shmbuf.h
ernel/uapi/asm-generic/siginfo.h
ernel/uapi/asm-generic/signal-defs.h
ernel/uapi/asm-generic/signal.h
ernel/uapi/asm-generic/stat.h
ernel/uapi/asm-generic/statfs.h
ernel/uapi/asm-generic/termbits.h
ernel/uapi/asm-generic/termios.h
ernel/uapi/asm-generic/ucontext.h
ernel/uapi/asm-generic/unistd.h
ernel/uapi/asm-mips/asm/bitfield.h
ernel/uapi/asm-mips/asm/cachectl.h
ernel/uapi/asm-mips/asm/fcntl.h
ernel/uapi/asm-mips/asm/inst.h
ernel/uapi/asm-mips/asm/kvm.h
ernel/uapi/asm-mips/asm/msgbuf.h
ernel/uapi/asm-mips/asm/posix_types.h
ernel/uapi/asm-mips/asm/ptrace.h
ernel/uapi/asm-mips/asm/reg.h
ernel/uapi/asm-mips/asm/sembuf.h
ernel/uapi/asm-mips/asm/sgidefs.h
ernel/uapi/asm-mips/asm/shmbuf.h
ernel/uapi/asm-mips/asm/sigcontext.h
ernel/uapi/asm-mips/asm/siginfo.h
ernel/uapi/asm-mips/asm/signal.h
ernel/uapi/asm-mips/asm/stat.h
ernel/uapi/asm-mips/asm/statfs.h
ernel/uapi/asm-mips/asm/termbits.h
ernel/uapi/asm-mips/asm/termios.h
ernel/uapi/asm-x86/asm/a.out.h
ernel/uapi/asm-x86/asm/bootparam.h
ernel/uapi/asm-x86/asm/debugreg.h
ernel/uapi/asm-x86/asm/e820.h
ernel/uapi/asm-x86/asm/hyperv.h
ernel/uapi/asm-x86/asm/ist.h
ernel/uapi/asm-x86/asm/kvm.h
ernel/uapi/asm-x86/asm/kvm_para.h
ernel/uapi/asm-x86/asm/ldt.h
ernel/uapi/asm-x86/asm/mce.h
ernel/uapi/asm-x86/asm/msr-index.h
ernel/uapi/asm-x86/asm/mtrr.h
ernel/uapi/asm-x86/asm/perf_regs.h
ernel/uapi/asm-x86/asm/processor-flags.h
ernel/uapi/asm-x86/asm/ptrace.h
ernel/uapi/asm-x86/asm/sembuf.h
ernel/uapi/asm-x86/asm/sigcontext.h
ernel/uapi/asm-x86/asm/sigcontext32.h
ernel/uapi/asm-x86/asm/signal.h
ernel/uapi/asm-x86/asm/stat.h
ernel/uapi/asm-x86/asm/statfs.h
ernel/uapi/asm-x86/asm/svm.h
ernel/uapi/asm-x86/asm/vm86.h
ernel/uapi/asm-x86/asm/vmx.h
ernel/uapi/asm-x86/asm/vsyscall.h
ernel/uapi/drm/armada_drm.h
ernel/uapi/drm/drm.h
ernel/uapi/drm/drm_fourcc.h
ernel/uapi/drm/drm_mode.h
ernel/uapi/drm/drm_sarea.h
ernel/uapi/drm/exynos_drm.h
ernel/uapi/drm/i810_drm.h
ernel/uapi/drm/i915_drm.h
ernel/uapi/drm/mga_drm.h
ernel/uapi/drm/msm_drm.h
ernel/uapi/drm/nouveau_drm.h
ernel/uapi/drm/omap_drm.h
ernel/uapi/drm/qxl_drm.h
ernel/uapi/drm/r128_drm.h
ernel/uapi/drm/radeon_drm.h
ernel/uapi/drm/savage_drm.h
ernel/uapi/drm/sis_drm.h
ernel/uapi/drm/tegra_drm.h
ernel/uapi/drm/via_drm.h
ernel/uapi/drm/vmwgfx_drm.h
ernel/uapi/linux/a.out.h
ernel/uapi/linux/acct.h
ernel/uapi/linux/adb.h
ernel/uapi/linux/adfs_fs.h
ernel/uapi/linux/affs_hardblocks.h
ernel/uapi/linux/agpgart.h
ernel/uapi/linux/aio_abi.h
ernel/uapi/linux/android_alarm.h
ernel/uapi/linux/apm_bios.h
ernel/uapi/linux/ashmem.h
ernel/uapi/linux/atalk.h
ernel/uapi/linux/atm.h
ernel/uapi/linux/atm_eni.h
ernel/uapi/linux/atm_he.h
ernel/uapi/linux/atm_idt77105.h
ernel/uapi/linux/atm_nicstar.h
ernel/uapi/linux/atm_tcp.h
ernel/uapi/linux/atm_zatm.h
ernel/uapi/linux/atmapi.h
ernel/uapi/linux/atmarp.h
ernel/uapi/linux/atmbr2684.h
ernel/uapi/linux/atmclip.h
ernel/uapi/linux/atmdev.h
ernel/uapi/linux/atmlec.h
ernel/uapi/linux/atmmpc.h
ernel/uapi/linux/atmppp.h
ernel/uapi/linux/atmsap.h
ernel/uapi/linux/atmsvc.h
ernel/uapi/linux/audit.h
ernel/uapi/linux/auto_fs.h
ernel/uapi/linux/auto_fs4.h
ernel/uapi/linux/ax25.h
ernel/uapi/linux/b1lli.h
ernel/uapi/linux/baycom.h
ernel/uapi/linux/bcache.h
ernel/uapi/linux/bcm933xx_hcs.h
ernel/uapi/linux/bfs_fs.h
ernel/uapi/linux/binder.h
ernel/uapi/linux/blkpg.h
ernel/uapi/linux/blktrace_api.h
ernel/uapi/linux/bpf.h
ernel/uapi/linux/bpqether.h
ernel/uapi/linux/bsg.h
ernel/uapi/linux/btrfs.h
ernel/uapi/linux/byteorder/big_endian.h
ernel/uapi/linux/byteorder/little_endian.h
ernel/uapi/linux/caif/caif_socket.h
ernel/uapi/linux/caif/if_caif.h
ernel/uapi/linux/can.h
ernel/uapi/linux/can/bcm.h
ernel/uapi/linux/can/gw.h
ernel/uapi/linux/can/netlink.h
ernel/uapi/linux/can/raw.h
ernel/uapi/linux/capability.h
ernel/uapi/linux/capi.h
ernel/uapi/linux/cciss_defs.h
ernel/uapi/linux/cciss_ioctl.h
ernel/uapi/linux/cdrom.h
ernel/uapi/linux/cgroupstats.h
ernel/uapi/linux/chio.h
ernel/uapi/linux/cm4000_cs.h
ernel/uapi/linux/cn_proc.h
ernel/uapi/linux/coda.h
ernel/uapi/linux/coda_psdev.h
ernel/uapi/linux/coff.h
ernel/uapi/linux/connector.h
ernel/uapi/linux/const.h
ernel/uapi/linux/cramfs_fs.h
ernel/uapi/linux/cyclades.h
ernel/uapi/linux/cycx_cfm.h
ernel/uapi/linux/dcbnl.h
ernel/uapi/linux/dccp.h
ernel/uapi/linux/dlm.h
ernel/uapi/linux/dlm_device.h
ernel/uapi/linux/dlm_netlink.h
ernel/uapi/linux/dlm_plock.h
ernel/uapi/linux/dlmconstants.h
ernel/uapi/linux/dm-ioctl.h
ernel/uapi/linux/dm-log-userspace.h
ernel/uapi/linux/dn.h
ernel/uapi/linux/dqblk_xfs.h
ernel/uapi/linux/dvb/audio.h
ernel/uapi/linux/dvb/ca.h
ernel/uapi/linux/dvb/dmx.h
ernel/uapi/linux/dvb/frontend.h
ernel/uapi/linux/dvb/net.h
ernel/uapi/linux/dvb/osd.h
ernel/uapi/linux/dvb/video.h
ernel/uapi/linux/edd.h
ernel/uapi/linux/efs_fs_sb.h
ernel/uapi/linux/elf-fdpic.h
ernel/uapi/linux/elf.h
ernel/uapi/linux/elfcore.h
ernel/uapi/linux/errqueue.h
ernel/uapi/linux/ethtool.h
ernel/uapi/linux/eventpoll.h
ernel/uapi/linux/fanotify.h
ernel/uapi/linux/fb.h
ernel/uapi/linux/fcntl.h
ernel/uapi/linux/fd.h
ernel/uapi/linux/fdreg.h
ernel/uapi/linux/fib_rules.h
ernel/uapi/linux/fiemap.h
ernel/uapi/linux/filter.h
ernel/uapi/linux/firewire-cdev.h
ernel/uapi/linux/flat.h
ernel/uapi/linux/fou.h
ernel/uapi/linux/fs.h
ernel/uapi/linux/fsl_hypervisor.h
ernel/uapi/linux/fuse.h
ernel/uapi/linux/futex.h
ernel/uapi/linux/gen_stats.h
ernel/uapi/linux/genetlink.h
ernel/uapi/linux/genwqe/genwqe_card.h
ernel/uapi/linux/gfs2_ondisk.h
ernel/uapi/linux/hash_info.h
ernel/uapi/linux/hdlc/ioctl.h
ernel/uapi/linux/hdlcdrv.h
ernel/uapi/linux/hdreg.h
ernel/uapi/linux/hiddev.h
ernel/uapi/linux/hidraw.h
ernel/uapi/linux/hpet.h
ernel/uapi/linux/hsi/hsi_char.h
ernel/uapi/linux/hsr_netlink.h
ernel/uapi/linux/hw_breakpoint.h
ernel/uapi/linux/hyperv.h
ernel/uapi/linux/i2c-dev.h
ernel/uapi/linux/i2c.h
ernel/uapi/linux/i2o-dev.h
ernel/uapi/linux/i8k.h
ernel/uapi/linux/icmp.h
ernel/uapi/linux/icmpv6.h
ernel/uapi/linux/if.h
ernel/uapi/linux/if_addr.h
ernel/uapi/linux/if_addrlabel.h
ernel/uapi/linux/if_alg.h
ernel/uapi/linux/if_arcnet.h
ernel/uapi/linux/if_arp.h
ernel/uapi/linux/if_bonding.h
ernel/uapi/linux/if_bridge.h
ernel/uapi/linux/if_cablemodem.h
ernel/uapi/linux/if_eql.h
ernel/uapi/linux/if_ether.h
ernel/uapi/linux/if_fc.h
ernel/uapi/linux/if_fddi.h
ernel/uapi/linux/if_frad.h
ernel/uapi/linux/if_hippi.h
ernel/uapi/linux/if_link.h
ernel/uapi/linux/if_packet.h
ernel/uapi/linux/if_plip.h
ernel/uapi/linux/if_pppol2tp.h
ernel/uapi/linux/if_pppolac.h
ernel/uapi/linux/if_pppopns.h
ernel/uapi/linux/if_pppox.h
ernel/uapi/linux/if_slip.h
ernel/uapi/linux/if_team.h
ernel/uapi/linux/if_tun.h
ernel/uapi/linux/if_tunnel.h
ernel/uapi/linux/if_vlan.h
ernel/uapi/linux/igmp.h
ernel/uapi/linux/in.h
ernel/uapi/linux/in6.h
ernel/uapi/linux/in_route.h
ernel/uapi/linux/inet_diag.h
ernel/uapi/linux/inotify.h
ernel/uapi/linux/input.h
ernel/uapi/linux/ion.h
ernel/uapi/linux/ion_test.h
ernel/uapi/linux/ioprio.h
ernel/uapi/linux/ip.h
ernel/uapi/linux/ip6_tunnel.h
ernel/uapi/linux/ip_vs.h
ernel/uapi/linux/ipc.h
ernel/uapi/linux/ipmi.h
ernel/uapi/linux/ipsec.h
ernel/uapi/linux/ipv6.h
ernel/uapi/linux/ipv6_route.h
ernel/uapi/linux/ipx.h
ernel/uapi/linux/irda.h
ernel/uapi/linux/isdn.h
ernel/uapi/linux/isdn/capicmd.h
ernel/uapi/linux/isdn_ppp.h
ernel/uapi/linux/iso_fs.h
ernel/uapi/linux/ivtv.h
ernel/uapi/linux/ivtvfb.h
ernel/uapi/linux/ixjuser.h
ernel/uapi/linux/jffs2.h
ernel/uapi/linux/joystick.h
ernel/uapi/linux/kd.h
ernel/uapi/linux/kdev_t.h
ernel/uapi/linux/kernel.h
ernel/uapi/linux/kernelcapi.h
ernel/uapi/linux/kexec.h
ernel/uapi/linux/keyboard.h
ernel/uapi/linux/keychord.h
ernel/uapi/linux/keyctl.h
ernel/uapi/linux/kvm.h
ernel/uapi/linux/l2tp.h
ernel/uapi/linux/llc.h
ernel/uapi/linux/loop.h
ernel/uapi/linux/major.h
ernel/uapi/linux/map_to_7segment.h
ernel/uapi/linux/matroxfb.h
ernel/uapi/linux/mdio.h
ernel/uapi/linux/media.h
ernel/uapi/linux/mei.h
ernel/uapi/linux/mempolicy.h
ernel/uapi/linux/meye.h
ernel/uapi/linux/mic_common.h
ernel/uapi/linux/mic_ioctl.h
ernel/uapi/linux/mii.h
ernel/uapi/linux/minix_fs.h
ernel/uapi/linux/mmc/ioctl.h
ernel/uapi/linux/mpls.h
ernel/uapi/linux/mqueue.h
ernel/uapi/linux/mroute.h
ernel/uapi/linux/mroute6.h
ernel/uapi/linux/msdos_fs.h
ernel/uapi/linux/msg.h
ernel/uapi/linux/mtio.h
ernel/uapi/linux/n_r3964.h
ernel/uapi/linux/nbd.h
ernel/uapi/linux/ncp.h
ernel/uapi/linux/ncp_fs.h
ernel/uapi/linux/ncp_mount.h
ernel/uapi/linux/ncp_no.h
ernel/uapi/linux/neighbour.h
ernel/uapi/linux/net.h
ernel/uapi/linux/net_dropmon.h
ernel/uapi/linux/net_tstamp.h
ernel/uapi/linux/netconf.h
ernel/uapi/linux/netdevice.h
ernel/uapi/linux/netfilter.h
ernel/uapi/linux/netfilter/ipset/ip_set.h
ernel/uapi/linux/netfilter/ipset/ip_set_bitmap.h
ernel/uapi/linux/netfilter/ipset/ip_set_hash.h
ernel/uapi/linux/netfilter/ipset/ip_set_list.h
ernel/uapi/linux/netfilter/nf_conntrack_common.h
ernel/uapi/linux/netfilter/nf_conntrack_ftp.h
ernel/uapi/linux/netfilter/nf_conntrack_sctp.h
ernel/uapi/linux/netfilter/nf_conntrack_tcp.h
ernel/uapi/linux/netfilter/nf_conntrack_tuple_common.h
ernel/uapi/linux/netfilter/nf_nat.h
ernel/uapi/linux/netfilter/nf_tables.h
ernel/uapi/linux/netfilter/nf_tables_compat.h
ernel/uapi/linux/netfilter/nfnetlink.h
ernel/uapi/linux/netfilter/nfnetlink_acct.h
ernel/uapi/linux/netfilter/nfnetlink_compat.h
ernel/uapi/linux/netfilter/nfnetlink_conntrack.h
ernel/uapi/linux/netfilter/nfnetlink_cthelper.h
ernel/uapi/linux/netfilter/nfnetlink_cttimeout.h
ernel/uapi/linux/netfilter/nfnetlink_log.h
ernel/uapi/linux/netfilter/nfnetlink_queue.h
ernel/uapi/linux/netfilter/x_tables.h
ernel/uapi/linux/netfilter/xt_AUDIT.h
ernel/uapi/linux/netfilter/xt_CHECKSUM.h
ernel/uapi/linux/netfilter/xt_CLASSIFY.h
ernel/uapi/linux/netfilter/xt_CONNSECMARK.h
ernel/uapi/linux/netfilter/xt_CT.h
ernel/uapi/linux/netfilter/xt_DSCP.h
ernel/uapi/linux/netfilter/xt_HMARK.h
ernel/uapi/linux/netfilter/xt_IDLETIMER.h
ernel/uapi/linux/netfilter/xt_LED.h
ernel/uapi/linux/netfilter/xt_LOG.h
ernel/uapi/linux/netfilter/xt_NFLOG.h
ernel/uapi/linux/netfilter/xt_NFQUEUE.h
ernel/uapi/linux/netfilter/xt_RATEEST.h
ernel/uapi/linux/netfilter/xt_SECMARK.h
ernel/uapi/linux/netfilter/xt_SYNPROXY.h
ernel/uapi/linux/netfilter/xt_TCPMSS.h
ernel/uapi/linux/netfilter/xt_TCPOPTSTRIP.h
ernel/uapi/linux/netfilter/xt_TEE.h
ernel/uapi/linux/netfilter/xt_TPROXY.h
ernel/uapi/linux/netfilter/xt_addrtype.h
ernel/uapi/linux/netfilter/xt_bpf.h
ernel/uapi/linux/netfilter/xt_cgroup.h
ernel/uapi/linux/netfilter/xt_cluster.h
ernel/uapi/linux/netfilter/xt_comment.h
ernel/uapi/linux/netfilter/xt_connbytes.h
ernel/uapi/linux/netfilter/xt_connlabel.h
ernel/uapi/linux/netfilter/xt_connlimit.h
ernel/uapi/linux/netfilter/xt_connmark.h
ernel/uapi/linux/netfilter/xt_conntrack.h
ernel/uapi/linux/netfilter/xt_cpu.h
ernel/uapi/linux/netfilter/xt_dccp.h
ernel/uapi/linux/netfilter/xt_devgroup.h
ernel/uapi/linux/netfilter/xt_dscp.h
ernel/uapi/linux/netfilter/xt_ecn.h
ernel/uapi/linux/netfilter/xt_esp.h
ernel/uapi/linux/netfilter/xt_hashlimit.h
ernel/uapi/linux/netfilter/xt_helper.h
ernel/uapi/linux/netfilter/xt_ipcomp.h
ernel/uapi/linux/netfilter/xt_iprange.h
ernel/uapi/linux/netfilter/xt_ipvs.h
ernel/uapi/linux/netfilter/xt_l2tp.h
ernel/uapi/linux/netfilter/xt_length.h
ernel/uapi/linux/netfilter/xt_limit.h
ernel/uapi/linux/netfilter/xt_mac.h
ernel/uapi/linux/netfilter/xt_mark.h
ernel/uapi/linux/netfilter/xt_multiport.h
ernel/uapi/linux/netfilter/xt_nfacct.h
ernel/uapi/linux/netfilter/xt_osf.h
ernel/uapi/linux/netfilter/xt_owner.h
ernel/uapi/linux/netfilter/xt_physdev.h
ernel/uapi/linux/netfilter/xt_pkttype.h
ernel/uapi/linux/netfilter/xt_policy.h
ernel/uapi/linux/netfilter/xt_quota.h
ernel/uapi/linux/netfilter/xt_rateest.h
ernel/uapi/linux/netfilter/xt_realm.h
ernel/uapi/linux/netfilter/xt_recent.h
ernel/uapi/linux/netfilter/xt_rpfilter.h
ernel/uapi/linux/netfilter/xt_sctp.h
ernel/uapi/linux/netfilter/xt_set.h
ernel/uapi/linux/netfilter/xt_socket.h