Switch branches/tags
cm-11.0-XNPH44S-bacon-5fa8c79c0b cm-11.0-XNPH33R-bacon-3628510d76 cm-11.0-XNPH30O-bacon-4f280f505a cm-11.0-XNPH25R-bacon-d22b777afa cm-11.0-XNPH22R-bacon-03d77315ea cm-11.0-XNPH05Q-tomato-9828f8e9cc cm-11.0-XNPH05Q-bacon-5229c4ef56 cm-10.2.1 cm-10.2.0 cm-10.2-M1 cm-10.1.3 cm-10.1.3-RC2 cm-10.1.3-RC1 cm-10.1.2 cm-10.1.1 cm-10.1.0 cm-10.1.0-RC5 cm-10.1.0-RC4 cm-10.1.0-RC3 cm-10.1.0-RC2 cm-10.1.0-RC1 cm-10.1-M3 cm-10.1-M2 cm-10.1-M1 cm-7.1.0 cm-7.0.3 cm- cm-7.0.1 cm-7.0.0 android-sdk-tools_r12 android-sdk-tools_r7 android-sdk-tools_r6 android-sdk-tools_r5 android-sdk-tools_r4 android-sdk-tools_r3 android-sdk-tools_r2 android-sdk-adt_r12 android-sdk-2.3.4_r1 android-sdk-2.2_r2 android-sdk-2.2_r1 android-sdk-2.1_r1 android-sdk-2.0.1_r1 android-sdk-2.0.1-docs_r1 android-sdk-2.0_r1 android-sdk-1.6_r2 android-sdk-1.6_r1 android-sdk-1.6-docs_r1 android-sdk-1.5_r3 android-sdk-1.5_r1 android-sdk-1.5-pre android-cts-2.3_r5 android-cts-2.3_r4 android-cts-2.3_r3 android-cts-2.3_r2 android-cts-2.3_r1 android-cts-2.2_r7 android-cts-2.2_r6 android-cts-2.2_r5 android-cts-2.2_r4 android-cts-2.2_r3 android-cts-2.2_r2 android-cts-2.2_r1 android-cts-2.1_r5 android-cts-2.1_r4 android-cts-2.1_r3 android-cts-2.1_r2 android-adt-0.9.9 android-adt-0.9.8 android-2.3.5_r1 android-2.3.4_r1 android-2.3.4_r0.9 android-2.3.3_r1.1 android-2.3.3_r1 android-2.3.3_r1a android-2.3.2_r1 android-2.3.1_r1 android-2.3_r1 android-2.2.2_r1 android-2.2.1_r2 android-2.2.1_r1 android-2.2_r1.3 android-2.2_r1.2 android-2.2_r1.1 android-2.2_r1 android-2.1_r2.1s android-2.1_r2.1p2 android-2.1_r2.1p android-2.1_r2 android-2.1_r1 android-2.0.1_r1 android-2.0_r1 android-1.6_r2 android-1.6_r1.5 android-1.6_r1.4 android-1.6_r1.3 android-1.6_r1.2 android-1.6_r1.1 android-1.6_r1 android-1.5 android-1.5r4
Nothing to show
Commits on Dec 6, 2016
  1. Merge tag 'android-7.1.1_r4' into cm-14.1

    invisiblek committed Dec 6, 2016
    Android 7.1.1 release 4
    # gpg: Signature made Thu Dec  1 13:06:50 2016 CST
    # gpg:                using DSA key E8AD3F819AB10E78
    # gpg: Can't check signature: No public key
Commits on Oct 27, 2016
  1. Revert "bionic: Registration of trapping calls during libc initializa…

    arco committed with javelinanddart Oct 27, 2016
     * Breaks camera on some devices.
    This reverts commit 0ca32a9.
    Change-Id: Id8652cf0e35ecf1ff4bb00899e1342ce04ebc409
    (cherry picked from commit 6b9dac8)
Commits on Oct 25, 2016
  1. Merge tag 'android-7.1.0_r4' of…

    Steve Kondik committed Oct 25, 2016
    …form/bionic into 71
    Android 7.1.0 release 4
    Change-Id: I3072cf4bc6958e24d48dd64d04e3074336e0dc53
Commits on Oct 17, 2016
  1. linker: load shims prior to dt_needed check

    jrior001 committed with Gerrit Code Review Oct 7, 2016
    This allows shims to override existing symbols, not just
    inject new symbols.
    Change-Id: Ib9216bcc651d8d38999c593babb94d76dc1dbc95
Commits on Oct 15, 2016
  1. Revert "bionic: Allow devices to add device specfic static libs"

    mikeNG committed Oct 15, 2016
    * This functionality is replaced by shims
    This reverts commit 23ed1c8.
    Change-Id: I3a64fa54eae50724309cdf1899b3b10f2af2c69b
Commits on Oct 9, 2016
Commits on Oct 7, 2016
  1. Fix a linking error in bionic/tests am: 3656958

    Tianjie Xu committed with android-build-merger Oct 7, 2016
    am: 0893380
    Change-Id: I462b022e42676ec6ceba39ece3933dc4cc6237d0
  2. Fix a linking error in bionic/tests

    Tianjie Xu committed with android-build-merger Oct 7, 2016
    am: 3656958
    Change-Id: I5636ecc4e0a5ff4e1ee0a6cd0f1d182d444e63f9
  3. Fix a linking error in bionic/tests

    Tianjie Xu committed Oct 7, 2016
    Fix the following linking error by adding liblog in the makefile:
    "system/core/libziparchive/ error: undefined reference to
    The error happens because libziparchive has dependency on liblog. This
    error affects the downstream branches of nyc-dev.
    Bug: 31251826
    Test: mma -j32
    Change-Id: Ia42909bbbd150ae0ca9f6aa6b14372f2e0aedccf
Commits on Oct 6, 2016
Commits on Oct 5, 2016
  1. Fix for default library path "/vendor/lib"

    neo.chae committed with dimitry- Oct 4, 2016
    Android N restrict which libraries C/C++ code
    can link against at runtime.
    If device has a vendor partition
    then /system/vendor symlink to /vendor.
    Otherwise /vendor symlink to /system/vendor.
    But is_system_library() is only checking /vendor/lib.
    It will return false for /system/vendor/lib path.
    It is need to add a real path to default library path.
    Similarily, default ld library path is already checking.
    Test: build bionic and run bionic-unit-tests
    Bug: http://b/31919547
    Change-Id: Ie6777e2b02729948ce77a94de32343d40358bf2c
    Signed-off-by: Hyangseok Chae <>
    (cherry picked from commit 2589f9d)
Commits on Oct 4, 2016
  1. bionic: fix scorpion architecture

    SteadyQuad committed with Gerrit Code Review Oct 3, 2016
    use memmove.S from denver instead of krait
    Change-Id: I6b346c79e803033bd20a5f6f96ddd3f1f1146f7a
  2. Update timezone data to 2016g.

    saua committed Oct 3, 2016
    The 2016g 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 to future time stamps
        Turkey switched from EET/EEST (+02/+03) to permanent +03,
        effective 2016-09-07.  (Thanks to Burak AYDIN.)  Use "+03" rather
        than an invented abbreviation for the new time.
        New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.
        (Thanks to Tim Parenti.)
      Changes to past time stamps
        For America/Los_Angeles, spring-forward transition times have been
        corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in
        For zones using Soviet time on 1919-07-01, transitions to UT-based
        time were at 00:00 UT, not at 02:00 local time.  The affected
        zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and
        Europe/Ulyanovsk.  (Thanks to Alexander Belopolsky.)
      Changes to past and future time zone abbreviations
        The Factory zone now uses the time zone abbreviation -00 instead
        of a long English-language string, as -00 is now the normal way to
        represent an undefined time zone.
        Several zones in Antarctica and the former Soviet Union, along
        with zones intended for ships at sea that cannot use POSIX TZ
        strings, now use numeric time zone abbreviations instead of
        invented or obsolete alphanumeric abbreviations.  The affected
        zones are Antarctica/Casey, Antarctica/Davis,
        Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,
        Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
        Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,
        Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,
        Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,
        Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,
        Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,
        Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,
        Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,
        Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,
        Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,
        Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,
        Europe/Minsk, Europe/Samara, Europe/Volgograd, and
        Indian/Kerguelen.  For Europe/Moscow the invented abbreviation MSM
        was replaced by +05, whereas MSK and MSD were kept as they are not
        our invention and are widely used.
      Changes to zone names
        Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.
        (Thanks to David Massoud.)
    Test: Ran CTS modules CtsLibcoreTestCases and CtsBionicTestCases.
    Bug: 31848040
    Change-Id: I4e9857616570ca9a540e27c109951ab265fea792
  3. linker: Make platform text relocations denial optional

    AdrianDC committed with cyanogen Aug 27, 2016
        configuration to allow a device to use legacy proprietary
        libraries like camera on non-user build variants
     * Partial revert "Remove textrels support for platform libs"
        commit 8068786.
    Change-Id: I994ab1a600a0b237b496ceebe2dd54febc28a6bd
Commits on Oct 3, 2016
  1. Fix tzdata loading.

    enh committed Oct 3, 2016
    Android uses one large file of tzdata, so the "read up to the maximum
    possible length of a valid tzfile" code in upstream localtime.c is
    broken: there is always data after the current tzfile (even the
    last tzfile is followed by the data). This patch passes the
    exact length through to the read(2) call so we don't over-read, rather
    than have to rewrite upstream code that measures back from the "end" of
    the tzfile.
    The old code failed the existing time.strftime_null_tm_zone test after
    updating to tzdata2016g.
    (cherry picked from commit 81c46fc)
    Bug: http://b/31848040
    Test: time.strftime_null_tm_zone
    Change-Id: Iee059b5a8c051bd4952cfd80f02b00d83e489d5e
Commits on Oct 1, 2016
  1. libc: allow forcing compilation with gcc

    fourkbomb committed Sep 14, 2016
    * fixes flo/mako sensors
    Change-Id: Ic9327ed627b64aafc6a41db45dcb4d28e585c580
Commits on Sep 29, 2016
  1. bionic: Use a more simple strrchr for arm64

    Steve Kondik committed Sep 29, 2016
     * Current version seems like overkill, and it doesn't compile with
       Clang. Use a simplified version from ARM.
    Change-Id: I2fe5467b6a504ea04b5f28a08d92e7c2306772d0
  2. libc: AArch64: Tune memcpy

    Wilco Dijkstra committed with Steve Kondik Nov 6, 2015
    * Further tuning for performance.
    Change-Id: Id08eaab885f9743fa7575077924a947c1b88e4ff
  3. libc: ARM64: add assembly strrchr

    Richard Earnshaw committed with Steve Kondik Dec 8, 2014
    Change-Id: I59a0aa618bf8139dc0368af9ddf881eba5d3eadf
  4. libc: ARM64: improve performance in strlen

    Wilco Dijkstra committed with Steve Kondik Jan 20, 2015
    Change-Id: Ic20f93a0052a49bd76cd6795f51e8606ccfbf11c
  5. libc: ARM64: optimize memset.

    Wilco Dijkstra committed with Steve Kondik Jul 30, 2015
     This is an optimized memset for AArch64.  Memset is split into 4 main
     cases: small sets of up to 16 bytes, medium of 16..96 bytes which are
     fully unrolled.  Large memsets of more than 96 bytes align the
     destination and use an unrolled loop processing 64 bytes per
     iteration.  Memsets of zero of more than 256 use the dc zva
     instruction, and there are faster versions for the common ZVA sizes 64
     or 128.  STP of Q registers is used to reduce codesize without loss of
    Change-Id: I0c5b5ec5ab8a1fd0f23eee8fbacada0be08e841f
  6. libc: ARM64: Optimize memcpy.

    Wilco Dijkstra committed with Steve Kondik Jul 13, 2015
     This is an optimized memcpy for AArch64.  Copies are split into 3 main
     cases: small copies of up to 16 bytes, medium copies of 17..96 bytes
     which are fully unrolled.  Large copies of more than 96 bytes align
     the destination and use an unrolled loop processing 64 bytes per
     iteration.  In order to share code with memmove, small and medium
     copies read all data before writing, allowing any kind of overlap.  On
     a random copy test memcpy is 40.8% faster on A57 and 28.4% on A53.
    Change-Id: Ibb9483e45bbc0e8ca3d5ce98a31c55dfd8a5ac28
  7. libc: ARM64: remove bcopy from memset

    xboxfanj committed with Steve Kondik Sep 18, 2015
    * Deprecated by ce9ce28
    * Already removed from Denver memset
    Change-Id: I7beda29a799c7fa11f5a239d78626f4da1b581a2
  8. libc: arm: add optimized memchr implementation

    koukaipan committed with Steve Kondik Apr 23, 2015
    This optimization is extracted from cortex-strings and bionic-ized,
    and applied to arm-v7a cpus (a7, a9, a15, a53, denver, krait).
    I ran stringbench[1] on ARM Juno, this optimization could outperform
    origin C implementation by 77%.
    Change-Id: I1c3fb0c89ce2b3ee7e44f492367b6caf6db58ccf
    Signed-off-by: Yingshiuan Pan <>
  9. libc: Add Scorpion-optimized variant

    cyanogen committed with Steve Kondik Aug 10, 2013
     * Based on cortex-a8 variant with the following changes:
       Use krait memset/strcmp/memmove
     * Enable with TARGET_CPU_VARIANT := scorpion
    Change-Id: I01d0f22efba5a418ddd20fca0d0c570d855e0f6f
Commits on Sep 11, 2016
  1. Revert "linker: Avoid logcat spam in QCOM A-Family"

    zwliew committed with fourkbomb Sep 10, 2016
    Possibly not all A-family devices need text relocations, and there
    are possibly other non-A-family or non-QCOM devices that need text
    relocations too.
    Furthermore, this doesn't fix the actual issue of libraries not
    getting loaded due to text relocations.
    Revert this patch to bring in a more complete patch that actually
    allows text relocations on targets that need text relocations.
    This reverts commit ca40c4b.
    Change-Id: I2f1155c1e4bba71e18cf9207e57286e28d853972
Commits on Sep 8, 2016
  1. Inject shim libs as if they were DT_NEEDED.

    maniac103 committed with zwliew Sep 7, 2016
    The previous separate approach had one flaw: If the shim lib requires
    another lib that's already loaded, find_library_internal() would return
    the previously loaded copy, but the later load action would fail as the
    ELF reader map of the initial loading round was already discarded and
    thus a new ElfReader instance for the soinfo instance was created, which
    didn't know about the previous reading/loading state.
    Change-Id: Ib224dbd35d114197097e3dee14a077cc9130fedb
Commits on Sep 4, 2016
  1. linker: Avoid logcat spam in QCOM A-Family

    Caio99BR committed Sep 4, 2016
    This commit will hide emit of "text relocations" warning on all
    QCOM A-Family since we have alot of pre-kitkat blobs and it
    make logcat completely unreadable
    Change-Id: Iceb4ec60d708a6981f6361b9e8d1aca707c54d61
    Signed-off-by: Caio Oliveira <>
  2. libc: kryo: Override aosp routines

    luca020400 committed Sep 4, 2016
    Change-Id: Ic7551bf1261a6bcfaf4e78bc88c13d86ee5d529c
  3. linker: Update LD_SHIM_LIBS parser function

    Chippa-a committed with Steve Kondik Aug 27, 2016
     * Upgrade the code using the same changes as
    Change-Id: Ic8be0871945bd9feccd0f94a6770f3cc78a70a0f
  4. linker: Update find_library call for shimlibs

    chirayudesai committed with Steve Kondik Aug 25, 2016
    commits 0cdef7e
    "Respect caller DT_RUNPATH in dlopen()."
    and 42d5fcb
    "Introducing linker namespaces"
    added new arguments to find_library, add them here.
    Change-Id: I8f35a45b00d14f8b2ce01a0a96d2dc7759be04a6
  5. bionic: Sort and cache hosts file data for fast lookup

    tdmcyngn committed with Steve Kondik Jun 17, 2016
    The hosts file is normally searched linearly.  This is very slow when
    the file is large.  To mitigate this, read the hosts file and sort the
    entries in an in-memory cache.  When an address is requested via
    gethostbyname or getaddrinfo, binary search the cache.
    In case where the cache is not available, return a suitable error code
    and fall back to the existing lookup code.
    This has been written to behave as much like the existing lookup code as
    possible.  But note bionic and glibc differ in behavior for some corner
    cases.  Choose the most standard compliant behavior for these where
    possible.  Otherwise choose the behavior that seems most reasonable.
    Change-Id: I3b322883cbc48b0d76a0ce9d149b59faaac1dc58
  6. bionic: Teach fnmatch(3) to handle UTF-8 characters in patterns

    tdmcyngn committed with Steve Kondik Apr 1, 2016
    This is NOT comprehensive UTF-8 support.  It is just a quick hack to
    make alternation work in bracket expressions so that the system file
    manager can find files with non-ASCII names in root mode.  Bracket
    expressions that contain non-ASCII ranges are explicitly avoided to
    avoid the complexities of unicode collation rules.
    Things like the following will now work:
    	fnmatch("те[с][т].jpg", "тест.jpg", 0);
    	fnmatch("test[αβγ].txt", "testβ.txt", 0);
    Things like the following will still fail:
    	fnmatch("тес[а-я].txt", "тест.txt", 0);
    Jira: CYNGNOS-2336
    Change-Id: If38dc6692bc22d20128b0cd8a7632754a496d7fb