Upgrade to tzdata2013i.

From the release notes:

  Changes affecting near-future time stamps:

    Jordan switches back to standard time at 00:00 on December 20, 2013.
    The 2006-2011 transition schedule is planned to resume in 2014.
    (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps:

    In 2004, Cuba began DST on March 28, not April 4.
    (Thanks to Steffen Thorsen.)

Bug: 13193205
Change-Id: I8f26cc50f6b571804a18ff2113b4a47a22bc56dd
Fix dns searchdomain use in gethostbyname.

Need to load search domain data before we attempt to use it.
This is a cherry pick of an AOSP change c11f6f0f393e472984b5ac2934e2485855a319c9.

bug:6799630

Change-Id: I4ea1131f06ffdf4037fe67f82af5a0349469b609
Upgrade to tzdata2014a.

From the release notes:

  Changes affecting near-future time stamps

    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin
    for the heads-up, and to Tim Parenti for simplifying the update.)

  Changes affecting past time stamps

    Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled
    03:00.  (Thanks to Steffen Thorsen.)

    Ukraine switched from Moscow to Eastern European time on 1990-07-01
    (not 1992-01-01), and observed DST during the entire next winter.
    (Thanks to Vladimir in Moscow via Alois Treindl.)

    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
    09-03.  (Thanks to Avigdor Finkelstein.)

(cherry picked from commit 159b28eb46f03cb1dae6484059e2559f1e42e208)

Bug: 13193205
Change-Id: I3d302039f7e057a97c9d307ce8d32efa056481ed
Allow overlap in resolv uid => DNS iface mapping

When multiple rules exist covering a given uid the one added most
recently will be used.

This allows us to handle the simultaneous tuns case where a new tun is
coming online for an already running VPN.

_resolv_clear_iface_for_uid_range now also takes the iface and removes
only that matching (iface, uid range) entry.

Bug: 12134439
Change-Id: I9b9cfcfae2f38c409022a8c76ccadad7e2babd78
libm: replace Qualcomm's arm routines  with Nvidia's (except pow)

Thank you to Johnny Qiu and Shu Zhang from Nvidia for both creating these
and making them public.

This commit is a squash of the following (but modified for KitKat):

Optimization for sin/cos:
    1. Add assembly version of sin/cos for arm
    2. Enable a fast implementation of sin() and cos() for small
    input (|x| < 640). It is only enabled for Cortex-A15.
Bug 1154547
Bug 1340861
Change-Id: I176cf84ea7df0e612f78d181b8324f31a231095e
Reviewed-on: http://git-master/r/277610
(cherry picked from commit 325d52623445ee089a0199fc993b28264b1cc9a6)

libm: correct a confusing macro name in __kernel_log2

Change-Id: I5c05c2f5d7f28558d77338a50e75e668efefefa2
Reviewed-on: http://git-master/r/278950
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Johnny Qiu <joqiu@nvidia.com>
Tested-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-on: http://git-master/r/336758
Reviewed-by: Shu Zhang <chazhang@nvidia.com>
Tested-by: Shu Zhang <chazhang@nvidia.com>

ibm: Optimize exp()

Perform fast exp(x) when |x| < 16.0.
Bug 1362653
Change-Id: I26060c75e7be63af169f00005fdb7cfe162c3a23
Reviewed-on: http://git-master/r/278360
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Johnny Qiu <joqiu@nvidia.com>
Tested-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-on: http://git-master/r/336759
Reviewed-by: Shu Zhang <chazhang@nvidia.com>
Tested-by: Shu Zhang <chazhang@nvidia.com>

use vfma.f64/vfms.f64 instead of vmla.f64/vmls.f64

vmfa/vmfs has better precision than vmla/vmls. Use vmfa/vfms if
vfpv4 FPU is available.
Bug 1426401
Change-Id: Ib7f338353d3861417b24e0bfcdcafae94e46b555
Reviewed-on: http://git-master/r/343595
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Shu Zhang <chazhang@nvidia.com>
Tested-by: Shu Zhang <chazhang@nvidia.com>

libm: fast and precise sin()/cos()

Rewrite upstream sin/cos with assembly. Jump paths are optimized.
Introduce a PRECISE_TRIGONOMETRIC macro to select precision and
performance. With PRECISE_TRIGONOMETRIC set, the error is within 1 ULP.
The error is 2ULP if not set.
Bug 1426401
Change-Id: Iac712c0e6eb9bf42c87db9d7840c8aa3293ef674
Reviewed-on: http://git-master/r/345073
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Shu Zhang <chazhang@nvidia.com>
Tested-by: Shu Zhang <chazhang@nvidia.com>

libm: turn on high-precision sin/cos

Turn on PRECISE_TRIGONOMETRIC macro to get high precision sin/cos.
Bug 1437755
Change-Id: I41aa40b5b6234172ab123339364eae8bdee70ead
Reviewed-on: http://git-master/r/355653
Tested-by: Shu Zhang <chazhang@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Shu Zhang <chazhang@nvidia.com>

Add arm specific floor() optimization

Add arch specifi optimization scheme for libm.
Add arm specific floor() implementation which avoids VMSR and VMRS
instructions.
Change-Id: Ibd4cd7147aa2f98c9b5bbaf74948843ea619dba4

add arm specific sqrt and sqrtf

Add arm specific optimized sqrt and sqrtf.
Change-Id: I8ea417fc98a800c8cf4f47a0c6668c51d927b1dc

libm: Fix incorrect exponent when hitting a boundary condition

Bug 1466747
Change-Id: I3db7fe8eb79f99afd0d520f5736ad9c8ca5482f1
Reviewed-on: http://git-master/r/375210
Reviewed-by: Johnny Qiu <joqiu@nvidia.com>
Tested-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Ryane Luo <ryanel@nvidia.com>
Tested-by: Ryane Luo <ryanel@nvidia.com>
Reviewed-by: Peter Zu <pzu@nvidia.com>
bionic: update memmove for 32 bits atomic

When src/dst are 32bits aligned, the updated memmove will guarantee
32bits atomic.

Change-Id: I21cb77451270d061b32e3e2d2fda22e7e373b7ff
libm: fix up compile for A9 by including generic sin/cos

Change-Id: I554131c4516165c71a3d703621d6867554fb5911
libc: import Denver memmove for Krait and A15

Change-Id: I7ce6fc108cfa05f216d3bd8ae44e6d24e7d7bb92