)]}'
{
  "log": [
    {
      "commit": "e8efb96b9d6363256d6762bbd103e7ded7aa359c",
      "tree": "369231bd632c05845cf05ac22845464d29e064b4",
      "parents": [
        "dd926b57a00d0a7d3c861897af303ea1c454fa01"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 14 11:12:38 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 14 11:12:38 2016 -0800"
      },
      "message": "Add comment for [p]select_smoke tests STDIN issue.\n\nChange-Id: I59cde8b5aaac3e27419ca86d16f85e5af568acf9\n"
    },
    {
      "commit": "dd926b57a00d0a7d3c861897af303ea1c454fa01",
      "tree": "40f21d1d60cf5d216b69eba72756fe7f98aeec76",
      "parents": [
        "323900cd7dc2a2dc561563f6963806625d89e397"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 13 22:38:09 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 13 22:38:09 2016 -0800"
      },
      "message": "Fix select failures when STDIN is ready.\n\nThe select_smoke and pselect_smoke test can fail if STDIN has data ready\nto be read. The easiest way to see the failure is to type on the command\nline while running the tests.\n\nTo avoid this, allow the return value to be 2 or 3 and check which fds\nare ready to be read.\n\nChange-Id: Iafba332c5f3ed1943e3d34501f123dd45f06a8c4\n"
    },
    {
      "commit": "323900cd7dc2a2dc561563f6963806625d89e397",
      "tree": "9d14a324d1f07d71bb516ac88ca00d8e490f1289",
      "parents": [
        "c3aa3d892b1ead8a6c3a71b128045c62dad7edb3",
        "09a99641ecda72a0b08951db56bbdb0255a4a105"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 14 06:12:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 14 06:12:32 2016 +0000"
      },
      "message": "Merge \"Escape failure messages in XML test output.\""
    },
    {
      "commit": "09a99641ecda72a0b08951db56bbdb0255a4a105",
      "tree": "86597888f79afc1d4bf2dbefa77a46fd5e3c8259",
      "parents": [
        "df2f5fbe6f3d3937c3caf95138e43ee15f6d8497"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 13 21:48:56 2016 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 13 21:48:56 2016 -0800"
      },
      "message": "Escape failure messages in XML test output.\n\nThe gtest XML format requires escaped HTML characters in the test\nresults.\n\nChange-Id: Ieb9519a55cb52093dfb10a88e883b569bc372cdb\n"
    },
    {
      "commit": "13f26a7b2bff5ed88b925b7206256e07596f3626",
      "tree": "ea09999fc3508607d5bae97bbe0cf58edc23eed4",
      "parents": [
        "9817c6c0cfa01f6bf7e0700e2b7aab2c1220fe28"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 13 13:47:58 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 13 17:13:21 2016 -0800"
      },
      "message": "Add method to run fortified versions of funcs.\n\nAdd a way to turn fortify off for the files that test fortify functions.\n\nThis method involves simply compiling the same file with fortify off and\nchanging the test name slightly.\n\nIt\u0027s not very pretty, and it assumes that only these few files test\nfunctions that can be fortified.\n\nBug: 15195631\nChange-Id: Iba9db1d508b7d28a1d6968019cb70fe08864827b\n"
    },
    {
      "commit": "9361ad3f80adc1e21ab97c8d684afed311788e00",
      "tree": "7fc6ab24e35aff54ffadb54267e71c19288f1e8b",
      "parents": [
        "906e67fdba54459983bfa6bc29e02253a6990144"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 12 14:43:27 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 12 14:43:27 2016 -0800"
      },
      "message": "Fix \u003csys/sysmacros.h\u003e.\n\n1. The definitions were wrong.\n2. The definitions were inline functions.\n3. The definitions were polluting the namespace even for code that doesn\u0027t\n   want BSD cruft.\n\nNote that everybody will still get these by default, because you still get\nall the BSD stuff by default.\n\nBug: http://b/12706131\nChange-Id: I062ecd09feef7a6e8ba1922d465b96a9c4bf4f4e\n"
    },
    {
      "commit": "5d84373c69d2c0dbb0234c47920b02443b37421c",
      "tree": "09025d2aa3d4e0018b5c57ddaef5c8c9115734a6",
      "parents": [
        "6b5139856d291b89526b1f85c0533e42727b7af8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 21:30:07 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 12 08:45:16 2016 -0800"
      },
      "message": "Add a getifaddrs(3) debugging tool.\n\n...disguised as a test, because that\u0027s the easiest way to keep an eye on it.\n\nChange-Id: Iec2531183790d12aec561d27645e5d400f69efbf\n"
    },
    {
      "commit": "588213a37dbad3216a892b04c837b1b135ed2c8e",
      "tree": "fdcb16431eb97ebe3432425062c0f1ea582aa9c4",
      "parents": [
        "8d809f18c7db9431b52e79f32be24dd87bdc2dea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 13:18:20 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 13:18:20 2016 -0800"
      },
      "message": "Add basic tests for \u003cnet/if.h\u003e.\n\nBug: http://b/26447711\nChange-Id: I9bbcdffc07e99c98e367a63de861ddc7b274d579\n"
    },
    {
      "commit": "fdb2963e0a65ececa89837eff64ffd8aca8027d2",
      "tree": "5fb2398cfa9aa777c399cc2052b8681859bfde61",
      "parents": [
        "195b85a80faadcb4180f7f8192fc8ae162165892"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:07:23 2015 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 08 19:18:44 2016 -0800"
      },
      "message": "Handle AF_PACKET in getifaddr(3).\n\nAlso fix a bug where we were mutating the address/broadcast address\nof an existing entry rather than the new entry, and use \u0027const\u0027 to\nensure we don\u0027t make that mistake again.\n\nChange-Id: I31c127a5d21879b52c85cd0f7ed2e66554a21e39\n"
    },
    {
      "commit": "09f4651c0ef1920e5f48d87308f6cdd1e5b74149",
      "tree": "df2ed6b2753f5c7b013558d785770b1474923c04",
      "parents": [
        "04673ee997996e970d58c2ab83041ca7f01ebe5c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 05 11:45:45 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 05 11:45:45 2016 -0800"
      },
      "message": "Replace MALLOC_IMPL with MALLOC_SVELTE.\n\nBug: http://b/26390299\nChange-Id: I665f64bff4d598607e1eb7c4078819fe1d400feb\n"
    },
    {
      "commit": "9cddb482b498abd134f7ccfc9933747e8bcb9cc7",
      "tree": "a11142895775f0aaa7c4c68175254e6ead803676",
      "parents": [
        "2fed6aa9f0d2a90d59ad3c4d73313958f3470152"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 04 20:38:05 2016 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 04 13:00:39 2016 -0800"
      },
      "message": "Revert \"Revert \"Implement getifaddrs(3)/freeifaddrs(3).\"\"\n\nThis reverts commit 76814a8250fd5e1502909ef5e10e4d166cc96c0e.\n\nThis differs from the original in fixing the GCC -Werror build:\n\n  bionic/libc/bionic/ifaddrs.cpp: In function \u0027void __handle_netlink_response(ifaddrs**, nlmsghdr*)\u0027:\n  bionic/libc/bionic/ifaddrs.cpp:113:62: error: use of old-style cast [-Werror\u003dold-style-cast]\n       ifinfomsg* ifi \u003d reinterpret_cast\u003cifinfomsg*\u003e(NLMSG_DATA(hdr));\n\nThis appears to be a GCC bug; the GCC command-line correctly uses -isystem,\nand manually adding #pragma GCC system_header doesn\u0027t help. So just turn the\nwarning off for GCC for now. We won\u0027t need to worry about building with GCC\nsoon anyway.\n\nBug: http://b/26238832\nChange-Id: I01615bd335edf11baf487b1c83a9157cd780f4a1\n"
    },
    {
      "commit": "bd4d45d55b4ea57b909aecc693f34d5f87869c72",
      "tree": "e9c47343959ab6d46e686d12dd712878beea1ad7",
      "parents": [
        "b62e633ff679a65df97be55bd0ae6a02633ce472"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 23 17:42:29 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 23 17:42:29 2015 -0800"
      },
      "message": "Add tests for /proc/self/fd and /proc/self/task/TID/fd access\n\nAdd tests to ensure that the following kernel patches are present:\n\n  __ptrace_may_access() should not deny sub-threads\n  * https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id\u003d73af963f9f3036dffed55c3a2898598186db1045\n\n  proc: make proc_fd_permission() thread-friendly\n  * https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id\u003d96d0df79f2644fc823f26c06491e182d87a90c2a\n\n  proc: actually make proc_fd_permission() thread-friendly\n  * https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id\u003d54708d2858e79a2bdda10bf8a20c80eb96c20613\n\nBug: 26110743\nBug: 24912743\nBug: 26016905\nChange-Id: I7eab002ddfade9e4bfe51908e190231c8dde2cc7\n"
    },
    {
      "commit": "b62e633ff679a65df97be55bd0ae6a02633ce472",
      "tree": "ffad9be2c77f5c3c1ad164aa055a0e4b08f91cb1",
      "parents": [
        "71417caa927bb6720ae6cd759f335d8081f57895",
        "76814a8250fd5e1502909ef5e10e4d166cc96c0e"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:48:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 22 17:48:21 2015 +0000"
      },
      "message": "Merge \"Revert \"Implement getifaddrs(3)/freeifaddrs(3).\"\""
    },
    {
      "commit": "76814a8250fd5e1502909ef5e10e4d166cc96c0e",
      "tree": "04b19cda236e882d75bfd928c4fbc87dded7a27a",
      "parents": [
        "0945ed5cc5921243724fed4465d20881f4891a8d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:47:54 2015 +0000"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:47:54 2015 +0000"
      },
      "message": "Revert \"Implement getifaddrs(3)/freeifaddrs(3).\"\n\nWerror build broken. Revert while working on a fix.\n\nThis reverts commit 0945ed5cc5921243724fed4465d20881f4891a8d.\n\nChange-Id: I67edab7a7a3b9aa673ce9d14aa95380f947838a1\n"
    },
    {
      "commit": "71417caa927bb6720ae6cd759f335d8081f57895",
      "tree": "4548d3d207115358eaf96fec644a1da54865c333",
      "parents": [
        "be7c7fe218ca13b5763fbbcb650780aff4ed1dbd",
        "0945ed5cc5921243724fed4465d20881f4891a8d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:11:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 22 17:11:59 2015 +0000"
      },
      "message": "Merge \"Implement getifaddrs(3)/freeifaddrs(3).\""
    },
    {
      "commit": "7331fe18d7ffd550996e07b534bc7a6cf625afa5",
      "tree": "ffad9be2c77f5c3c1ad164aa055a0e4b08f91cb1",
      "parents": [
        "4afd635be1b956c40f36758a482e6d83502fbb42"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 14:11:17 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Dec 19 23:38:27 2015 -0800"
      },
      "message": "linker: implement shared namespaces\n\nShared namespaces clone the list of loaded native\nlibraries from the caller namespace. This allows\nclassloaders for bundled apps to share already loaded\nlibraries with default namespace.\n\nBug: http://b/22548808\nBug: http://b/26165097\nChange-Id: I8949d45937fdb38e1f586ff0679003adac0d9dad\n(cherry picked from commit e78deef364d952dd1141a2f3067a12060aaf11e6)\n"
    },
    {
      "commit": "0945ed5cc5921243724fed4465d20881f4891a8d",
      "tree": "cb4468cc6114238740ef29973bd5d5fa951fa826",
      "parents": [
        "4afd635be1b956c40f36758a482e6d83502fbb42"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 19 14:39:10 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 19 14:49:09 2015 -0800"
      },
      "message": "Implement getifaddrs(3)/freeifaddrs(3).\n\nTime to dust off the old libcore implementation from gingerbread and add it\nto bionic. Unlike the original, this actually looks at both RTM_NEWLINK and\nRTM_NEWADDR.\n\nBug: http://b/26238832\nChange-Id: I7bb4b432deb766065b66b9c9ff36ed68249aba82\n"
    },
    {
      "commit": "7cb3c4af134cfa4308742c86086bccdd06463c0c",
      "tree": "310887025a62c2f03c7db8885c9dcb6920e7925f",
      "parents": [
        "d4f86aed42a97e1d7c502595b0fe1270f7989c7a",
        "dd586f2ebd0c42904e699f3634568a38c97d4da7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 17 01:15:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 17 01:15:15 2015 +0000"
      },
      "message": "Merge \"sem_timedwait with a null timeout doesn\u0027t mean \"forever\".\""
    },
    {
      "commit": "d4f86aed42a97e1d7c502595b0fe1270f7989c7a",
      "tree": "a2d13c759cf8929457cc859c74b42f81cf24d1e0",
      "parents": [
        "27032a39dd76de8e5cd637e4f9425300c4b46a37",
        "9cf99cbad89c8495828788ce693a99ced434f66f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 17 00:40:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 17 00:40:13 2015 +0000"
      },
      "message": "Merge \"linker: add dlvsym(3)\""
    },
    {
      "commit": "9cf99cbad89c8495828788ce693a99ced434f66f",
      "tree": "fa089662db2475f6e4e1260f029fcab805eb0a96",
      "parents": [
        "d3e5301a75256171199b23f6ba2c6651d05ce5f1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 11 14:22:24 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 16 15:24:13 2015 -0800"
      },
      "message": "linker: add dlvsym(3)\n\nThis changes implements dlvsym - dlsym for versioned symbols.\n\nBug: http://b/22865643\nChange-Id: Ic90a60d512104261a1416c43f9100f0d88e3b46f\n"
    },
    {
      "commit": "dd586f2ebd0c42904e699f3634568a38c97d4da7",
      "tree": "9622cf03564998a33d69f2039382844d81384e30",
      "parents": [
        "d3e5301a75256171199b23f6ba2c6651d05ce5f1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 16 15:15:58 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 16 15:15:58 2015 -0800"
      },
      "message": "sem_timedwait with a null timeout doesn\u0027t mean \"forever\".\n\nIt actually means \"crash immediately\". Well, it\u0027s an error. And callers are\nmuch more likely to realize their mistake if we crash immediately rather\nthan return EINVAL. Historically, glibc has crashed and bionic -- before\nthe recent changes -- returned EINVAL, so this is a behavior change.\n\nChange-Id: I0c2373a6703b20b8a97aacc1e66368a5885e8c51\n"
    },
    {
      "commit": "ad33ebead801f24d3197bc16f875501729e98485",
      "tree": "7881fd20998455aa8bb2a890ef2d7b06ac724723",
      "parents": [
        "d3e5301a75256171199b23f6ba2c6651d05ce5f1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 16 12:07:25 2015 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 16 14:48:03 2015 -0800"
      },
      "message": "Fix bug in dlmalloc\u0027s version of calloc.\n\nUnder some circumstances, doing a calloc will make sure that the memory\nreturned will be zero up to the size of the requested size. However, if\nthere is more usable size than the requested size, that extra part\nof the allocation will not be zeroed. This change fixes it so that the\nentire usable memory is always zeroed.\n\nChange-Id: I8a66d6767c074023c4ba3568bf2705e1886740fc\n"
    },
    {
      "commit": "d31d4c1cc65ab878c32927259fcc7ac744f7cc52",
      "tree": "5eeb297202f6499997e654971c79da41ee7ab483",
      "parents": [
        "b34ae08cc62506142c0f2407101f4914384a0d86"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:35:10 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:35:10 2015 -0800"
      },
      "message": "Add a few missing pthread tests.\n\nThis seems to be all that\u0027s tested by system/extras/tests/bionic that isn\u0027t\nalready better tested here.\n\nChange-Id: Id0aa985cefd4047a6007ba9804f541069d9e92ed\n"
    },
    {
      "commit": "162a8524ea79564b5c92e5effc86588cac07e23c",
      "tree": "586407a00f3baea0689ddac7ac4b428ef7d4ddd0",
      "parents": [
        "a7ff3964abc860f70f242a1d2ee3f6e3e690d4df",
        "61cf963efeb8066172ad7529b8036ba9dd392d0e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 15:59:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 14 15:59:29 2015 +0000"
      },
      "message": "Merge \"Fix personality test for mips32r6\""
    },
    {
      "commit": "61cf963efeb8066172ad7529b8036ba9dd392d0e",
      "tree": "7bfa06fb6892419abefdf30c7384a995e9f517b5",
      "parents": [
        "39801757c3bf688bee28f636959757953b2bb695"
      ],
      "author": {
        "name": "Lazar Trsic",
        "email": "Lazar.Trsic@imgtec.com",
        "time": "Fri Dec 11 17:02:49 2015 +0100"
      },
      "committer": {
        "name": "Lazar Trsic",
        "email": "Lazar.Trsic@imgtec.com",
        "time": "Mon Dec 14 12:29:53 2015 +0100"
      },
      "message": "Fix personality test for mips32r6\n\nWhen personality syscall is executed on mips64, for a 32bit process,\nsys_32_personality() is called, which converts PER_LINUX32 -\u003e PER_LINUX.\nChange expected value when mips32 is a second architecture.\n\nFor more information see:\nhttps://www.linux-mips.org/archives/linux-mips/2015-08/msg00421.html\nhttps://www.linux-mips.org/archives/linux-mips/2015-11/msg00093.html\n\nChange-Id: I8c9062f536ad6e513f0ac585da3568d80e5fa1b4\n"
    },
    {
      "commit": "4a2c5aa30ceea2aaf8dcaee2feb4879978af4fce",
      "tree": "77265fd642a5bbfd2d0804f9922effca3f8de815",
      "parents": [
        "9d8632e1a76de6bd6abc853c0fbd6a2c9dc32cdc"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 10 16:08:14 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 10 16:24:57 2015 -0800"
      },
      "message": "Move dlsym and dladdr implementation to linker.cpp\n\nBug: http://b/25716705\nBug: http://b/22865643\nChange-Id: If22fc1eda219f676b5fcc06490f7901d21d1749c\n"
    },
    {
      "commit": "284ae3559ed909613b189b98bdc3efab94373a30",
      "tree": "7f525b5244599a2caa7692d3d179dde4bbb61fe3",
      "parents": [
        "df196131f3c16f1eddb1542c7e04c675e7f1fbda"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 08 10:47:13 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 09 13:54:01 2015 -0800"
      },
      "message": "Add permitted_when_isolated_path to linker namespaces\n\nThe permitted_when_isolated_path is a way to white-list\ndirectories not present in search-path. It is ignored for\nnot isolated namespaces.\n\nBug: http://b/25853516\nBug: http://b/22548808\nChange-Id: Ib1538037268eea69323ea49968a34a4a1d1938a5\n"
    },
    {
      "commit": "e371ae68ac0d6d39cacf5edc893bda2f4a61e883",
      "tree": "ed4a145da1fa0d684b7cc88d49ea8e094f3a5a1a",
      "parents": [
        "0d89913e74981cd51532e66a2e2f138392be4de1",
        "22840aab47763c88598b32d1edcac4d8b3ef21f0"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Dec 05 05:25:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 05 05:25:57 2015 +0000"
      },
      "message": "Merge \"Allow dlopening public libs using absolute path\""
    },
    {
      "commit": "22840aab47763c88598b32d1edcac4d8b3ef21f0",
      "tree": "b2b4abd050aa78b1309b0ef6d76a4dc6c8abd8f0",
      "parents": [
        "2452cf3c332fdfdae6b6b27b57acaa6786a91c87"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 04 18:28:49 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 04 21:21:35 2015 -0800"
      },
      "message": "Allow dlopening public libs using absolute path\n\ndlopen on isolated namespaces should be able to open\npublic libraries using absolute path not only soname.\n\nBug: http://b/25853820\nChange-Id: If574a67853dc51226f0f376e9e2d108316002f84\n"
    },
    {
      "commit": "939a7e01197858fdb8463bb5a8284ba501a3e882",
      "tree": "aca21447754ac507be1d20a7afba02deb65ea4db",
      "parents": [
        "2558b112300e0a27590b9e31f627fe94594fa6a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 15:27:46 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 15:27:46 2015 -0800"
      },
      "message": "Track rename from base/ to android-base/.\n\nChange-Id: I0a4592945400b1fa6892bf7c1fa8659fd711efa3\n"
    },
    {
      "commit": "514f46b74c5424eb10f21349654e90fcf69b3b10",
      "tree": "451588f1799f733af0a1373d8cda680d6226a642",
      "parents": [
        "b35a2fb370db711fcea38441a1295cd542fc3daa",
        "a32fc8685dc0b81f9e10d99fdb248f33c0fa05f7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Dec 04 00:29:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 04 00:29:47 2015 +0000"
      },
      "message": "Merge \"Don\u0027t use StringPrintf() in gtest runner.\""
    },
    {
      "commit": "a32fc8685dc0b81f9e10d99fdb248f33c0fa05f7",
      "tree": "e9f97ca39b6ad0629bc5fab44c7dd6ee96566d5b",
      "parents": [
        "d4c9b9d5ac3438d34536613143bbe63374e586f1"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Dec 03 16:28:03 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Dec 03 16:28:03 2015 -0800"
      },
      "message": "Don\u0027t use StringPrintf() in gtest runner.\n\nChange-Id: I0cd0b3cbb952c65b1c449e88ce12964b93029538\n"
    },
    {
      "commit": "376b94f1e777375eb9ebb04a882b898aafa94625",
      "tree": "0d28519ff985e2077f225e71636640028133970e",
      "parents": [
        "f57ae1cd433f2bdc02cec6b0d2666f7708f1fc37",
        "49a309ff6a8349cbd1625711497743463638bebf"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Dec 03 22:55:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 03 22:55:32 2015 +0000"
      },
      "message": "Merge \"Separate properties by selabel\""
    },
    {
      "commit": "d4c9b9d5ac3438d34536613143bbe63374e586f1",
      "tree": "41f37bf5a3db54a5fa6f5e0b9b5ee6ee519f6fa0",
      "parents": [
        "22dca83e1c37d3b465b9fa432bbf7cb4bd0df868"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 16 20:39:58 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Dec 03 13:20:39 2015 -0800"
      },
      "message": "Improve unit test runner.\n\n1. Read unit test\u0027s output while the test is running. Previously\nwe only read output when the test finishes, which has trouble\nwhen the test outputs too many stuff.\n2. Report failed unit test\u0027s exit code. It is useful when the\ntest doesn\u0027t fail in ASSERT_xxx, but in somewhere else.\n\nBug: 25392375\nChange-Id: Ie90823337f7c2ee25fa489a5534801d991258f95\n"
    },
    {
      "commit": "49a309ff6a8349cbd1625711497743463638bebf",
      "tree": "934a2a6d0b469f2345a733b414e26c6654fd6020",
      "parents": [
        "9cbabd8fe5ef3834682996ff23b4a5325e0586cb"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Sep 23 16:09:47 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Dec 02 15:17:03 2015 -0800"
      },
      "message": "Separate properties by selabel\n\nThe purpose of this change is to add read access control to the property\nspace.\n\nIn the current design, a process either has access to the single\n/dev/__properties__ file and therefore all properties that it contains\nor it has access to no properties.  This change separates properties\ninto multiple property files based on their selabel, which allows\ncreation of sepolicies that allow read access of only specific sets of\nproperties to specific domains.\n\nBug 21852512\n\nChange-Id: Ice265db79201ca811c6b6cf6d851703f53224f03\n"
    },
    {
      "commit": "9cbabd8fe5ef3834682996ff23b4a5325e0586cb",
      "tree": "bf4c085658026f687383320f1d8c73418ceadfe2",
      "parents": [
        "6bef152af2c622ee0c57f9c374b76f3dd352e52b",
        "f688c5d5b407b17b42b38b25449ab12320c33786"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 01 00:23:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 01 00:23:32 2015 +0000"
      },
      "message": "Merge \"Add bionic-unit-tests-gcc{32,64}, compiled with gcc.\""
    },
    {
      "commit": "aec13988dab7ff32cb005f42b952e3b9b55a4779",
      "tree": "b761ca15f68a8c174119ceff4d6316102ea0b71c",
      "parents": [
        "2bb85c848abb89951ec01342d6c8278311346395",
        "a36158a77d904aa65f50d5950b7608ef8fa3210f"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 30 21:38:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 30 21:38:59 2015 +0000"
      },
      "message": "Merge \"Fix pthread_test according to tsan report.\""
    },
    {
      "commit": "f688c5d5b407b17b42b38b25449ab12320c33786",
      "tree": "db41bb76cbc272343704933a985cd08f397b5c6d",
      "parents": [
        "a01108d9bf415854b9d36334483133adff3d7405"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Nov 20 14:13:24 2015 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 30 10:52:16 2015 -0800"
      },
      "message": "Add bionic-unit-tests-gcc{32,64}, compiled with gcc.\n\n* bionic-unit-tests{32,64} are compiled with clang/llvm.\n* Skip one single test in __cxa_thread_atexit_test.cpp\n  when compiled with aarch64 clang/llvm.\n  Aarch64 clang/llvm generates relocation references to\n  \"thread_local\" symbols not supported by Android linker.\n\nBUG: 25642296\nChange-Id: Ia0497b79c4b335228afeb48a26e0592217909953\n"
    },
    {
      "commit": "db8caa740a409c2ce75f875df84857e6be69eb9f",
      "tree": "893ad14405037f96cd4f8170848c4332e70e5895",
      "parents": [
        "17554356cc865908e5cbd7814c8be7e47c9c4ec5",
        "1ffec1cc4d0e283bb1ff6f49843769a3493b8d73"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 24 02:23:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 24 02:23:34 2015 +0000"
      },
      "message": "Merge \"Introduce anonymous namespace\""
    },
    {
      "commit": "1ffec1cc4d0e283bb1ff6f49843769a3493b8d73",
      "tree": "083c8af007b9a2e2ed01fbde2eea50ded648e114",
      "parents": [
        "a7fc7f9909c221a0f64c5c5ecc5fadd5fba467c5"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 23 11:26:35 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 23 16:13:10 2015 -0800"
      },
      "message": "Introduce anonymous namespace\n\nThe anonymous namespace is introduced to\nhandle cases when linker can not find the\ncaller. This usually happens when caller\ncode was not loaded by dynamic linker;\nfor example mono-generated code.\n\nBug: http://b/25844435\nBug: http://b/22548808\nChange-Id: I9e5b1d23c1c75bc78548d68e79216a6a943a33cf\n"
    },
    {
      "commit": "17554356cc865908e5cbd7814c8be7e47c9c4ec5",
      "tree": "65784b6e5cd302ab21eb9de6b5ab7ed0a9ad74ce",
      "parents": [
        "a7fc7f9909c221a0f64c5c5ecc5fadd5fba467c5",
        "76144aaa6397fe9e16893882cf59c5c9c0684a66"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 23 18:57:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 23 18:57:26 2015 +0000"
      },
      "message": "Merge \"Change _stdio_handles_locking into _caller_handles_locking.\""
    },
    {
      "commit": "74ed96d59731aa3661494330804d866e825209d3",
      "tree": "fcb3c951345fcbd19e528bce9d7579077b9130b9",
      "parents": [
        "fb3219fbd1dbb0a369d52cbd0200330fd8852bc1",
        "c9a659c57b256001fd63f9825bde69e660c2655b"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Nov 21 01:50:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 21 01:50:29 2015 +0000"
      },
      "message": "Merge \"Use FUTEX_WAIT_BITSET to avoid converting timeouts.\""
    },
    {
      "commit": "76144aaa6397fe9e16893882cf59c5c9c0684a66",
      "tree": "366d104ea020fb5d9138d296aac1fcceda383c61",
      "parents": [
        "0ebe2f07c35d4b764bc5d8b5226004e3db46da91"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 19 13:52:16 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 20 17:44:26 2015 -0800"
      },
      "message": "Change _stdio_handles_locking into _caller_handles_locking.\n\nIt is reported by tsan that funlockfile() can unlock an unlocked mutex.\nIt happens when printf() is called before fopen() or other stdio stuff.\nAs FLOCKFILE(fp) is called before __sinit(), _stdio_handles_locking is false,\nand _FLOCK(fp) will not be locked. But then cantwrite(fp) in __vfprintf()\ncalls__sinit(), which makes _stdio_handles_locking become true, and\nFUNLOCKFILE(fp) unlocks _FLOCK(fp).\n\nChange _stdio_handles_locking into _caller_handles_locking,\nso __sinit() won\u0027t change its value. Add test due to my previous fault.\n\nBug: 25392375\nChange-Id: I483e3c3cdb28da65e62f1fd9615bf58c5403b4dd\n"
    },
    {
      "commit": "2feb9dde6090a4b88d0cadc0a69245beeb173468",
      "tree": "71135ccb2317fb72438b16a1ef7d08389232b8ab",
      "parents": [
        "c22a7de798c4c0da30ad095a0c61a8f905eb9613"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 19 13:44:20 2015 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 19 13:44:20 2015 -0800"
      },
      "message": "Fix test build break.\n\nChange-Id: I73a39c6d4bb9baebbfb5572e9259bcd405116039\n"
    },
    {
      "commit": "c9a659c57b256001fd63f9825bde69e660c2655b",
      "tree": "74de618379f38c2726cc41956144f560dd6be9ea",
      "parents": [
        "b804b9d67b9e3a8c63471ff9892f6abea2a58684"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 05 15:36:08 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 19 13:42:03 2015 -0800"
      },
      "message": "Use FUTEX_WAIT_BITSET to avoid converting timeouts.\n\nAdd unittests for pthread APIs with timeout parameter.\n\nBug: 17569991\n\nChange-Id: I6b3b9b2feae03680654cd64c3112ce7644632c87\n"
    },
    {
      "commit": "c22a7de798c4c0da30ad095a0c61a8f905eb9613",
      "tree": "a6dadbf1ceae2c3cb0811b6c91d1619d48fcd7c5",
      "parents": [
        "313632db574d101275206ca025d21a5a3cd62150"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Nov 07 10:40:26 2015 -0500"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Thu Nov 19 08:57:47 2015 -0500"
      },
      "message": "extend the PTRDIFF_MAX size check to mremap\n\nThis removes another way to obtain objects larger than PTRDIFF_MAX. The\nonly known remaining hole is now jemalloc\u0027s merging of virtual memory\nspans.\n\nTechnically this could be wrapped in an __LP64__ ifndef since it can\u0027t\noccur on 64-bit due to the 1:1 split. It doesn\u0027t really matter either\nway.\n\nChange-Id: Iab2af242b775bc98a59421994d87aca0433215bd\n"
    },
    {
      "commit": "2c09e5de299ca87a9e68807e2b4af41ba61710f3",
      "tree": "980ed3d654b59956c5b7a3e3d5a34519a427e914",
      "parents": [
        "ea5bb151af5e1e364968cb1eac70c8a2c13ca7a7",
        "fe3a83a9343f0e4ff654f09ef8ffc8a773c7c105"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 19 01:55:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 19 01:55:37 2015 +0000"
      },
      "message": "Merge \"Implement pthread spin.\""
    },
    {
      "commit": "fe3a83a9343f0e4ff654f09ef8ffc8a773c7c105",
      "tree": "092ca0be892463bc543eaaabc9feda130ad37fb1",
      "parents": [
        "b804b9d67b9e3a8c63471ff9892f6abea2a58684"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 17 16:03:18 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 18 17:51:21 2015 -0800"
      },
      "message": "Implement pthread spin.\n\nIn order to run tsan unit tests, we need to support pthread spin APIs.\n\nBug: 18623621\nBug: 25392375\nChange-Id: Icbb4a74e72e467824b3715982a01600031868e29\n"
    },
    {
      "commit": "3cc35e224c6fe6bb82685ff8b2758553563e2a05",
      "tree": "f09ce774b7eb4fabf10f41a998d91864249175d4",
      "parents": [
        "b804b9d67b9e3a8c63471ff9892f6abea2a58684"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 17 18:36:50 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 17 18:45:12 2015 -0800"
      },
      "message": "Ignore target sdk version for the public namespace\n\nThis fixes the bug with using the libraries loaded\nprior to android_set_target_sdk_version call.\n\nBug: http://b/22548808\nChange-Id: I3ca2d367b0fa930a437bbb65f780834803d2ef0a\n"
    },
    {
      "commit": "a36158a77d904aa65f50d5950b7608ef8fa3210f",
      "tree": "2d2966c9d2ee0334e0cba47b65fe9e2717c4d62f",
      "parents": [
        "b804b9d67b9e3a8c63471ff9892f6abea2a58684"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 16 21:06:16 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 16 21:15:58 2015 -0800"
      },
      "message": "Fix pthread_test according to tsan report.\n\n1. Fix leak threads and data races related to spin_flag.\n2. Increase stack size to run under tsan.\n\nThis doesn\u0027t pass all pthread tests, as some tests are used\nto run intentionally in race situations.\n\nBug: 25392375\nChange-Id: Icfba3e141e7170abd890809586e89b99adc8bd02\n"
    },
    {
      "commit": "b804b9d67b9e3a8c63471ff9892f6abea2a58684",
      "tree": "ce42730b1964f3bd1b498823744f7d61f5527695",
      "parents": [
        "3c8c16022a513a32eb6b92cf23f4ef43ccf7ad6d",
        "e7c2fffa16eccecfd43d99516751a43776f5f609"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 17 00:22:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 00:22:54 2015 +0000"
      },
      "message": "Merge \"Implement pthread barrier.\""
    },
    {
      "commit": "e7c2fffa16eccecfd43d99516751a43776f5f609",
      "tree": "bceec6b32ce1159456b2b0bb7ea0ea320d0970cc",
      "parents": [
        "004fead6bc55d1e65b4fb9ca1ac36646b99e5fdd"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 05 22:06:09 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 16 14:02:26 2015 -0800"
      },
      "message": "Implement pthread barrier.\n\nBug: 24341262\nChange-Id: I5472549e5d7545c1c3f0bef78235f545557b9630\n"
    },
    {
      "commit": "949bfb9e3cceac7913fe1debc39617c9ec01ae5e",
      "tree": "f2435d4571def7c504b28eabe2ad27a9ec140470",
      "parents": [
        "61f186d067a3efb6a86450092a567fb18c1641c3",
        "1e79540807c692fa8dbd494dfe290c3aab85420e"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 16 21:31:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 21:31:36 2015 +0000"
      },
      "message": "Merge \"Enable clang to compile more tests.\""
    },
    {
      "commit": "1f0ccbb59cd32dfad0e6d9fd9619905e067076a6",
      "tree": "6f71d61b213e395dfdc73e32ad92fd481fbdbcaf",
      "parents": [
        "1b42c544711316281e09c5da25850fac531b27cb",
        "42d5fcb9f494eb45de3b6bf759f4a18076e84728"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 16 20:14:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 20:14:37 2015 +0000"
      },
      "message": "Merge \"Introducing linker namespaces\""
    },
    {
      "commit": "1e79540807c692fa8dbd494dfe290c3aab85420e",
      "tree": "3ac7559febe2bb55826377f4d5401cd8bec91f8e",
      "parents": [
        "1b42c544711316281e09c5da25850fac531b27cb"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 16 11:13:04 2015 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 16 11:36:15 2015 -0800"
      },
      "message": "Enable clang to compile more tests.\n\n* Disable optimization only in gtest.h of atexit_test.c for arm/aarch64\n  to keep VTT for std::__1::basic_stringstream\u003cchar, std::__1::char_traits\u003cchar\u003e,\n  std::__1::allocator\u003cchar\u003e \u003e to link with g++ compiled modules.\n* bionic-unit-tests source files are not affected by clang x86_64 fp128 bug\n  so they can be compiled with clang.\n\nBUG: 25643775\nChange-Id: I3da2a0de61edcdca07b7fcd73a16de9da4a1f7d6\n"
    },
    {
      "commit": "42d5fcb9f494eb45de3b6bf759f4a18076e84728",
      "tree": "8f653810d3ddecf30bb0b744d4564d406808fe3e",
      "parents": [
        "ffe5c24c8693f1f4fc8edb68075fb36df558b801"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 29 17:01:24 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sun Nov 15 12:09:16 2015 -0800"
      },
      "message": "Introducing linker namespaces\n\nBug: http://b/22548808\nChange-Id: Ia3af3c0a167f1d16447a3d83bb045d143319b1e1\n"
    },
    {
      "commit": "5780f9d80963fbe7b93f501dd3dd7edc7fab46b0",
      "tree": "88c420542660d0599f4f4a055351fa4d9f1d6209",
      "parents": [
        "4ea67f695066b73796b24563d83e8b5a9190334d",
        "a9cac4c87a4ea3e6d1c0a1159909bf0e209a61a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 13 02:58:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 02:58:30 2015 +0000"
      },
      "message": "Merge \"Fix strftime if tm_zone is null.\""
    },
    {
      "commit": "a9cac4c87a4ea3e6d1c0a1159909bf0e209a61a7",
      "tree": "1e70197326b7eed795ce0f4be2785ce2361836d4",
      "parents": [
        "7c10ee9473b5c46da733b2d3d24cf90fb8ac7672"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 12 16:51:31 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 12 16:51:31 2015 -0800"
      },
      "message": "Fix strftime if tm_zone is null.\n\nUpstream tzcode said \"On platforms with tm_zone, strftime.c now assumes it\nis not NULL\". Which is fine for any struct tm generated by tzcode, but not\nnecessarily true of a struct tm constructed by arbitrary code. In particular,\nNetflix on Nexus Player was failing to start because they format \"%Z\" with\na struct tm whose tm_zone is null (the other fields are valid, but, yeah,\nthat\u0027s probably not intentional).\n\nglibc takes a null tm_zone to mean \"the current time zone\", so let\u0027s do that\ntoo. (Historically Android would use the empty string, and POSIX doesn\u0027t\nclarify which of this is the appropriate behavior when tm_zone is null.)\n\nBug: http://b/25170306\nChange-Id: Idbf68bfe90d143aca7dada8607742905188b1d33\n"
    },
    {
      "commit": "2ed1b29d00e7ad392bf12bb73666ed78a096dad8",
      "tree": "90a2342bf126a0d8dda0b9d7404a8cc0d119b620",
      "parents": [
        "7c10ee9473b5c46da733b2d3d24cf90fb8ac7672"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Nov 12 15:55:13 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Nov 12 15:55:13 2015 -0800"
      },
      "message": "FORTIFY_SOURCE: make sure gcc unittests are compiled with gcc\n\nThe default compiler is clang. We need to explicitly indicate\nthat we should use gcc.\n\nChange-Id: I37859c2e303f2a86a2565fe72eda1fda7c557a59\n"
    },
    {
      "commit": "0c447053de4b87d50ebec260c7e1d949fe934065",
      "tree": "58a00819f3c9fb1b703445af5f6b7109b835d5bf",
      "parents": [
        "dbc6398e95df44a18715ce5ba19b8e1a93b969d4",
        "5058a005b8dfb4bd5eefe0eb4420f1c37665b2b0"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 12 01:04:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 01:04:51 2015 +0000"
      },
      "message": "Merge \"Enable clang for modules failed with TLS.\""
    },
    {
      "commit": "5058a005b8dfb4bd5eefe0eb4420f1c37665b2b0",
      "tree": "42e78950e9a8d4a1f3d3722188316408945d8fd0",
      "parents": [
        "b03e6bf9247bb36162b9f4c61d07e488a18e126c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Nov 10 11:15:43 2015 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Nov 11 16:22:38 2015 -0800"
      },
      "message": "Enable clang for modules failed with TLS.\n\nNew 3.8 clang/llvm can compile TLS code now.\n* For x86_64, still disable clang due to f128 bug.\n* For b/25643775, arm and arm64, disable clang in unit tests.\n* Fix thread_local_test.cpp to compile with clang and\n  limit gcc workaround only to arm and aarch64.\n\nBUG: 25643775\n\nChange-Id: Iecd006bf1fc417dbcce2c63343a59c4bf1fa77ea\n"
    },
    {
      "commit": "f208361b2b7c00b1decefa4bdb7115338649686b",
      "tree": "89a5c7e9074d4c441463dfee38cc3ad24c275a59",
      "parents": [
        "ffe5c24c8693f1f4fc8edb68075fb36df558b801"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 11 13:32:28 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 11 13:32:28 2015 -0800"
      },
      "message": "Clean up pthread_gettid_np test.\n\nChange-Id: I0fad26c7824981bfa3ad3a8a0b28a1984062dcd1\n"
    },
    {
      "commit": "de1246202a229efe555170a7c5803510f5975658",
      "tree": "e6d531e81a0546cc4cda65d6b99f71f49191ec9a",
      "parents": [
        "6209b99a7351ed732ab25bb2ffa75465366b244f"
      ],
      "author": {
        "name": "Junjie Hu",
        "email": "junjie.hu@mediatek.com",
        "time": "Wed Nov 11 12:52:25 2015 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 11 21:21:21 2015 +0000"
      },
      "message": "Fix potential race condition on CTS TC pthread_gettid_np\n\nRoot cause:\nIf start_routine thread exits before pthread_gettid_np is invokded, the \"tid\" field\nwill be cleared so that pthread_gettid_np will get \"0\" (which is cleared by kernel, \ndue to the flag \"CLONE_CHILD_CLEARTID\" is set while calling clone system call inside\npthread_create).\n\nProposed patch:\nUse a mutex to guarantee pthread_gettid_np will be invoked and returned before the\nstart_routine exits\n\nSigned-off-by: Junjie Hu \u003cjunjie.hu@mediatek.com\u003e\n\nChange-Id: I22411f1b0f7446d76a0373cef4ccec858fac7018\n(cherry picked from commit 4f8010293506d4e08d184e66bf4af44ef3483611)\n"
    },
    {
      "commit": "09fac86ca370a70b6995216de8df1488a833cb1e",
      "tree": "9098d61ef8dae262f84f2f82b60f5591b77b0932",
      "parents": [
        "0e6542b75b2f3ca155b452782d2122f34f807485"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 09 16:04:50 2015 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 09 16:04:50 2015 -0800"
      },
      "message": "Fix test failure.\n\nBug: http://b/25596173\nChange-Id: I0cf8f550837d4a936d6a784063a0ec9509150358\n"
    },
    {
      "commit": "8b5b2c467281de502ba1c8ffbe447ef95fbf5219",
      "tree": "72d0dc547fae5d8fd9504b4fceb4d8194e1f50f1",
      "parents": [
        "3482613685342da365a7569220f8e6c27a1fe7e5",
        "4200e260d266fd0c176e71fbd720d0bab04b02db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 06 21:18:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 06 21:18:08 2015 +0000"
      },
      "message": "Merge \"fix the mremap signature\""
    },
    {
      "commit": "4200e260d266fd0c176e71fbd720d0bab04b02db",
      "tree": "b2c934fc4e2f546504cc02fdccd5f83fd60c6d37",
      "parents": [
        "ef5e647891f1a0aefeab4a87e9225e47087c6301"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Tue Nov 03 05:14:08 2015 -0500"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 06 13:14:43 2015 -0800"
      },
      "message": "fix the mremap signature\n\nThe mremap definition was incorrect (unsigned long instead of int) and\nit was missing the optional new_address parameter.\n\nChange-Id: Ib9d0675aaa098c21617cedc9b2b8cf267be3aec4\n"
    },
    {
      "commit": "fd7a91e69263a991f65fa458ff33de0670b4fd81",
      "tree": "d560bd28df0b372b4c39f777724d2e26e404d4d3",
      "parents": [
        "004fead6bc55d1e65b4fb9ca1ac36646b99e5fdd"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Nov 06 10:44:37 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Nov 06 10:44:37 2015 -0800"
      },
      "message": "linker: cleanup solist after unsuccessful read\n\nBug: http://b/25560017\nChange-Id: I03c5a1d7aed34c480d341aacfb3b1afdfa037b99\n"
    },
    {
      "commit": "eb9b9250122080df4a11293b9b6679e0b63ae2dd",
      "tree": "5a01876fa83ca1e74bb7611f63c1af9ca19f06b5",
      "parents": [
        "e07558fb80da4e196e8b7e371041c1e75c56b29b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 03 18:46:02 2015 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 04 14:19:55 2015 -0800"
      },
      "message": "Fix GNU/POSIX basename headers.\n\nIncluding glibc\u0027s \u003clibgen.h\u003e will result in the user getting the POSIX\nversion of basename always, regardless of when it is included relative\nto \u003cstring.h\u003e. Prior to this patch, our implementation would result in\nthe one that\u0027s included first winning.\n\nBug: http://b/25459151\nChange-Id: Id4aaf1670dad317d6bbc05763a84ee87596e8e59\n"
    },
    {
      "commit": "4151db5f997cd91d3505ac6594bede0b50184855",
      "tree": "16c30988b1a1090c7221c3f14aac88d296596fc3",
      "parents": [
        "50e92795890c0d8b4bf54c535f66f3b2edf7bd59"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 28 17:14:48 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 28 20:04:59 2015 -0700"
      },
      "message": "Add prlimit to LP32.\n\nBug: http://b/24918750\nChange-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917\n"
    },
    {
      "commit": "1721be2229d07b5eea830f02a76e7be56d172aa9",
      "tree": "77807f66cd568d03478375763b12ef0f97934ec0",
      "parents": [
        "5238eb09844f9c1578353d4c9e297aadb34c71be",
        "6331e806de41d98083f1bfa3661addfae4682c37"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 21:40:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 21:40:31 2015 +0000"
      },
      "message": "Merge \"Implement scandirat and scandirat64.\""
    },
    {
      "commit": "6331e806de41d98083f1bfa3661addfae4682c37",
      "tree": "fc63b42f79adfa429e514cf3b1231245d29222b7",
      "parents": [
        "60752a2eeab8cd0b344b27c67a47e30628962211"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 11:10:36 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 13:47:36 2015 -0700"
      },
      "message": "Implement scandirat and scandirat64.\n\nBug: http://b/12612339\nChange-Id: Id3b249a884fe08964b26a017ae9574961f0cb441\n"
    },
    {
      "commit": "5238eb09844f9c1578353d4c9e297aadb34c71be",
      "tree": "5d869c133aa470cc8f808db14ac762c2574dddaf",
      "parents": [
        "60752a2eeab8cd0b344b27c67a47e30628962211",
        "126af757c6d6a6447c19236df8d98ba07f21996f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 27 19:03:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 19:03:53 2015 +0000"
      },
      "message": "Merge \"Implement load at fixed address feature\""
    },
    {
      "commit": "126af757c6d6a6447c19236df8d98ba07f21996f",
      "tree": "b303f921749f2bb077096218b22ab20bf789d4be",
      "parents": [
        "6a4ddeb56ef2144e98437ae82f84b09ea785e411"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 07 16:34:20 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 27 11:27:34 2015 -0700"
      },
      "message": "Implement load at fixed address feature\n\nBug: http://b/24683631\nChange-Id: I3a39ab526c8f9e213339b60e135e5459d0f41381\n"
    },
    {
      "commit": "9216a64c90ae30da109850526cdeaca26f38da14",
      "tree": "132ba401999a6fccfc63b88358ef0d031e34ee09",
      "parents": [
        "a2cf3783d4e9a4008ed468ef3204593f8f549934"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 19:29:12 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 19:29:12 2015 -0700"
      },
      "message": "Fix \u003cutmp.h\u003e declarations.\n\nIf we\u0027re going to keep this useless header -- and I think it\u0027s too late to\nremove it -- it may as well be correct.\n\nBug: http://b/17700469\nChange-Id: Ifec4f8f1a984483d7fa7d81d47786f75b70ff4ba\n"
    },
    {
      "commit": "6f2d3104c82f81c1f0123a3cfb25ae670841d0ba",
      "tree": "0e69cd361e7de4ce1e0129195901602787160997",
      "parents": [
        "fb7f45b6a3242c9a9a547705de08cf59e6b7f935"
      ],
      "author": {
        "name": "Lazar Trsic",
        "email": "Lazar.Trsic@imgtec.com",
        "time": "Tue Oct 13 16:43:00 2015 +0200"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 10:57:41 2015 -0700"
      },
      "message": "Correctly resolve realpath for absolute paths\n\nIntroduced by: https://android-review.googlesource.com/174475\n\nChange-Id: I44e00040b28be167d5141454f919340afec6084e\n"
    },
    {
      "commit": "8ab433df132aa59db08b4548155d72574ad06421",
      "tree": "23708cbc794620a364626a65306b8f260048d506",
      "parents": [
        "1ab3f303d2e7c8cc498a28fc3c8d9ded1fc46994"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:57:26 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:57:26 2015 -0700"
      },
      "message": "Fix stdio read after EOF behavior.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d184847\nChange-Id: Ia20ce94007c2a09649f0763b1dc7ba959f2f618d\n"
    },
    {
      "commit": "7b77cb35aff34ff56a0b63517267c6203f9d1119",
      "tree": "d81082b185a13a6b9c71be9379cd131ed7082f56",
      "parents": [
        "487a1823e8617011009eded8eae9a75c1f871887"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:27:41 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:36:05 2015 -0700"
      },
      "message": "Fix inet_aton on LP32.\n\nI wasn\u0027t checking for overflow. Luckily, I had a test that overflows on LP32.\n\nChange-Id: If2cf33d88f459eb26d0ce75f3c5ed192f516ab7a\n"
    },
    {
      "commit": "487a1823e8617011009eded8eae9a75c1f871887",
      "tree": "2ae4b6063259078373cfad8ec42cadf1d8c98c8e",
      "parents": [
        "f41fe717655f01affc1d8244ff9efccc04d86620",
        "047866672c66e51b557721cf50ba101305c252d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 22:48:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 22:48:13 2015 +0000"
      },
      "message": "Merge \"Fix inet_addr/inet_aton/inet_network.\""
    },
    {
      "commit": "047866672c66e51b557721cf50ba101305c252d2",
      "tree": "194a46c65705c62e5a1cda529fadf31f89e47449",
      "parents": [
        "cc56abbb007e090b830f510df6cb300ae12e1a89"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 08 18:04:49 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 15:44:24 2015 -0700"
      },
      "message": "Fix inet_addr/inet_aton/inet_network.\n\nRewrite inet_addr and inet_network in terms of inet_aton, and reimplement\nthat to include all the missing error checks.\n\nBug: http://b/24754503\nChange-Id: I5dfa971c87201968985a0894df419f0fbf54768a\n"
    },
    {
      "commit": "d8df28ff3833e620db1b61dd4038028dd160c870",
      "tree": "7e73d646d94d5aea145a0f93ab83eab9cb60fbf4",
      "parents": [
        "599af9346e3ea697dda1b0c38a99cce842154307",
        "1b519c0ae436480881ab10d5b66a184afa4d4373"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 18:32:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 18:32:20 2015 +0000"
      },
      "message": "Merge \"Implement setjmp cookies on MIPS and MIPS64\""
    },
    {
      "commit": "1b519c0ae436480881ab10d5b66a184afa4d4373",
      "tree": "f3627acb1854d0c46db52bea2fd7f5e4bc0dbbbc",
      "parents": [
        "f96049062f04a922fda937aecc562517101a38cc"
      ],
      "author": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Tue Oct 06 18:39:49 2015 +0200"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Fri Oct 09 13:42:58 2015 +0200"
      },
      "message": "Implement setjmp cookies on MIPS and MIPS64\n\nBug: http://b/23942752\nChange-Id: Ie58892a97b5075d30d7607667251007cda99d38c\n"
    },
    {
      "commit": "268f73917831e709bc6a201658c19ffb5c8cbfd1",
      "tree": "77db0c4e7a3d006ccfd04fa7ee46da521ac98cee",
      "parents": [
        "cc56abbb007e090b830f510df6cb300ae12e1a89",
        "a1feb117e4d5614548574f28dede3443e073512b"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 08 19:45:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 08 19:45:45 2015 +0000"
      },
      "message": "Merge \"Make dt_runpath work for libraries opened from apk\""
    },
    {
      "commit": "a1feb117e4d5614548574f28dede3443e073512b",
      "tree": "6078618ff745b802f986119d0534433a8d7df2d1",
      "parents": [
        "748421beef0ed8625920a27b3753a79c2652b6ef"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 01 18:41:57 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 07 11:44:53 2015 -0700"
      },
      "message": "Make dt_runpath work for libraries opened from apk\n\nThis patch also fixes realpath for libraries opened directly\nfrom apks.\n\nBug: http://b/21960914\nBug: http://b/21961857\nChange-Id: I35ade661c87f1d448191f385811f6e9fd3cacf11\n"
    },
    {
      "commit": "bc6379d7da110d9164d5b34cdbebff2e4fc487b8",
      "tree": "53104e7cd9aaf6dbd12214bb89a52d8cf3146741",
      "parents": [
        "98be6be171b3792c51d83d19f015052112f8ddbf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Oct 06 16:30:14 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Oct 06 16:30:14 2015 -0700"
      },
      "message": "Remove the workaround which fixes JOB_COUNT in CTS test.\n\nBug: 24376925\nChange-Id: Ib195ce1577ee9412068cc1b6223fc051b5bcfcaa\n"
    },
    {
      "commit": "df62e3171ca52cbdadb3c3edc93c42cfacbad054",
      "tree": "3defa1eb4d3a31417387dfb46e191dc34caeb498",
      "parents": [
        "ee9dea83fbaf2261066fbb20e5942c147018c949",
        "5c50449b0c098cb8191fe3f7791e91a7ec4f7029"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 03 16:29:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 03 16:29:55 2015 +0000"
      },
      "message": "am 5c50449b: Merge \"Use const auto\u0026 in for loops.\"\n\n* commit \u00275c50449b0c098cb8191fe3f7791e91a7ec4f7029\u0027:\n  Use const auto\u0026 in for loops.\n"
    },
    {
      "commit": "0b2acdfcc99ecf3ff36fc6337e14b171170f38cf",
      "tree": "1318497b782194c7ae533f88c1aabfca0affdc7d",
      "parents": [
        "f7cf8b2c1fbf6250e12d1e59aa353990eca4f109"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 02 18:25:19 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 02 18:25:19 2015 -0700"
      },
      "message": "Use const auto\u0026 in for loops.\n\nChange-Id: Ic437c59797ee4e7dc38291da35c72d827bc89c8d\n"
    },
    {
      "commit": "889dd56428fdecedb55e11b990609993294561ff",
      "tree": "b430d526f355c80284ca542c7082b710c7bb8640",
      "parents": [
        "8cd1180904a0b8713c20feed5255bbedcfabe4e9",
        "a0b9cad07629439bab926373515d964253426a69"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 30 20:10:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 30 20:10:49 2015 +0000"
      },
      "message": "am a0b9cad0: Merge \"Optimize dlopen from a zip file\"\n\n* commit \u0027a0b9cad07629439bab926373515d964253426a69\u0027:\n  Optimize dlopen from a zip file\n"
    },
    {
      "commit": "a0b9cad07629439bab926373515d964253426a69",
      "tree": "1232e6e1bb6a8a2644ba3137cfdbf751b6c93496",
      "parents": [
        "c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c",
        "b48275045de93cce292faaf5170af3ead89b3746"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 30 19:11:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 19:11:30 2015 +0000"
      },
      "message": "Merge \"Optimize dlopen from a zip file\""
    },
    {
      "commit": "b48275045de93cce292faaf5170af3ead89b3746",
      "tree": "e45847472a1283a21f94f72de4b9869295e6369c",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Sep 28 16:38:31 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 30 10:47:11 2015 -0700"
      },
      "message": "Optimize dlopen from a zip file\n\nThis change makes dynamic linker reuse ZipArchiveHandles in\nld_library_path on dlopen to optimize the lookup of dt_needed\nlibraries.\n\nBug: http://b/21960534\nChange-Id: I65f897910d46dd2ffabdcb0b7842db2f127eee30\n"
    },
    {
      "commit": "8cd1180904a0b8713c20feed5255bbedcfabe4e9",
      "tree": "270182254c0a6e66ab339241c71a2b2a480f13e9",
      "parents": [
        "1c34fea8033d64b7f2c54366add908aba7fa44dc",
        "c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Sep 30 01:23:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 30 01:23:33 2015 +0000"
      },
      "message": "am c1eebd5f: Merge \"Fix the way to count online cpus.\"\n\n* commit \u0027c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c\u0027:\n  Fix the way to count online cpus.\n"
    },
    {
      "commit": "c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c",
      "tree": "e1253afb1080258d1e2b6f3c4d5954eb84b5edfb",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc",
        "cb6f599c44b144db26c13507dbd89805b8fe03be"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Sep 30 01:17:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 01:17:32 2015 +0000"
      },
      "message": "Merge \"Fix the way to count online cpus.\""
    },
    {
      "commit": "cb6f599c44b144db26c13507dbd89805b8fe03be",
      "tree": "2cd3dfa6f2d8b35b7c7db91a1b5c1a21a3875901",
      "parents": [
        "f16f4f8a6bac035db5f25538ddb4fe810d0719db"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 29 16:11:45 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 29 17:49:37 2015 -0700"
      },
      "message": "Fix the way to count online cpus.\n\nRead /proc/stat to count online cpus is not correct for all android\nkernels. Change to reading /sys/devices/system/cpu/online instead.\n\nBug: 24376925\nChange-Id: I3785a6c7aa15a467022a9a261b457194d688fb38\n"
    },
    {
      "commit": "1c34fea8033d64b7f2c54366add908aba7fa44dc",
      "tree": "b10a25e209a92ad1f06a14b89fe7efd654969638",
      "parents": [
        "289e58e83e62b600c2b1764c6f9cfd07f1717bdc",
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 23:11:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 28 23:11:58 2015 +0000"
      },
      "message": "am 8b279ead: Merge \"Pass -q is zip for test\"\n\n* commit \u00278b279eadd3a635c31df9c570ab2144212bfd07cc\u0027:\n  Pass -q is zip for test\n"
    },
    {
      "commit": "8b279eadd3a635c31df9c570ab2144212bfd07cc",
      "tree": "6cc0d8e6f587319feb0d24d86fed2d3f8bf4dd52",
      "parents": [
        "c80aa3f9e2be9f9390b1e11f8f2b67a2adbd1faa",
        "298d176813af58731063b4c403143cedf3803eb4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 23:07:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 28 23:07:04 2015 +0000"
      },
      "message": "Merge \"Pass -q is zip for test\""
    },
    {
      "commit": "298d176813af58731063b4c403143cedf3803eb4",
      "tree": "5e635cf3e43f2fd2fd30503c3f92612e6a7e9df8",
      "parents": [
        "4032d344d43d6495119bae41b5eaea3023d8d17b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 15:56:18 2015 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 15:56:18 2015 -0700"
      },
      "message": "Pass -q is zip for test\n\nPass -q to zip for dlext_testzip to avoid printing:\n  adding: empty_file.txt (stored 0%)\non every compile.\n\nBug: 24409581\nChange-Id: I2320f31182a9a332b3ef8b32a22561092ab5aceb\n"
    },
    {
      "commit": "bfd9255ddba7db2e07de6483bf55f567c7f1f7a3",
      "tree": "3a56370e5fd8e70a21315117ba0cfa7f8e18530b",
      "parents": [
        "972330476c26d5f610026fc006d05b128dc45e56",
        "f16f4f8a6bac035db5f25538ddb4fe810d0719db"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 28 20:43:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 28 20:43:06 2015 +0000"
      },
      "message": "am f16f4f8a: Merge \"Fix file-check-cxx to handle quoted arguments\"\n\n* commit \u0027f16f4f8a6bac035db5f25538ddb4fe810d0719db\u0027:\n  Fix file-check-cxx to handle quoted arguments\n"
    },
    {
      "commit": "f16f4f8a6bac035db5f25538ddb4fe810d0719db",
      "tree": "1e62cd142f2e1b087aa44b307b62c3556bb5d5cd",
      "parents": [
        "d5e8a0499b9efa147d45aabd47cfb2d2204c2323",
        "808602a4852d470f5420af3c1711ffc0a4e90777"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 28 20:37:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 28 20:37:07 2015 +0000"
      },
      "message": "Merge \"Fix file-check-cxx to handle quoted arguments\""
    },
    {
      "commit": "808602a4852d470f5420af3c1711ffc0a4e90777",
      "tree": "3741f8e6b9ac927f54aaeb5da402971bcc54190d",
      "parents": [
        "70a9f0a3bc310c863b5c90c9860aae842f82e47f"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 28 13:09:04 2015 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 28 13:14:19 2015 -0700"
      },
      "message": "Fix file-check-cxx to handle quoted arguments\n\nIf the OVERRIDE_C_DATE_TIME environment variable is set, the build\nsystem will add a macro to the global cflags that contains a static\nquoted date, like:\n\n  -D__DATE__\u003d\"\\\"Sep 28 2015\\\"\"\n\nfile-check-cxx needs to properly pass that through as a single, still\nquoted argument. So use the quoted \"$@\" instead of turning each word\ninto an argument.\n\nChange-Id: I6929d712c280d0452062640e0cba8a176d045c97\n"
    },
    {
      "commit": "b99b3f773cef7d160481f8c30b41c01839ca7090",
      "tree": "0dc93789e6d9c65cf15dfcf2da5c6d854cada0c8",
      "parents": [
        "0f575d4482cebbedcc9d44634ba453fa57f21c3f",
        "55f87a0c0bb587ee85b5662967563462d52db560"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 25 22:33:53 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 25 22:33:53 2015 +0000"
      },
      "message": "am 55f87a0c: Merge \"Force non-color output for bionic FileCheck tests\"\n\n* commit \u002755f87a0c0bb587ee85b5662967563462d52db560\u0027:\n  Force non-color output for bionic FileCheck tests\n"
    },
    {
      "commit": "0f575d4482cebbedcc9d44634ba453fa57f21c3f",
      "tree": "761092a6a9407e7a05e1906d9083bf06425c1030",
      "parents": [
        "c1d4ba88cfd824b938feed68a706d2a06e993d3a",
        "4a54ec8200356a755aeeb212c4dd9cefad39754c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 25 22:33:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 25 22:33:51 2015 +0000"
      },
      "message": "am 4a54ec82: Merge \"Add .PHONY for phony bionic test targets\"\n\n* commit \u00274a54ec8200356a755aeeb212c4dd9cefad39754c\u0027:\n  Add .PHONY for phony bionic test targets\n"
    }
  ],
  "next": "55f87a0c0bb587ee85b5662967563462d52db560"
}
