)]}'
{
  "log": [
    {
      "commit": "2e16d2cf1e477af1db92efde389a5ce0a8e6fbb3",
      "tree": "b94bcc714add9028cf875933cade2e284b951b85",
      "parents": [
        "be86f87711ee71ff971da2e2ae7a092081177951"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 13 12:43:30 2015 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 13 19:48:03 2015 +0000"
      },
      "message": "Switch libc and libm to sysv-only hash style\n\nBug: 19059885\nChange-Id: I60a23dc5f9c756994d566818332ca42b305b4a05\n"
    },
    {
      "commit": "1156508265422f407c7072788ce6c32c35411941",
      "tree": "8396de72d1b950b695df57fe39a679c9e37ff440",
      "parents": [
        "a94cf791c1c9b93d49f5573716de93348757ae15"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@imgtec.com",
        "time": "Tue Mar 10 17:11:39 2015 +0100"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 10:01:50 2015 -0700"
      },
      "message": "Generate gnu hash for arm only\n\nFixes build failure caused by:\nhttps://android-review.googlesource.com/#/c/139660\n\nAs previously discussed [1], MIPS does not support GNU-style ELF hashes.\n\n[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk\n\nChange-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62\n"
    },
    {
      "commit": "4a55c46d308deae70d7d8669c50514d521813dc2",
      "tree": "58d3ded6c3fe7002348e118f45435c668cfac5d8",
      "parents": [
        "017f94d34eedfaca1c62cb35a65b8436f04b8f62"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 09 19:38:56 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 09 19:38:56 2015 -0700"
      },
      "message": "Generate sysv hash for libc, libstdc++ and libm\n\nBug: 19059885\nChange-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667\n"
    },
    {
      "commit": "35778253a5ed71e87a608ca590b63729d9f88567",
      "tree": "d9e6112654bf2faa754abd9f28bc20c2ccccff57",
      "parents": [
        "2aef607b25c463baed5ae70d14212e24ea7bcf2b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 13:40:43 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 13:40:43 2015 -0800"
      },
      "message": "Fix \"faccessat ignores flags\"\n\nThe kernel system call faccessat() does not have any flags arguments,\nso passing flags to the kernel is currently ignored.\n\nFix the kernel system call so that no flags argument is passed in.\n\nEnsure that we don\u0027t support AT_SYMLINK_NOFOLLOW. This non-POSIX\n(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html)\nflag is a glibc extension, and has non-intuitive, error prone behavior.\n\nFor example, consider the following code:\n\n  symlink(\"foo.is.dangling\", \"foo\");\n  if (faccessat(AT_FDCWD, \"foo\", R_OK, AT_SYMLINK_NOFOLLOW) \u003d\u003d 0) {\n    int fd \u003d openat(AT_FDCWD, \"foo\", O_RDONLY | O_NOFOLLOW);\n  }\n\nThe faccessat() call in glibc will return true, but an attempt to\nopen the dangling symlink will end up failing. GLIBC documents this\nas returning the access mode of the symlink itself, which will\nalways return true for any symlink on Linux.\n\nSome further discussions of this are at:\n\n  * http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html\n  * http://permalink.gmane.org/gmane.linux.lib.musl.general/6952\n\nAT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this\nfunction was never added to POSIX. (note that \"access\" is pretty much\nbroken by design too, since it introduces a race condition between\ncheck and action). We shouldn\u0027t support this until it\u0027s clearly\ndocumented by POSIX or we can have it produce intuitive results.\n\nDon\u0027t support AT_EACCESS for now. Implementing it is complicated, and\npretty much useless on Android, since we don\u0027t have setuid binaries.\nSee http://git.musl-libc.org/cgit/musl/commit/?id\u003d0a05eace163cee9b08571d2ff9d90f5e82d9c228\nfor how an implementation might look.\n\nBug: 18867827\nChange-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04\n"
    },
    {
      "commit": "3cfb52aab2548df635e9672218cc433e14922fd3",
      "tree": "eebbf162a1e5e1ed8726a9129ea17a410ebaa3ed",
      "parents": [
        "3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 18 21:29:13 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 18 22:02:56 2015 -0800"
      },
      "message": "Add GNU extensions mempcpy and wmemcpy.\n\nUsed by elfutils. On the bright side, they stopped using __mempcpy.\n\nBug: 18374026\nChange-Id: Id29bbe6ef1c5ed5a171bb6c32182f129d8332abb\n"
    },
    {
      "commit": "2c678e6644a0ac7bfdfb8f199ac2cd0d4ea1153f",
      "tree": "65f48180347c969cf7b95eb73958656142bde268",
      "parents": [
        "5890ec3e229cbe115308e103111fec471f2319b7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 17:37:52 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 17:37:52 2015 -0800"
      },
      "message": "Parameterize use of clang in libc_ndk.\n\nWe still have issues with clang coverage in static libraries, so we\nneed to make sure we follow suit with the rest of libc for now.\n\nBug: 17574078\nChange-Id: I2ab58a84b1caa0d8d08415d240c35adec5b1e150\n"
    },
    {
      "commit": "a6395e1fd0ccc818ed6424797690b12f8b690755",
      "tree": "5e86f2e854024b8fcd0496119fb0caf4b0df7f81",
      "parents": [
        "9a9ea3a28099602fe22e36638a44fa36df80fe8e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 12 16:35:09 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 17 17:02:42 2015 -0800"
      },
      "message": "Update NDK compatlib for 4.1.2.\n\nThe replacement new failures present in newer versions are present\nhere as well, with the following new issues:\n\nXPASS std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp\n\nThis is from the -NaN formatting fix in bionic. We previously had this\nwrong, and the upstream test is also wrong. There\u0027s currently an XFAIL\nfor Android in this test because I haven\u0027t fixed the upstream test\nyet. After that is done, I\u0027ll need to teach the test runner how to\nXFAIL older Android versions...\n\nFAIL std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp\n    dtor.pass.cpp:39: int main(): assertion \"globalMemCounter.checkDeleteArrayCalledEq(1)\" failed\n\nHaven\u0027t investigated this one yet. http://b/19412688\n\nNote that this also needs the libgcc link ordering to be fixed in the\nbuild system, as we\u0027ll otherwise depend on libgcc symbols from libc\nthat may or may not have been there.\n\nThe build fix can\u0027t be submitted because the proper link order causes\nthe libgcc unwinder to be used instead of the EHABI one:\nhttp://b/18471342\n\nBug: 18471532\nChange-Id: Icf560485a9b8f5ebbe01e4458703e62ec94df5e1\n"
    },
    {
      "commit": "9a9ea3a28099602fe22e36638a44fa36df80fe8e",
      "tree": "ff71dda7ec4193daf9055a5c7ce75c4c54d1747e",
      "parents": [
        "54b61b7ca7d7c9c7474e2beb35d20a9ab635529f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Feb 09 17:45:22 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 17 17:02:34 2015 -0800"
      },
      "message": "Update the NDK compatlib for 4.4.4 and ToT.\n\nNow passes all libc++ tests for these targets, with the exception of\nthe usual failing replacement new tests since libc uses new/delete for\nthings. I don\u0027t know if we can ever really fix these.\n\nBug: 18471532\nChange-Id: Ibc0a15f26b0e4613249b5e15ecf3cf80e523467c\n"
    },
    {
      "commit": "e09ab2cc2ff41ce7519c143d448371ddd62afc59",
      "tree": "27aeb6b9af0e2cee7200e1683a9650f013b49396",
      "parents": [
        "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 12 17:03:22 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 12 21:37:20 2015 -0800"
      },
      "message": "Make .note.android.ident section type SH_NOTE\n\nThe .note.android.ident section is only used by GDB, which doesn\u0027t\ncare what section type the section is, but it would be convenient\nfor readelf -n to be able to find the section too.\n\nThe old way of getting the .note.android.ident section to be of type\nSH_NOTE involved compiling from .c to .s using gcc, running sed to\nchange progbits to note, and then compiling from .s to .o using gcc.\nSince crtbrand.c only contains a section containing data, a\ncrtbrand.S can be checked in that will compile on all platforms,\navoiding the need for sed.\n\nAlso add crtbrand.o to crtbegin_so.o so that libraries also get\nthe note, and to the crt workaround in arm libc.so.\n\nChange-Id: Ica71942a6af4553b56978ceaa288b3f4c15ebfa2\n"
    },
    {
      "commit": "44e88db185cc65b49373dd76d8ed27264b7299ed",
      "tree": "03ec9aa6aa8e30da41b9f007532f2d2f53c3066e",
      "parents": [
        "bda85a12392b10555dc03ac377c8450b8f0790d6",
        "91b403cef62a5f1c727c3ed7395ea83852c4a2ab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 06 22:45:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 06 22:45:59 2015 +0000"
      },
      "message": "Merge \"Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs\""
    },
    {
      "commit": "91b403cef62a5f1c727c3ed7395ea83852c4a2ab",
      "tree": "d521eae49865dfdf00bbbb625ca1c52fef6862ef",
      "parents": [
        "5b869c0bbf8a2924ab69d86a98e9a25558d33494"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 06 14:16:17 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 06 14:16:17 2015 -0800"
      },
      "message": "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs\n\nChange-Id: If61d6faae5d91c3bbe198e733e5922cd877ba353\n"
    },
    {
      "commit": "6e54c3e519892ca13f15bdcea0d431befbadac25",
      "tree": "914bdd8c31ba4d8cd205fefb8f0b95669a425189",
      "parents": [
        "8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 12:05:34 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 12:05:34 2015 -0800"
      },
      "message": "Use the libcxxabi __cxa_demangle.\n\nBug: 18930951\nChange-Id: If2ea3633ac6dfd4ec975c0f16bdf3dd58e05c614\n"
    },
    {
      "commit": "da2c0a708ed6c0091f3f89fd8838292579dad800",
      "tree": "366ffdc2136629ea65b5086c3b3a1bbd3a582c14",
      "parents": [
        "17976019a13a94ae428849bfe297f8e531f95013",
        "5b869c0bbf8a2924ab69d86a98e9a25558d33494"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 05 01:57:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 01:57:28 2015 +0000"
      },
      "message": "Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680\n\n* changes:\n  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures\n  Fix typo in cpu variant makefile depenendency for arm64\n  Remove libc_static_common_src_files\n  Share LP32 makefile settings between arches\n"
    },
    {
      "commit": "5b869c0bbf8a2924ab69d86a98e9a25558d33494",
      "tree": "dd21061e073d1d6ea6549a353d63c7499cb0281f",
      "parents": [
        "a6b6ed5fe9dd247684de5f35a0367be65876339e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:40:29 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:40:29 2015 -0800"
      },
      "message": "Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures\n\nLOCAL_LDFLAGS_\u003carch\u003e was being set for arm64, mips64, and x86_64.\nUse LOCAL_LDFLAGS_64 instead.\n\nChange-Id: Ib87855e8a7783f82461b707fffa7f1663e6be9c8\n"
    },
    {
      "commit": "7dc502d01292f3303a5252ce20f80f621f4f15f5",
      "tree": "9190e89158198acffd7c69aa18fbdb3df8c78ce9",
      "parents": [
        "1742a32aea4108a8a967e8da2131de30c8808658"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:37:23 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:37:23 2015 -0800"
      },
      "message": "Remove libc_static_common_src_files\n\nlibc_static_common_src_files is never set after\nc3f114037dbf028896310609fd28cf2b3da99c4d, remove the remaining\nreferences to it.\n\nChange-Id: I66364a5c1b031ad69d608f6f44244049192944f6\n"
    },
    {
      "commit": "1742a32aea4108a8a967e8da2131de30c8808658",
      "tree": "2410fb404c8fad86685f79e1b867a37025744889",
      "parents": [
        "94335cc8e2f32638d9e38741ddabfd19a38e0840"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:35:49 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:35:49 2015 -0800"
      },
      "message": "Share LP32 makefile settings between arches\n\nAdd \u003cvar\u003e_32 to patch-up-arch-specific-flags, and move the LP32\ncruft varaibles from the 32-bit arch specific makefiles into the\ntop level Android.mk.\n\nChange-Id: Id3fcf6805d4af048c2524c94b1295416ebe7d057\n"
    },
    {
      "commit": "d80ec66121b5af96c6b3d07ba34353b3d517f5b3",
      "tree": "ac55af52647bb32468e477945a1da988778e9436",
      "parents": [
        "c57b5c5094f915ff975a256e086d58e2e7cfedf1",
        "3cbc6c627fe57c9a9783c52d148078f8d52f7b96"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Feb 02 22:03:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 22:03:41 2015 +0000"
      },
      "message": "Merge \"Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support\""
    },
    {
      "commit": "3cbc6c627fe57c9a9783c52d148078f8d52f7b96",
      "tree": "ea5b0dc49aaa16f25e2262cd5560070ae65923b9",
      "parents": [
        "21cdd22f035efd50902b7780fc6ea53bd1684357"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jan 31 19:57:46 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Feb 02 13:17:17 2015 -0800"
      },
      "message": "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support\n\nMany libc functions have an option to not follow symbolic\nlinks. This is useful to avoid security sensitive code\nfrom inadvertantly following attacker supplied symlinks\nand taking inappropriate action on files it shouldn\u0027t.\nFor example, open() has O_NOFOLLOW, chown() has\nlchown(), stat() has lstat(), etc.\n\nThere is no such equivalent function for chmod(), such as lchmod().\nTo address this, POSIX introduced fchmodat(AT_SYMLINK_NOFOLLOW),\nwhich is intended to provide a way to perform a chmod operation\nwhich doesn\u0027t follow symlinks.\n\nCurrently, the Linux kernel doesn\u0027t implement AT_SYMLINK_NOFOLLOW.\nIn GLIBC, attempting to use the AT_SYMLINK_NOFOLLOW flag causes\nfchmodat to return ENOTSUP. Details are in \"man fchmodat\".\n\nBionic currently differs from GLIBC in that AT_SYMLINK_NOFOLLOW\nis silently ignored and treated as if the flag wasn\u0027t present.\n\nThis patch provides a userspace implementation of\nAT_SYMLINK_NOFOLLOW for bionic. Using open(O_PATH | O_NOFOLLOW),\nwe can provide a way to atomically change the permissions on\nfiles without worrying about race conditions.\n\nAs part of this change, we add support for fchmod on O_PATH\nfile descriptors, because it\u0027s relatively straight forward\nand could be useful in the future.\n\nThe basic idea behind this implementation comes from\nhttps://sourceware.org/bugzilla/show_bug.cgi?id\u003d14578 , specifically\ncomment #10.\n\nChange-Id: I1eba0cdb2c509d9193ceecf28f13118188a3cfa7\n"
    },
    {
      "commit": "4674e3899afcc6b3ac8a48cdb716695d5489d26b",
      "tree": "b4dadb078646cbb46dd62a14c623b7e0d06619e3",
      "parents": [
        "ffbda83b302e3c3970135013d2bb92402e040fe5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 09:15:19 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 09:15:19 2015 -0800"
      },
      "message": "Fortify poll and ppoll.\n\nAnd remove the test for FD_ZERO fortification, which never made much\nsense anyway.\n\nChange-Id: Id1009c5298d461fa4722189e8ecaf22f0c529536\n"
    },
    {
      "commit": "76f8916b904db14facf811ae44e1265261349702",
      "tree": "cf49d5313eb0e5a05463dbe519de48d4fddf84a9",
      "parents": [
        "419ed122aa21cf04334f21baab135ac4f9f49840"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 26 13:34:58 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 26 14:28:41 2015 -0800"
      },
      "message": "Clean up \u003cstdlib.h\u003e slightly.\n\nInterestingly, this mostly involves cleaning up our implementation of\nvarious \u003cstring.h\u003e functions.\n\nChange-Id: Ifaef49b5cb997134f7bc0cc31bdac844bdb9e089\n"
    },
    {
      "commit": "247cfe03825f46e38371954d04fcb90a8b36c824",
      "tree": "cb138538b52c09d05ba131460ee18fb84a702efa",
      "parents": [
        "6eb5dc1d9c38ff8f717b70a2f66417c599aeb08c",
        "b8a8cf0d1a333401eae9c9e1d70b9c1b154ff9c9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 26 20:38:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 26 20:38:46 2015 +0000"
      },
      "message": "Merge \"Add \u003cerror.h\u003e.\""
    },
    {
      "commit": "b8a8cf0d1a333401eae9c9e1d70b9c1b154ff9c9",
      "tree": "1b6e04d81d4ab74f9928a79deeef386e689ae4a8",
      "parents": [
        "66eeec8e160feddc2b35c4ff9d20de92f37331dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jan 24 18:36:29 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 26 11:57:11 2015 -0800"
      },
      "message": "Add \u003cerror.h\u003e.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d79170\nChange-Id: Id91765fac45124545e2674a5b2c814707c1a448b\n"
    },
    {
      "commit": "6e9e6ad3bf831ed0b25ce2e6ce586a790044f8da",
      "tree": "221bb53388ba9fd0ddd5036dce1f41fbc2db0361",
      "parents": [
        "31005ca4c8562f3e6dfbed079eeaff8361ff8cdc"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sun Jan 25 14:27:51 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sun Jan 25 14:27:51 2015 -0800"
      },
      "message": "Fix coverage build after adding clang coverage.\n\nStatic libraries are painful. Details are in the comment. I\u0027ll try to\nget prebuilts in to the tree so I can fix this on Monday. Until then,\nthis isn\u0027t actually a regression because we\u0027ve not had coverage\navailable for this library until now anyway.\n\nBug: 17574078\nChange-Id: I7505c8a94007203e15a6cf192caa06004849d7d9\n"
    },
    {
      "commit": "9c3fd59b00d6f477b1a7f8611cb4f829d64aa7ea",
      "tree": "45d811b69e56a9ddd197d8a752629de47ac71cb2",
      "parents": [
        "d1668a71df761eb1644496f3e2c77c16fd54bb06"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 21 17:50:29 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 21 18:12:15 2015 -0800"
      },
      "message": "Add a basic NDK compatibility library.\n\nWe know we can safely statically link `libm`, since it doesn\u0027t have\nany dependencies on the OS or the layout of a data type that has\nchanged between releases (like `pthread_t`).\n\nWe can safely statically link `libc_syscalls` because the user can\ncheck for and handle `ENOSYS`.\n\nUpdate `ndk_missing_symbols.py` to account for symbols that are in the\ncompatibility library.\n\nImprove `symbols.py` to be able to pull symbols from a static library.\n\nChange-Id: Ifb0ede1e8b4a8f0f33865d9fed72fb8b4d443fbc\n"
    },
    {
      "commit": "8b5df3920f2843c9cdf04160517c1e8b77c992f5",
      "tree": "a0a678ee8f107e5c25f937f444a970a0539d2af7",
      "parents": [
        "2a8c929aaf8d34d2b6e89ed9c8b6da163316143e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 21 16:19:07 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 21 17:09:58 2015 -0800"
      },
      "message": "Turn on -Wold-style-cast and fix the errors.\n\nA couple of dodgy cases where we cast away const, but otherwise pretty boring.\n\nChange-Id: Ibc39ebd525377792b5911464be842121c20f03b9\n"
    },
    {
      "commit": "8885dcc779bceae5016d5ad96caa73465a7bab90",
      "tree": "9a5851adf9ffa5755ff2e99da04e6320fc581f99",
      "parents": [
        "927d8be76d956fcda630e1088e9b89eb31be5146"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 20 16:18:32 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 20 16:18:32 2015 -0800"
      },
      "message": "Add TEMP_FAILURE_RETRY to stdio\u0027s low-level read/write functions.\n\nThis is correctness rather than performance, but found while investigating\nperformance.\n\nBug: 18593728\nChange-Id: Idbdfed89d1931fcfae65db29d662108d4bbd9b65\n"
    },
    {
      "commit": "3f61f89b559551164b13441ff4ff02ed0718530a",
      "tree": "3130e20b674ca997f6e351b36d1ab90a9ee4a9d6",
      "parents": [
        "3f1c604c9df459f5baecfdc04cbe8ecda07b70eb"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 10 11:10:00 2014 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 10 11:10:00 2014 -0800"
      },
      "message": "Fix missing symbol for debug malloc.\n\nBug: 18686270\nChange-Id: I800a6f0940060218413df652d74aca91f6a339f8\n"
    },
    {
      "commit": "94926f8cfa0adf37c4e19256ade7261a97f72e51",
      "tree": "8c990320ebf445406d3d50be443db10cd58eee42",
      "parents": [
        "b033761cbf0e79ade9a8c956c2e63b42ee838183",
        "634816055f51c536d24dea30dfe930b7fe2fa603"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Dec 09 20:10:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 20:10:19 2014 +0000"
      },
      "message": "Merge \"support _POSIX_REALTIME_SIGNALS\""
    },
    {
      "commit": "634816055f51c536d24dea30dfe930b7fe2fa603",
      "tree": "5d3739b116df16774776010538254c10007c0a76",
      "parents": [
        "f64c43ba6c9244c50e904961dc432f04b1dfcfd9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Dec 01 17:41:04 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Dec 08 21:52:43 2014 -0800"
      },
      "message": "support _POSIX_REALTIME_SIGNALS\n\nBug: 18489947\nChange-Id: I2e834d68bc10ca5fc7ebde047b517a3074179475\n"
    },
    {
      "commit": "5afae64a1bac56638c6348f0c8f5e9d61b654029",
      "tree": "596b834f553f804c84a13615f30ff6ad67201303",
      "parents": [
        "230005c4bd3910ef974694f88d04e6f6a5a540b4"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 25 20:17:27 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Dec 04 11:01:28 2014 -0800"
      },
      "message": "implement posix_madvise\n\nBug: 18472477\nChange-Id: I8183de6c281acf69ed5f7f88351b056b9827b162\n"
    },
    {
      "commit": "20841a137beac5caa824e3586c7bd91d879ff92e",
      "tree": "3ccc88081ddcdbe9a4448c462eb16e971007f86e",
      "parents": [
        "5cd127d3aa4a2f225be202af01581838fdd3c721"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 01 16:13:30 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 02 14:22:02 2014 -0800"
      },
      "message": "Avoid pathological behavior in OpenBSD\u0027s fread.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d81155\nBug: 18556607\nChange-Id: Idc60976b79610e2202cc42dc393dcb4ca6c42e05\n"
    },
    {
      "commit": "d5c652756bb1a52959cd5c62447b62462f90f983",
      "tree": "8804bb959d8d66a5a8557683416c254f2fc98530",
      "parents": [
        "f64c43ba6c9244c50e904961dc432f04b1dfcfd9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 26 14:04:26 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 26 17:14:50 2014 -0800"
      },
      "message": "support _POSIX_CPUTIME\n\nBug: 18490039\nChange-Id: I01fa83b48e1b908de1f227b6e4f98e280bcd50ee\n"
    },
    {
      "commit": "2818279ace22fb854b00e668c224492c4dd072a4",
      "tree": "140347ce51972bf59c53cd9798ce97567d776dab",
      "parents": [
        "770198d3f707d5eccd6796f311015903aec31b26"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 21 19:25:27 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 21 19:27:28 2014 -0800"
      },
      "message": "Sync with upstream OpenBSD fts.c.\n\nChange-Id: Ia7e26b603f6461095b5a8d7e8a6cdf4f8279fa84\n"
    },
    {
      "commit": "bfbf7a4300ab5cd6334212f701e47ea449456048",
      "tree": "909f0faaaa23a394861672c95d271e8311df21d5",
      "parents": [
        "eef1eb64bb5be68bfb00f8e71d3118a2cfec99e7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 17 10:06:20 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 17 10:06:20 2014 -0800"
      },
      "message": "Remove remaining bionic support for TARGET_CPU_SMP being false.\n\nChange-Id: I02a0a1c0ae55ccb5c45d17fb99a09c374d71def4\n"
    },
    {
      "commit": "9d93986481b67a8135e57fc6400ca8c59f7375f6",
      "tree": "f73d192d6191ef495a63be7fc27130190ba9e79d",
      "parents": [
        "661423a453b2692d592df56307a876dfc35c50f2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 14 15:51:58 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 14 16:22:48 2014 -0800"
      },
      "message": "Add functions in sysinfo.h.\n\nBug: 17703902\n\nChange-Id: I699d12d76a8fc483c919be730c2ac63641b71a1d\n"
    },
    {
      "commit": "2f954bab2d524f6afed8a443c2a7ee32876db0fa",
      "tree": "7437b6e2e570e89df2b893f30d111e6b7acb3a1d",
      "parents": [
        "d94e7f0f1d95e0da73fca8d591fdb56b69d82653"
      ],
      "author": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Thu Oct 30 16:34:55 2014 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 12 12:07:33 2014 -0800"
      },
      "message": "gethostname.c: change to report ENAMETOOLONG error when buflen is less\n\nchange to behaviour the same as glibc for the check about buflen\n\nChange-Id: I98265a8fe441df6fed2527686f89b087364ca53d\nSigned-off-by: Yongqin Liu \u003cyongqin.liu@linaro.org\u003e\n"
    },
    {
      "commit": "b20c24456e43df430ec5626a68e5dc0dc6929344",
      "tree": "c9b85b4d913f8f2738bdc8772b9b9a21d6ab51dc",
      "parents": [
        "08a70184b42ef2963794a56233b0253e0b367253"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 06 15:04:08 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 06 15:52:22 2014 -0800"
      },
      "message": "Implement all the POSIX _l functions.\n\nStrictly speaking, this only implements the _l variants of the functions\nwe actually have. We\u0027re still missing nl_langinfo_l, for example, but we\ndon\u0027t have nl_langinfo either.\n\nChange-Id: Ie711c7b04e7b9100932a13f5a5d5b28847eb4c12\n"
    },
    {
      "commit": "274afe8f0eab4139c94d5f8b1ee3d267f449ef42",
      "tree": "9424b40a8247c264e489358ce007b3ff4176d868",
      "parents": [
        "39ba30354a3890dd653ab55819d38eed3855edaa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 06 12:40:08 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 06 14:14:37 2014 -0800"
      },
      "message": "Add POSIX lcong48.\n\nChange-Id: I821046816661d77275cb02c8c99d526bb41afb9c\n"
    },
    {
      "commit": "dc6599e20f6a2a82c35533fba36d16fd43c53273",
      "tree": "cee1bf160dc3d5d0b1712126a6187325e24efd35",
      "parents": [
        "695781b6f0419f82939176a6ec1a240300d9f036"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Nov 04 12:09:35 2014 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Nov 04 12:09:35 2014 -0800"
      },
      "message": "Fix warning of missing field initializer.\n\nBUG: 18241135\nChange-Id: I91304eb608bc3336ce5fcd5744fbe080d64f1cc2\n"
    },
    {
      "commit": "6a03abcfd23f31d1df06eb0059830e22621282bb",
      "tree": "7a6a1e6ee2ece560d31580c662060bda3d2d004b",
      "parents": [
        "38ff8822763a30d4c9033a38ec8b71fcd17aba87"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 03 12:32:17 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 03 12:32:17 2014 -0800"
      },
      "message": "Ensure we initialize stdin/stdout/stderr\u0027s recursive mutexes.\n\nBug: 18208568\nChange-Id: I9da16ce0f9375bc363d1d02be706d73fd3b1e150\n"
    },
    {
      "commit": "ad136624b2bed5b6971cd7ba372969b1b352c223",
      "tree": "c584b5d30181173ea9ecbcc440034afb5d86add6",
      "parents": [
        "8f41d3d3bc7cf2375e5dd9202da619fd67a5928f",
        "5ba672ebcb0bbb77f22bbc6c98ec03867ac1711d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 21 18:28:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 21 18:28:19 2014 +0000"
      },
      "message": "Merge \"Never use ASAN.\""
    },
    {
      "commit": "5ba672ebcb0bbb77f22bbc6c98ec03867ac1711d",
      "tree": "3b7a40ebe95c90eb96c914d43dba854df2f978e8",
      "parents": [
        "dec4de456c046881fb1e8c7c7d0c27a11ef09eb7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 17 10:33:25 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 21 11:22:26 2014 -0700"
      },
      "message": "Never use ASAN.\n\nUnless we completely redo how we build bionic (so that the object\nfiles for libc.so get built separately from libc.a), we can\u0027t enable\nASAN here, as libc.a gets linked into static executables.\n\nChange-Id: I2ce4f51248bd51c4213a555ff481b6faabbf53f8\n"
    },
    {
      "commit": "a371750681a84c8f0445fa041e817582e12c125f",
      "tree": "14fd4426eace2605998c406e4198d9b42154e1af",
      "parents": [
        "dec4de456c046881fb1e8c7c7d0c27a11ef09eb7"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 17 16:27:03 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 20 09:09:25 2014 -0700"
      },
      "message": "Add -no-integrated-as at local level.\n\nLater we will enable integrated-as as default at the global level.\n\nBUG: 17820427\nBUG: 17302991\nChange-Id: I233204ca04d7222b2cb1fbd0fa48a482f8b63f6f\n"
    },
    {
      "commit": "71cbcdcf947835076241b9dd72099f28997eb290",
      "tree": "317de945eec3c17acc227524704b6b5a2795d0bc",
      "parents": [
        "97df16ba5c2911e06d1211781a5724706abd227b",
        "a7c2e0bad678280b9d76eacdb50b1361ab0849ff"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 15 19:59:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 15 19:59:09 2014 +0000"
      },
      "message": "Merge \"We don\u0027t actually need all of libc++ here.\""
    },
    {
      "commit": "a7c2e0bad678280b9d76eacdb50b1361ab0849ff",
      "tree": "c114f08a4fe4110a1b3d28c6c191d25e15bae760",
      "parents": [
        "083769a3dffabfb968a03a700b9f2fd7838bcf75"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 14 14:19:34 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 14 14:19:34 2014 -0700"
      },
      "message": "We don\u0027t actually need all of libc++ here.\n\nAll we\u0027re actually interested in is the unwinder. Since that\u0027s now a\nseparate library, just use that.\n\nChange-Id: If86071a0d850da961336a58147b70369ace7bd12\n"
    },
    {
      "commit": "18160256840e9bb097f17422ea47d54fabbc9f3f",
      "tree": "9e214fedefed00a66099d8cc9abab4dd68cbec80",
      "parents": [
        "c229705051c8b6a06ad81c221ca74ef9aa743e13"
      ],
      "author": {
        "name": "Haruki Hasegawa",
        "email": "h6a.h4i.0@gmail.com",
        "time": "Mon Oct 13 00:50:47 2014 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 13 17:04:10 2014 -0700"
      },
      "message": "Add clock_settime and clock_nanosleep.\n\nAdd the missing prototypes, fix the existing prototypes to use clockid_t\nrather than int, fix clock_nanosleep\u0027s failure behavior, and add simple\ntests.\n\nBug: 17644443\nBug: https://code.google.com/p/android/issues/detail?id\u003d77372\nChange-Id: I03fba369939403918abcabae9551a7123953d780\nSigned-off-by: Haruki Hasegawa \u003ch6a.h4i.0@gmail.com\u003e\n"
    },
    {
      "commit": "90a29db0f4a0893bdbd12f656d8869bb79ec3900",
      "tree": "16980c42c09868288e97d383ccbd0bd7e1b3adf5",
      "parents": [
        "4c0862474e63b09c901d11de47a318ce73a0c686"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 13 11:20:29 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 13 11:20:29 2014 -0700"
      },
      "message": "Use LOCAL_CXX_STL to select libc++_static.\n\nDirectly adding the library to LOCAL_STATIC_LIBRARIES thwarts a few\nbuild system checks.\n\nChange-Id: Ib23c43badfa85de21c691f79ccdcc2cbe2a89b33\n"
    },
    {
      "commit": "188d093993b3330b3c22437af8f22352f72ce64b",
      "tree": "9232fecb6c3cdc222fb3629011eabe9fe2f974f0",
      "parents": [
        "7ca5c4b99b308550e34e185ed632b8a5ad5341ee"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Sep 27 09:22:07 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Sep 27 09:22:07 2014 -0700"
      },
      "message": "Static libc++ is being renamed libc++_static.\n\nChange-Id: I1596110e4ed7e8f9ab9e2605dfcd9fd0489ca0d1\n"
    },
    {
      "commit": "5a69da8d7af6a388a4ad5b3dd619017b0030031a",
      "tree": "0d5e4cbbb4c74d7714f49a7b5de28c563ee9561b",
      "parents": [
        "f05410edc634040f96643b8f378320faddfef423"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 24 11:14:36 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 24 11:14:36 2014 -0700"
      },
      "message": "Switch to OpenBSD fopen/fclose.\n\nThis means all our stdio implementation is now the OpenBSD implementation.\nThe only thing we lose is the STDIO_THREAD_LOCK calls but they were no-ops\nanyway.\n\nWe should probably talk to upstream about this. Either fix the locking or,\npreferably, encourage them to move away from this pooling (especially since\nthere\u0027s no eviction policy).\n\nBug: 17154680\nChange-Id: Ie2523e444a7d0965b8d141d57e3e11f6432d5b9a\n"
    },
    {
      "commit": "f05410edc634040f96643b8f378320faddfef423",
      "tree": "7956d2050b75aab1d5467566af4718ed7f81f3d5",
      "parents": [
        "21db6ff108a8df43582bf2ca0d7d6c925f26b5e5",
        "c08c25b4c9bdd95bfbda56a8c21f51b88c8a692e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 24 17:48:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 24 17:48:59 2014 +0000"
      },
      "message": "Merge \"Sync with upstream findfp.c.\""
    },
    {
      "commit": "c08c25b4c9bdd95bfbda56a8c21f51b88c8a692e",
      "tree": "815a82fa0236c4f5c068ceb97c058bca1c639c57",
      "parents": [
        "fc5a93f7a2ea2be740f2c909e8a6a192fa65adc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 24 10:27:09 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 24 10:32:30 2014 -0700"
      },
      "message": "Sync with upstream findfp.c.\n\nChange-Id: Ib298f46de0c4d0fd4ce0a9b456c163e8b8b06342\n"
    },
    {
      "commit": "21db6ff108a8df43582bf2ca0d7d6c925f26b5e5",
      "tree": "d1b60af5ad4a179e84e5b13c600a47a944a98d45",
      "parents": [
        "4a6e71100e9c99b90b517be5a8e1c21616772d16",
        "c2d39088d8c6f621dbde0410a1fc24b9f9e7f824"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 24 17:28:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 24 17:28:04 2014 +0000"
      },
      "message": "Merge \"Coverage configs for bionic.\""
    },
    {
      "commit": "c2d39088d8c6f621dbde0410a1fc24b9f9e7f824",
      "tree": "d18e5fd7898093b9f511922114c3c1ebba205d7c",
      "parents": [
        "9a05e3818ada1304a33d66d53c270b532c9111b8"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 23 10:44:01 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 24 10:26:41 2014 -0700"
      },
      "message": "Coverage configs for bionic.\n\nBug: 17553780\nChange-Id: Iee7d0c210e2379e71e0c1e4e7058bce23f61e8cd\n"
    },
    {
      "commit": "a71b4c3f144a516826e8ac5b262099b920c49ce0",
      "tree": "e08cf9b42a597024264767fb9588bc0d8d3c4d4c",
      "parents": [
        "c57e5c828914714a283dd41f0a4adb064f6b8763"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 20:02:42 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 20:02:42 2014 -0700"
      },
      "message": "Switch to OpenBSD flags.c.\n\nChange-Id: I0a35e5bd9f8edba27e0c73e5c8150636346d6a81\n"
    },
    {
      "commit": "49eed7db79bd2664a2a13552ad81d445c93ba462",
      "tree": "5aed7a53313e7832097542e538d829ae4c1fd34a",
      "parents": [
        "93951cfa96c3c7504a78f94e7ec408936e5db9bf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 14:06:56 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 14:06:56 2014 -0700"
      },
      "message": "Switch to OpenBSD insque/remque/killpg.\n\nChange-Id: Ie02290ad3187b1c1596dd776fd1c8a743a55f7ef\n"
    },
    {
      "commit": "a186b2e0ca19620a52b4a49c17835532d13eb30a",
      "tree": "41b878b00d0277df342c64648603372ba4f1b9dc",
      "parents": [
        "9f423c554a0ffcee2e34472bf0bc1aef3621a822"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 22 14:49:07 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 22 22:49:40 2014 +0000"
      },
      "message": "Clean up fpathconf(3)/pathconf(3).\n\nfpathconf(3) and pathconf(3) can share code. There\u0027s no such\nheader file as \u003cpathconf.h\u003e. glibc/POSIX and BSD disagree about where\nthe _POSIX_* definitions should go.\n\nChange-Id: I4a67f1595c9f5fbb26700a131178eedebd6bf712"
    },
    {
      "commit": "413de5b0d4ddcf039aaef8b40a5f02d41dbb06e6",
      "tree": "2c87eebd41e90bf014261a6550e19248678056a5",
      "parents": [
        "e716044918d85cd3c34425779a09a24348f7f67a",
        "04303f5a8ab9a992f3671d46b6ee2171582cbd61"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Sep 20 01:34:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 20 01:34:11 2014 +0000"
      },
      "message": "Merge \"Add semaphore tests, fix sem_destroy.\""
    },
    {
      "commit": "04303f5a8ab9a992f3671d46b6ee2171582cbd61",
      "tree": "98d3997d33e93eeb91a2c2f331b57f35c180cbb2",
      "parents": [
        "adc01348ee51a4ad678b1c277f85cbbed5c2e728"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 18 16:11:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 19 17:37:06 2014 -0700"
      },
      "message": "Add semaphore tests, fix sem_destroy.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d76088\nChange-Id: I4a0561b23e90312384d40a1c804ca64ee98f4066\n"
    },
    {
      "commit": "6fe376d3925a788f60fd44280b00008af60b9334",
      "tree": "bafa878bb6eb896175fb11aa7ea851744c44e041",
      "parents": [
        "adc01348ee51a4ad678b1c277f85cbbed5c2e728"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 19 12:26:09 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 19 17:15:12 2014 -0700"
      },
      "message": "Remove references to MALLOC_LEAK_CHECK.\n\nThis define isn\u0027t really used any more.\n\nBug: 17378595\nChange-Id: I39722b83cd98955a3a2514577de34a239524617f\n"
    },
    {
      "commit": "3ec67de0513c1d7e5f41f7f17e8251122a0cc9d2",
      "tree": "638e7c37b25a173771a85133388ed083e15a52ff",
      "parents": [
        "36a5aa057cf1738577754a3fc16a14a5f817109f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 16 10:10:25 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 17 14:22:36 2014 -0700"
      },
      "message": "Exclude libstdc++ from linked libraries.\n\nAlso explicitly add libstdc++ includes for necessary targets.\n\nChange-Id: If712ba0ae7908d8147a69e29da5c453a183d6540\n"
    },
    {
      "commit": "7c02d9428ca18ac600f7ba7d51bb24ca71e733f6",
      "tree": "a773c043170cab95b9a9a9220e33dd81dddcedf3",
      "parents": [
        "17cc8e539a578184662c1966a60f37c7d4fed65e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 16 19:06:31 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 16 19:06:31 2014 -0700"
      },
      "message": "Clean up the architecture-specific makefiles.\n\nGroup things appropriately and name each group.\n\nChange-Id: I0da45eb0ccde19c31d5e984d0e6eb3dad26630dc\n"
    },
    {
      "commit": "66bbf1595c0fc25d4bc47457d8020b11e135996d",
      "tree": "9464625e75da5be80863865837e5f04be8f618c1",
      "parents": [
        "8d8a789c49ffb6b71e4b8f34df937cfaaff86e40",
        "d9ff7226613014056c9edd79a68dc5af939107a0"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 12 16:50:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 12 16:50:05 2014 +0000"
      },
      "message": "Merge \"Refactoring: C++11 style DISABLE_ bionic marcos\""
    },
    {
      "commit": "a4831cb4a3f44b93788488db8ff9ea76613f0355",
      "tree": "eaa225c537d468307739bc48bbc86e241ada58e0",
      "parents": [
        "ea66004c4a051e40c49314d808e7359634f6c641"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 11 16:11:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 11 16:22:50 2014 -0700"
      },
      "message": "Add pthread_gettid_np and re-expose __get_thread for LP32.\n\nA lot of third-party code calls the private __get_thread symbol,\noften as part of a backport of bionic\u0027s pthread_rwlock implementation.\nHopefully this will go away for LP64 (since you\u0027re guaranteed the\nreal implementation there), but there are still APIs that take a tid\nand no way to convert between a pthread_t and a tid. pthread_gettid_np\nis a public API for that. To aid the transition, make __get_thread\navailable again for LP32.\n\n(cherry-pick of 27efc48814b8153c55cbcd0af5d9add824816e69.)\n\nBug: 14079438\nChange-Id: I43fabc7f1918250d31d4665ffa4ca352d0dbeac1\n"
    },
    {
      "commit": "b587f339db269abf08a2c311a7263dd218cb23d3",
      "tree": "18fd8a53623d63cae5e98d5aeb59a8aefaa853c2",
      "parents": [
        "c71483c0b38a6b4f2675f0bffa221dcf175c34ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 10 17:39:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 11 08:45:46 2014 -0700"
      },
      "message": "Add posix_fadvise(3).\n\n(cherry-pick of 00008263782e484020420c606f7d145fe7d0a4d8.)\n\nBug: 12449798\nChange-Id: I07cbf3f670a0d1304b68148325a774f266b5c433\n"
    },
    {
      "commit": "d9ff7226613014056c9edd79a68dc5af939107a0",
      "tree": "9866b50193d3886937a4ea13a5c3f88de7600f20",
      "parents": [
        "3c3624f3df14590e7213d35c3b39a0a11c7d2d34"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Sep 08 16:22:22 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Sep 08 17:51:31 2014 -0700"
      },
      "message": "Refactoring: C++11 style DISABLE_ bionic marcos\n\n  Enable the -std\u003dgnu++11 flag for libstdc++ static and\n  dynamic libs.\n\n  ScopeGuard uses DISABLE_ macros instead of \u0027\u003d delete\u0027;\n\nChange-Id: I07e21b306f95fffd49345f7fa136cfdac61e0225\n"
    },
    {
      "commit": "b58db8b083ce41798a5310616e4f20885cec611f",
      "tree": "a212c19cb9f002c2c3db54a67c1691f208cee6c6",
      "parents": [
        "05f0bfd6c56746aa4f737804ebb62b555dc0d921"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 04 15:19:52 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Sep 05 11:18:35 2014 -0700"
      },
      "message": "Enable clang compilation with libc but not linker.\n\nClang is still disabled for x86 and x86_64 long double code,\nfor x86_64 special assembly instruction, and the linker module.\n\nBUG: 17163651\nBUG: 17302991\nBUG: 17403674\nChange-Id: I43c5f5f0ddc0c2a31918f00b57150dadd8f3f26b\n"
    },
    {
      "commit": "b78e60e7b7de02fed474f170c5c7a8f78f5a0e5c",
      "tree": "fa011d1a2df98f7f785e35d177a05b2e285c46b1",
      "parents": [
        "cb322a116804a690fdde6096d7efef4819151ad9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 26 15:47:42 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 27 13:13:21 2014 -0700"
      },
      "message": "Use the default unwind code.\n\nThis speeds up the debug malloc code by using the original unwinding code.\nThe only catch is that it has to link in the libc++ arm unwind code or\nthere will be crashes when attempting to unwind through libc++ compiled\ncode.\n\nBug: 16874447\n\n(cherry picked from commit 3f7635f4906c53fa744731efc35235456b7d93bf)\n\nChange-Id: If8a3821cdd95ed481bb496bf2daab449d13790f8\n"
    },
    {
      "commit": "cc7e5f489f02ceee46e315af4f78559d3ad6c962",
      "tree": "12570a31f29ae6c565b1f993d54a95e5a00105b0",
      "parents": [
        "6bfcefe02f8fbeec1f6790bd5ebb1fdd5dba1e33"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 17:00:37 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 17:00:37 2014 -0700"
      },
      "message": "Switch to OpenBSD \u003cerr.h\u003e implementation.\n\nChange-Id: Ia950d88871a30f68e74f9ac7dbd87788e128e02f\n"
    },
    {
      "commit": "e5055179fd92ae243741d778426e1da03539165f",
      "tree": "94559041a074a70fa311673de48be96884fa60d4",
      "parents": [
        "7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:25:19 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:25:19 2014 -0700"
      },
      "message": "Switch to OpenBSD daemon(3).\n\nChange-Id: I1fd0be09fdb24aa6f1d945410eba5987f8a949b4\n"
    },
    {
      "commit": "7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce",
      "tree": "0f965d4d7703ab74f2460ad2cba5dc018612d57a",
      "parents": [
        "59de803af98a284378303489f614be3e53800b3f",
        "0f7d882bb7661f9601f3843b0e393b6155cd9571"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 23:18:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 23:18:04 2014 +0000"
      },
      "message": "Merge \"Switch to OpenBSD res_random.\""
    },
    {
      "commit": "4caa1f09770ea3e5ca22afbe8aa0900810a0dbfe",
      "tree": "2bda183c2c930871e73486ea3e9c54e80e500f95",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 20 09:16:57 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 10:23:12 2014 -0700"
      },
      "message": "Implement malloc_info(3).\n\nExpose jemalloc stats through the malloc_info(3) interface.\n\nBug: 16874689\nChange-Id: I4358ac283002e60ff161107028d1a3fb1e9afb0a\n"
    },
    {
      "commit": "6b841db2baa24ffcf2a4e5f975d1d07f1699b918",
      "tree": "af58fa1f4b5fa777f47e9ef797c50cff964b7046",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 16:10:49 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 17:03:46 2014 -0700"
      },
      "message": "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.\n\nBug: 17164505\nChange-Id: I59e28a08ff8b6ab632230b11a5807cfd5278aeb5\n"
    },
    {
      "commit": "2b021e10664c3938249eb18b48eeac253cbb3e20",
      "tree": "31772908fbc1209095bbe668887809eff2fd60fd",
      "parents": [
        "b61c50647b85b3c33af8ca155e88ec098d9e8cb0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 17:00:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 10:23:52 2014 -0700"
      },
      "message": "Add \u003cstdio_ext.h\u003e for elfutils.\n\nBug: 17139679\nChange-Id: I1605ac382dbb6f23b2d874dbb9769f3cde4a6a99\n"
    },
    {
      "commit": "09c39d6df0e952620f8c1751377b559a04e023aa",
      "tree": "1ca25e04d3ed7ebea1dde6f4d3baaeee9526c0e5",
      "parents": [
        "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 14:30:30 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 14:30:30 2014 -0700"
      },
      "message": "Implement the GNU basename(3) in addition to the POSIX one.\n\nCode like perf(1) needs this.\n\nBug: 11860789\nChange-Id: I907eb448052a7b165e4012d74303330d32328cb2\n"
    },
    {
      "commit": "fd5ee9aebc0a43c7f36a0778c7f416b39ddb870e",
      "tree": "bfbf039f3d95eeb4be2da89a325317e422fcc383",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 15 14:20:04 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 12:01:01 2014 -0700"
      },
      "message": "Hide C++ stuff in libc. Put it back in libstdc++.\n\nBug: 17062445\nChange-Id: I027b186719654c2865b08c3fa83f90fa00c1e838\n"
    },
    {
      "commit": "891ec7a6e46e60d7dfa1cf229e14a8e8634e272b",
      "tree": "3496b926a7bb7243f3e2e3e2f6c37fb24276f4d0",
      "parents": [
        "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 15:43:25 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 22:50:45 2014 +0000"
      },
      "message": "Move mtctxres.c to libc_dns.a.\n\nHas the effect of making ___mtctxres hidden.\n\nBug: 17007799\nChange-Id: I5aa5f49344ad5ecb33f48737430561b329bcbb0d"
    },
    {
      "commit": "9eae8405e8f70e489f2fe350a0212ab8114cbd17",
      "tree": "f8ea39de4693eeadc5ad8505e36f8362b870d508",
      "parents": [
        "a7ef8188e24446d41c5abbe9addf55cc6a128968"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 05 14:46:03 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 05 14:46:03 2014 -0700"
      },
      "message": "Fixes build.\n\nThis change somehow went missing from the vfork change.\n\nChange-Id: I807a2072080eac20601c694e85ba5723220289d8\n"
    },
    {
      "commit": "861c0ef37bcfcae56d88572cb01c18bcfe1faded",
      "tree": "f63fc703a50b23213537962e4f60519f8b34db47",
      "parents": [
        "a7dc7600fe1be1f3fd61856b407bb7065307e711"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 24 17:52:23 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 29 18:10:00 2014 -0700"
      },
      "message": "Use libunwindbacktrace for debug malloc code.\n\nCreate a method of disabling the debug allocation code paths so that\nit\u0027s possible to use the libunwindbacktrace library without any\nmodifications.\n\nUse this path to create and destroy the maps for the process. It\u0027s not\nstricly necessary in the init code since the symbols are not modified\nuntil after the initialize calls.\n\nAlso, remove the debug_XXX source files that doesn\u0027t need to be in libc.so.\n\nFix the maps reading code since it was completely broken for 64 bit.\n\nBug: 16408686\n\nChange-Id: I6b02ef6ce26fdb7a59ad1029e7cbba9accceb704\n"
    },
    {
      "commit": "a7dc7600fe1be1f3fd61856b407bb7065307e711",
      "tree": "e9255c5f3358a393b7cdc56d7709a4970bb9d5d0",
      "parents": [
        "52f8271fa9fd3f84849465f3c978580fbed866c1",
        "4916706cfe590eb06c9b5bd4bd402ce056034d51"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 29 17:43:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"Fix linkage of grantpt(3).\""
    },
    {
      "commit": "4916706cfe590eb06c9b5bd4bd402ce056034d51",
      "tree": "75e0434f53123a7f34ffb405b84899bbacc80b38",
      "parents": [
        "50a9630cc26cbc1e38e3ddc589f04fa5cd91697b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 17:24:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 19:55:23 2014 -0700"
      },
      "message": "Fix linkage of grantpt(3).\n\nAlso clean up the implementation of all the pty functions, add tests,\nand fix the stub implementations of ttyname(3) and ttyname_r(3).\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58888\nChange-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2\n"
    },
    {
      "commit": "a406ee6d5f616192e9a13afad6ac6a9969814fc1",
      "tree": "bc9d1575ddacb246d49109367b6151732fbfe19e",
      "parents": [
        "337c0cefdc4667143a1f4f2c30113b452c5d188f"
      ],
      "author": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Mon Jul 21 15:38:06 2014 -0700"
      },
      "committer": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Mon Jul 28 19:38:08 2014 -0700"
      },
      "message": "Added a bionic systrace class and tracing to pthread_mutex.cpp.\n\nbionic_systrace.h contains an implementation of tracing that\ncan be used with systrace.py and its associated viewer.  pthread_mutex\nnow uses this tracing to track pthread_mutex contention, which can be\nenabled by using the \"bionic\" command line option to systrace.\n\nBug: 15116468\nChange-Id: I30ed5b377c91ca4c36568a0e647ddf95d4e4a61a\n"
    },
    {
      "commit": "3e424d0a241f8ae5194514dabc4ad899f5a5416d",
      "tree": "b206a209b235ba16e560b514766853c1ac908c22",
      "parents": [
        "467e49be70231f55bd7ba908407b4413294d3bfc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 23 16:02:26 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 14:55:29 2014 -0700"
      },
      "message": "Implement twalk(3), add unit tests.\n\nI\u0027ve also added insque(3) and remque(3) (from NetBSD because the OpenBSD\nones are currently broken for non-circular lists).\n\nI\u0027ve not added the three hash table functions that should be in this header\nbecause they operate on a single global hash table and thus aren\u0027t likely\nto be useful.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d73719\nChange-Id: I97397a7b921e2e860fd9c8032cafd9097380498a\n"
    },
    {
      "commit": "0f7d882bb7661f9601f3843b0e393b6155cd9571",
      "tree": "223bf8cf085420b06aefb3d8fb3ef0b4bef97e85",
      "parents": [
        "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 15:31:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 15:31:53 2014 -0700"
      },
      "message": "Switch to OpenBSD res_random.\n\nChange-Id: Ia971d647832893e9bb4601697132a105524d2f96\n"
    },
    {
      "commit": "4d421901e587fd1563da94baf59b015017c01b91",
      "tree": "bc8d44e08bfb7cca6a7f1edd86930d8c62fcade4",
      "parents": [
        "925d388e24945afb17f66d5c132f993e6a0d4fee",
        "2b67d7dee09852789d9ac7d8972ed6cdb2c18430"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 22 01:59:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 21 15:45:37 2014 +0000"
      },
      "message": "Merge \"Use upstream OpenBSD\u0027s arc4random.\""
    },
    {
      "commit": "2b67d7dee09852789d9ac7d8972ed6cdb2c18430",
      "tree": "a9a5165ceb108943a62dd251c2aeeccd2f96ae23",
      "parents": [
        "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 18 15:57:41 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 14:38:16 2014 -0700"
      },
      "message": "Use upstream OpenBSD\u0027s arc4random.\n\nThe getentropy_linux.c is lightly modified to build on Android, but we\u0027re now\ncompletely in sync with upstream OpenBSD\u0027s arc4random implementation.\n\nChange-Id: If32229fc28aba908035fb38703190d41ddcabc95\n"
    },
    {
      "commit": "3ad8ecb64e9dd5614169232b84a93eb3b8aa32d7",
      "tree": "f756f624e7cc5bb019465444881deb6ffbc2dfe6",
      "parents": [
        "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 16:35:24 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 16:56:48 2014 -0700"
      },
      "message": "Rewrite syslog(3) to use Android logging.\n\nSince we don\u0027t have syslogd on Android and you can\u0027t run one on a non-rooted\ndevice, it\u0027s more useful if syslog output just goes to the regular Android\nlogging system.\n\nBug: 14292866\nChange-Id: Icee7f088b97f88ccbdaf471b98cbac7f19f9210a\n"
    },
    {
      "commit": "d7453860a6b06e7d4a960c20792ce6f0b6cc5f3a",
      "tree": "eb16bdf461a93257bf1f16a7e7eabb36f52a4e46",
      "parents": [
        "43363ab7202a935e12cf6a38d32a48433bdc3705"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 14:26:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 14:26:33 2014 -0700"
      },
      "message": "Remove non-standard prctl constants from \u003csys/prctl.h\u003e.\n\nAlso remove __bionic_name_mem which has exactly one caller, and is only\never expected to be used in this one place.\n\nChange-Id: I833744f91e887639f5b2d1269f966ee9032af207\n"
    },
    {
      "commit": "625993dfbb085a3cde7492eda8ec1cdc1ee39a78",
      "tree": "4385fee1dde6d90f42c616a2afc6766824f72835",
      "parents": [
        "770d0f6177ca1ad242b509151fb612f07ef8a07b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 15 16:53:13 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 16 14:27:43 2014 -0700"
      },
      "message": "Use VDSO for clock_gettime(2) and gettimeofday(2).\n\nBug: 15387103\nChange-Id: Ifc3608ea65060c1dc38120b10b6e79874f182a36\n"
    },
    {
      "commit": "673bff01aed0c08991b98841ed0bfad78a589672",
      "tree": "9d97ebd099e97d25702dc44d5861a22e8c6bb263",
      "parents": [
        "4ae938698c89e9e3c79008d9a833db726779accd",
        "76c241b091b4d9d9a9237d40e814e52ce2917f47"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 19:19:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 14 17:20:33 2014 +0000"
      },
      "message": "Merge \"Implement rand/srand in terms of random/srandom.\""
    },
    {
      "commit": "76c241b091b4d9d9a9237d40e814e52ce2917f47",
      "tree": "fb7139355285a3b9efcabd6009b8f2d36024a9fe",
      "parents": [
        "83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 11:57:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 12:02:22 2014 -0700"
      },
      "message": "Implement rand/srand in terms of random/srandom.\n\nCode developed for glibc or older versions of bionic might expect more\nrandomness than the BSD implementation provides.\n\nBug: 15829381\nChange-Id: Ia5a908a816e0a5f0639f514107a6384a51ec157e\n"
    },
    {
      "commit": "4ae938698c89e9e3c79008d9a833db726779accd",
      "tree": "1f7f3c3e8c2e1042263cd03b3016518bcd8e84e8",
      "parents": [
        "91f2074e5f4e475d7c88d9cdaeb7dcdc9d9ff882",
        "4f0b67a8dbf0e1d8b1dae42358553fb8d14456d4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 19:15:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 14 17:15:23 2014 +0000"
      },
      "message": "Merge \"Sync upstream-openbsd.\""
    },
    {
      "commit": "4f0b67a8dbf0e1d8b1dae42358553fb8d14456d4",
      "tree": "3c6403a39b402071fe1757014b57a7d898012450",
      "parents": [
        "83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 11:22:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 11:22:59 2014 -0700"
      },
      "message": "Sync upstream-openbsd.\n\nChange-Id: I5b9961a57e2ff05f63bd218c130bf8347850b9be\n"
    },
    {
      "commit": "53c3c271dc9927dd280981fc23409af60f460007",
      "tree": "4a04122167583b9994204372bbc549a8174b9611",
      "parents": [
        "83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 11 12:59:16 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Jul 14 12:05:16 2014 -0700"
      },
      "message": "Upstream atexit\n\nChange-Id: Ia454a2181b5058ed9783dc02b6b1805d0e4d2715\n"
    },
    {
      "commit": "8e32b7b3543eadbb58a92443fb57d60aac92ef88",
      "tree": "1020766b7e8d6f930fa671174dbd733b9e810f7c",
      "parents": [
        "c6bc001776931fd1c8583df2b8948dcb8bf61007"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 10 18:53:41 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 11:01:30 2014 -0700"
      },
      "message": "Make jemalloc the default choice.\n\nChange-Id: I5ff0cf0c396b7ae6278e6fcd5a0d50f8b966fb54\n"
    },
    {
      "commit": "040e11877d19f2fdd7a9c730d33056e88f43a760",
      "tree": "050b7272ba95c8a847861dbd86c0ae0056979a23",
      "parents": [
        "37f09d6d2ea329984a3182b99a38f170dc86661d",
        "c999f76977d2389a3e2dcbdd98f20d93c3193727"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 11 16:51:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 11 16:35:27 2014 +0000"
      },
      "message": "Merge \"Enable building libc with clang.\""
    },
    {
      "commit": "c999f76977d2389a3e2dcbdd98f20d93c3193727",
      "tree": "1c0984520a7556a20f5b01912732560c0fd3c5ba",
      "parents": [
        "9b491470ac65a11775e52631ef5e655af9eb2a85"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 16:57:27 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 11 09:28:53 2014 -0700"
      },
      "message": "Enable building libc with clang.\n\nBug: 16218205\nChange-Id: I024de2044fe016412c7bead22c264e96be4cb39c\n"
    },
    {
      "commit": "dfb5ce42bcc5a275af49211c0bbe64c5ec3d2668",
      "tree": "4ff3d2f96f0c5e00edac99cd86119f2ecc5cfa73",
      "parents": [
        "76df69d1f5cbbc8a2c1e899bc1ad5ada8b083e1e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 09 22:51:34 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 11 16:21:31 2014 +0000"
      },
      "message": "Revert \"Revert \"Add locale aware APIs.\"\"\n\nThis reverts commit 063e20c26943ec82ef1d53a544545e79054e93d3.\n\nChange-Id: Ib8c9004efefe75a5346b3af50dfe37952d91eb21\n"
    },
    {
      "commit": "f8408c58fa61540d8b6b5afec4246284482d89c2",
      "tree": "98f7474693249a59c68493f9e3adb13179066d15",
      "parents": [
        "e95d0fc34cc3f6ef658c6470ffe4b59fbbc978b5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 10 12:47:13 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 10 12:47:13 2014 +0100"
      },
      "message": "Move __cmsg_nxthdr to its proper file.\n\nChange-Id: I095fb6bc5318f2d256baa97658bdfe679d235aec\n"
    },
    {
      "commit": "dda1c6c466c4f31de31d76c8be7e46c16b4b4209",
      "tree": "33df23032fdd6451750acc4f87ea0e298d2cee5b",
      "parents": [
        "4c199170a84e725a56b7d40c113c9d76a75d89ab"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 09 17:16:07 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 09 21:27:15 2014 -0700"
      },
      "message": "Do not include libc_common in malloc debug code.\n\nThe inclusion of the static libc_common library in the malloc_debug_XXX.so\nshared libraries causes constructors to be called twice. This doesn\u0027t seem\nto have caused any issues when setting the libc.debug.malloc property.\nHowever, jemalloc crashes because there are two jemalloc implementations,\none in the static libc_common library and one in the shared library. Each\nimplementation has created overlapping thread keys that are not the same.\nThe crash comes because one of the jemalloc keys is actually used by the\nlocale setting code. Thus if someone sets the locale, the jemalloc code\ncrashes trying to access the same key.\n\nChange-Id: Iaac650a82d69064db148a6333e9403744f68b4a4\n"
    },
    {
      "commit": "37b1b5bbcd1cddf833c9ca18a5976efbbf88dabf",
      "tree": "02c391d47cef6ce4db35b42060488b9dcf471089",
      "parents": [
        "99e2a2f04ca3bc4c66ecb91bc5abb378ec7c10ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 02 16:27:20 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 02 16:27:20 2014 -0700"
      },
      "message": "Fix all resolv warnings and turn on -Werror.\n\nThe res_init.c changes bring us a bit closer to upstream too, though\nthere\u0027s still work to be done there. Some of the remaining differences\nlook like bugs we\u0027d want to fix, so we should definitely try to come\nback to that.\n\nChange-Id: I50baa148e967c90d55d711e9904ad54c7d724d4d\n"
    }
  ],
  "next": "65935979311373f2c7fa27cbfc189f49b188ca3a"
}
