)]}'
{
  "log": [
    {
      "commit": "8dbf02d76a245c102e11442305dd5393c4051dbb",
      "tree": "590b3e23fff1bb613f51c1dbf05c4b876c5dbbb6",
      "parents": [
        "f96049062f04a922fda937aecc562517101a38cc"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 13:51:59 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 14:01:45 2015 -0700"
      },
      "message": "Add missing register preserve in x86/x86_64 longjmp.\n\nChange-Id: I3fc442f819229640e9c0ec4f9c865d9bf0e70881\n"
    },
    {
      "commit": "f7cf8b2c1fbf6250e12d1e59aa353990eca4f109",
      "tree": "2b454044058ddcbb4fff664c99ca9d648eb84134",
      "parents": [
        "cf92ebcfe323ee2ea58168ed008d2a08565809ce",
        "d0578949ace9444e07e254f5baa592283baba304"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 21:04:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 21:04:50 2015 +0000"
      },
      "message": "Merge \"bionic: tzset running hot\""
    },
    {
      "commit": "d0578949ace9444e07e254f5baa592283baba304",
      "tree": "b8ff7f069442c04b7853acb41fb0bac73269ec55",
      "parents": [
        "4a65557d0ebd167e557958687f50510742cb238a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 13:15:07 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 13:30:34 2015 -0700"
      },
      "message": "bionic: tzset running hot\n\nlogd makes a non-insignificant number of calls to localtime, 3% of\nthe time in logd is spent performing __system_property_get within the\ncontext of tzset_locked().\n\nBug: 23685592\nChange-Id: I75f8c2d436b60374e92c166b87393abda9487af7\n"
    },
    {
      "commit": "a5d5d16c3c5679afd26e6bbc24215b7c20025ade",
      "tree": "7623de8a4d4281a1c7411058bffcbe2466543d3e",
      "parents": [
        "143409d75b093c89042e25cab1757d6b2bae8ec5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 01 15:50:16 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 02 11:31:09 2015 -0700"
      },
      "message": "Use foreach loop to match setuid unsafe env vars.\n\nChange-Id: I1e94daefac8e601281f38c7ce29ba3172a4a60bb\n"
    },
    {
      "commit": "4a65557d0ebd167e557958687f50510742cb238a",
      "tree": "f5dd3b680263341904bdcb43a754c20f703b7a49",
      "parents": [
        "ad157a3c3353ba69d3bd155a7c09f9943a22f8d2",
        "23360cc4980213d375718b7c124ecc0a21a1b1b7"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Oct 01 05:23:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 01 05:23:14 2015 +0000"
      },
      "message": "Merge \"Remove invalid left shifts of -1.\""
    },
    {
      "commit": "ad157a3c3353ba69d3bd155a7c09f9943a22f8d2",
      "tree": "70136c5a17d5a4b92e0931941af8a32cf496d4c0",
      "parents": [
        "3230d96a10ab0cfa128487ef03fa5f08c77ebf20",
        "8f8308c974169d7b9909db361e14cd257d47b2a7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 23:18:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 23:18:32 2015 +0000"
      },
      "message": "Merge \"Add a no dwarf version of assembler macros.\""
    },
    {
      "commit": "8f8308c974169d7b9909db361e14cd257d47b2a7",
      "tree": "10db62f68da833df57b547d33532c0aa507512bc",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 15:32:15 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 15:32:15 2015 -0700"
      },
      "message": "Add a no dwarf version of assembler macros.\n\nFor the __release and __release_rt functions, the previous macros\nwould add a dwarf cfi entry for the function with no values. This works\nwith libunwind since it always tries the arm unwind information first.\n\nThis change removes those entries by creating a no dwarf version of the\nassembler macro.\n\nChange-Id: Ib93e42fff5a79b8d770eab0071fdee7d2afa988d\n"
    },
    {
      "commit": "1d0268c6b855531eedd297f1cb7e4ac5817c9103",
      "tree": "9f4bd34bd72d07df9dc0956b25f0e1c32a6e525c",
      "parents": [
        "a0b9cad07629439bab926373515d964253426a69"
      ],
      "author": {
        "name": "Brent DeGraaf",
        "email": "bdegraaf@codeaurora.org",
        "time": "Wed Oct 02 13:47:11 2013 +0000"
      },
      "committer": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Wed Sep 30 20:59:36 2015 +0000"
      },
      "message": "libc: krait: Use performance version of memcpy\n\nChange-Id: Iaa52635240da8b8746693186b66b69778e833c32\n"
    },
    {
      "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": "23360cc4980213d375718b7c124ecc0a21a1b1b7",
      "tree": "c633c09e1e5e99f9abfd7d68fc4f13b7bb74a744",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 29 09:28:41 2015 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 29 10:04:54 2015 -0700"
      },
      "message": "Remove invalid left shifts of -1.\n\nBug: 24492248\n\nShifting sign bits left is considered undefined behavior, so we need to\nswitch these uses to unsigned equivalents. The time_t-related code is\nupdated relative to upstream sources.\n\nChange-Id: I226e5a929a10f5c57dfcb90c748fdac34eb377c2\n"
    },
    {
      "commit": "280d54680d8842df5b0e37ec50acde48957d8e7a",
      "tree": "d714bd5c1de90e5a76d724162dd8df118c2e36cc",
      "parents": [
        "55f87a0c0bb587ee85b5662967563462d52db560"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Sep 28 10:14:17 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Sep 28 10:31:12 2015 -0700"
      },
      "message": "Fix bug number for linker related workarounds\n\nBug: 24425865\nChange-Id: I2021674a9df0e768f312ca024d906302db1c494f\n"
    },
    {
      "commit": "931e1399f13b35a139977354e179403184c649fa",
      "tree": "c2fb491a8f649048f57b4bbac68fa2149b62b4be",
      "parents": [
        "70a9f0a3bc310c863b5c90c9860aae842f82e47f",
        "54ee0407dc4f51f7a4d889968d137e56928c1607"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 25 16:29:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 25 16:29:33 2015 +0000"
      },
      "message": "Merge \"Add cortex-a53.a57 target for 32 bit big/little.\""
    },
    {
      "commit": "70a9f0a3bc310c863b5c90c9860aae842f82e47f",
      "tree": "0af79f4cd9b1011a64b1219c7182930b15c96d89",
      "parents": [
        "c38cee59dcba23576cc01bfbb97cecc5eb01a75c",
        "fdfcfce7c6392d32f95a9f776ecd13da205b906c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 24 21:26:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 24 21:26:40 2015 +0000"
      },
      "message": "Merge \"Fix over read in strcpy/stpcpy/strcat.\""
    },
    {
      "commit": "fdfcfce7c6392d32f95a9f776ecd13da205b906c",
      "tree": "2195834870f5c0ecda99c8f6354f974211eb6d66",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 23 22:09:09 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 24 14:17:36 2015 -0700"
      },
      "message": "Fix over read in strcpy/stpcpy/strcat.\n\nThis bug will happen when these circumstances are met:\n\n- Destination address \u0026 0x7 \u003d\u003d 1, strlen of src is 11, 12, 13.\n- Destination address \u0026 0x7 \u003d\u003d 2, strlen of src is 10, 11, 12.\n- Destination address \u0026 0x7 \u003d\u003d 3, strlen of src is 9, 10, 11.\n- Destination address \u0026 0x7 \u003d\u003d 4, strlen of src is 8, 9, 10.\n\nIn these cases, the dest alignment code does a ldr which reads 4 bytes,\nand it will read past the end of the source. In most cases, this is\nprobably benign, but if this crosses into a new page it could cause a\ncrash.\n\nFix the labels in the cortex-a9 strcat.\n\nModify the overread test to vary the dst alignment to expost this bug.\nAlso, shrink the strcat/strlcat overread cases since the dst alignment\nvariation increases the runtime too much.\n\nBug: 24345899\nChange-Id: Ib34a559bfcebd89861985b29cae6c1e47b5b5855\n"
    },
    {
      "commit": "54ee0407dc4f51f7a4d889968d137e56928c1607",
      "tree": "0beffd69540cb6c355b3cea9d0f0f0c9f44d3147",
      "parents": [
        "8d92afe32265be8c36ea2adb3c4059298cd583eb"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 17 14:11:05 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 24 14:00:00 2015 -0700"
      },
      "message": "Add cortex-a53.a57 target for 32 bit big/little.\n\nThe routines optimized for cortex-a7 and cortex-a53 cause performance\ndrops on cortex-a57. Instead create a target that is the middle ground\nthat works relatively well on either core.\n\nChange-Id: Ie2b6cc9a59a01c7b30602ee368b2b90f5e886289\n"
    },
    {
      "commit": "c38cee59dcba23576cc01bfbb97cecc5eb01a75c",
      "tree": "762db91903f5034b0749b6c04e048d804d2e155a",
      "parents": [
        "cb696c50c293f387c7de46cd3c8573a335e273bf",
        "0aa96aedbe8db44148b7e41fd1a58ff8ad00964a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 23 20:08:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 23 20:08:09 2015 +0000"
      },
      "message": "Merge \"Prevent the build system from hiding our ABI.\""
    },
    {
      "commit": "0aa96aedbe8db44148b7e41fd1a58ff8ad00964a",
      "tree": "2b19f9e06003a9dc4e4bef88300d4072bdba12d5",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 22 16:30:31 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 22 16:49:40 2015 -0700"
      },
      "message": "Prevent the build system from hiding our ABI.\n\nUnfortunately --exclude-libs (now passed globally) clobbers our\nversion script, so we have to prevent the build system from using this\nflag.\n\nBug: http://b/24166967\nChange-Id: I33c766d399c418fdc17983c8c0a56608d463201e\n"
    },
    {
      "commit": "9e3a24915241c07d8ea886533c8de6a85744a734",
      "tree": "7aeec38dbcf03fb50725080e83d20bc2bef0cf51",
      "parents": [
        "dd51453904f609347ce7951661eff8bc12a1c0a4",
        "0dec2289211dd75e2dd99e4aad84ece845e69864"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 22:49:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 22 22:49:20 2015 +0000"
      },
      "message": "Merge \"Clean up /proc/\u003cpid\u003e/maps sscanfs.\""
    },
    {
      "commit": "0dec2289211dd75e2dd99e4aad84ece845e69864",
      "tree": "0fc7ffc887c9aa50a323e081f3dbcc97a4b50d09",
      "parents": [
        "efcb5d9d4c4b482cf21318b2bb4aec6cf6d8e0f5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 15:45:50 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 15:45:50 2015 -0700"
      },
      "message": "Clean up /proc/\u003cpid\u003e/maps sscanfs.\n\nsscanf will swallow whitespace for us.\n\nChange-Id: I59931cbad00f0144fd33ed4749ac0aaad15e6de6\n"
    },
    {
      "commit": "dd51453904f609347ce7951661eff8bc12a1c0a4",
      "tree": "d0fdde3d113d58ccdc81fabbd112fe7e3d952dea",
      "parents": [
        "efcb5d9d4c4b482cf21318b2bb4aec6cf6d8e0f5",
        "a39e30141d46c268ca66d6ad786d244275c4e827"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Sep 22 21:53:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 22 21:53:39 2015 +0000"
      },
      "message": "Merge \"Add preliminary OEM UID/GID support.\""
    },
    {
      "commit": "efcb5d9d4c4b482cf21318b2bb4aec6cf6d8e0f5",
      "tree": "2be02a5f316342fd3326532dc1ba1584ea092839",
      "parents": [
        "3d00f79f98c8b981a36a79657f07a303a2288a55",
        "44ddb31e75ff0cebea8249065606600185d58680"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 21:52:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 22 21:52:28 2015 +0000"
      },
      "message": "Merge \"Remove some \u003csys/cdefs.h\u003e cruft.\""
    },
    {
      "commit": "3d00f79f98c8b981a36a79657f07a303a2288a55",
      "tree": "94db245f73e52d673980129c9e49888028153ce0",
      "parents": [
        "822c40a3389a953d9b43f05ad6e40640fd55f9c4",
        "33ac04a215a70d2f39f1ddec1bba5a42c0fd8bee"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 22 20:44:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 22 20:44:05 2015 +0000"
      },
      "message": "Merge \"Increase alternative signal stack size on 64-bit devices.\""
    },
    {
      "commit": "a39e30141d46c268ca66d6ad786d244275c4e827",
      "tree": "c193ab12774edd189253ddd914c35654ad74fcfd",
      "parents": [
        "822c40a3389a953d9b43f05ad6e40640fd55f9c4"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Sep 22 11:46:43 2015 -0700"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Sep 22 13:33:17 2015 -0700"
      },
      "message": "Add preliminary OEM UID/GID support.\n\nUntil we implement full support for passwd/group files, add a simple\nway to use the new OEM UID/GID range (5000-5999).\n\noem_XXX -\u003e 5000 + XXX iff 0 \u003c\u003d XXX \u003c 1000.\n\nBug: 23225475\n\nChange-Id: If48b88135d5df538313414f747d6c4c63bf0a103\n"
    },
    {
      "commit": "44ddb31e75ff0cebea8249065606600185d58680",
      "tree": "c15f29bd1fd7423928a7ae117ec19f952d78c1ad",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 13:00:21 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 13:00:21 2015 -0700"
      },
      "message": "Remove some \u003csys/cdefs.h\u003e cruft.\n\nIn particular, we don\u0027t need to record the peculiarities of every\nversion of GCC ever shipped. It just makes this file harder to follow.\n\nChange-Id: Ie9035d78eae86b4aed9dff3576c6f54e268aaced\n"
    },
    {
      "commit": "f8a2243ebeb3ce60e412cd7b71b31c7b31313d58",
      "tree": "c6c9bd55b48e97caebf60b5875544cdcce7f5755",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "message": "\u003cnetinet/udp.h\u003e should include \u003clinux/udp.h\u003e.\n\nThe comment about \"other stuff\" referred to pre-uapi headers. Everything\nin the current \u003clinux/udp.h\u003e should be exposed to userspace. The only\nproblem is that BSD and Linux use different names for the members of\nstruct udphdr. We can move the Linux udphdr out of the way and use an\nanonymous union to get the best of both worlds. (Though unfortunately\nthis means that code that includes \u003clinux/udp.h\u003e directly instead of\nusing \u003cnetinet/udp.h\u003e now won\u0027t have any definition of struct udphdr.\nWe\u0027ve taken the stance in the past that you shouldn\u0027t include a linux/\nheader if there\u0027s a standard equivalent --- you should rely on us\ntransitively including it for you.)\n\nChange-Id: Ie625892441b0edd8df3b76d3fcf2cbe299077bc4\n"
    },
    {
      "commit": "33ac04a215a70d2f39f1ddec1bba5a42c0fd8bee",
      "tree": "481db0a7986cd82b887f82d53d759a6afee88f22",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 22 11:16:15 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 22 11:18:26 2015 -0700"
      },
      "message": "Increase alternative signal stack size on 64-bit devices.\n\nBug: 23041777\nBug: 24187462\nChange-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437\n"
    },
    {
      "commit": "777bd95c63fcbb461deac40b303d706d3b672837",
      "tree": "4d052b6814dcb14ab8f6c8cdcb74928b1d7c8c32",
      "parents": [
        "96b1323a403bbd946487e4107a076b0a307136b1",
        "6048173b3622b99b9112e229f4c729c69e093e01"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 18 20:44:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 18 20:44:58 2015 +0000"
      },
      "message": "Merge \"Import scsi headers.\""
    },
    {
      "commit": "96b1323a403bbd946487e4107a076b0a307136b1",
      "tree": "9517270904e4008025d077f6d7c70c3b7c15d1d2",
      "parents": [
        "7c4604518bcd27e27fb305388188275f49dea468",
        "c6043f6b27dc8961890fed12ddb5d99622204d6d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Sep 18 20:39:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 18 20:39:07 2015 +0000"
      },
      "message": "Merge \"Define WIFCONTINUED()\""
    },
    {
      "commit": "7c4604518bcd27e27fb305388188275f49dea468",
      "tree": "c2503603432ab006990863dc5a3730920c9f486a",
      "parents": [
        "355f3d0c12a3cca3bf8304073f81b5e0d544ac59",
        "d75abb9614b04c3da3104099752726f9d1c6d8c7"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Sep 18 20:38:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 18 20:38:54 2015 +0000"
      },
      "message": "Merge \"Fix SOCK_* flag definitions\""
    },
    {
      "commit": "c6043f6b27dc8961890fed12ddb5d99622204d6d",
      "tree": "154fe0db6e0eaeda3858d6f0bca4ba9adda9afb0",
      "parents": [
        "d75abb9614b04c3da3104099752726f9d1c6d8c7"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Aug 25 17:50:29 2015 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Sep 18 13:37:53 2015 -0700"
      },
      "message": "Define WIFCONTINUED()\n\nChange-Id: Id0feebd90d0525f3b479eb119b942eae8ca568d1\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "d75abb9614b04c3da3104099752726f9d1c6d8c7",
      "tree": "e3e64f1300f96712b7cedf4a61e1299a48486111",
      "parents": [
        "cd0ed2f174d9015da5ae7206bc4c5190cd0bb51e"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Aug 25 17:45:46 2015 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Sep 18 13:37:53 2015 -0700"
      },
      "message": "Fix SOCK_* flag definitions\n\nMIPS and the rest of the world only disagree on the first two SOCK_*\nconstants, so restructure the #ifdef accordingly.\n\nAs a deliberate side effect, this fixes SOCK_DCCP being missing on\nnon-MIPS platforms.\n\nChange-Id: I2267008f1121a7eebe1ed9097afab6e612bce7f0\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "6048173b3622b99b9112e229f4c729c69e093e01",
      "tree": "5eada2e4ab66a789e5996e28f7de9b7555861fa2",
      "parents": [
        "d9639559ccccf055919a4d1487ca8a6cba953715"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 17 21:22:44 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 17 21:22:44 2015 -0700"
      },
      "message": "Import scsi headers.\n\nLinux\u0027s scsi headers are a mix of userspace-facing and kernel-facing\ndeclarations that can\u0027t be directly used by userspace.  The glibc\nmaintainers manually copy-and-pasted these definitions into their own\nscsi headers and haven\u0027t substantially updated them in 15 years.  musl\nhas a similar set of definitions in its scsi headers.\n\nThis change generates the scsi headers from external/kernel-headers,\nusing the updated generation script so that the single modified scsi.h\ntakes the place of the non-modified one.\n\nChange-Id: Ic14d155aa534b0edc1ee686d61113ce5cdf0e6af\n"
    },
    {
      "commit": "d9639559ccccf055919a4d1487ca8a6cba953715",
      "tree": "b6e344f4050d30307a284cccb458b9b7e3a208aa",
      "parents": [
        "353e7e5d11fa59750c5358ad3e239765dcbeb335",
        "d12c332018143e731337292910b03fa0f41b2ca2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 18 04:15:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 18 04:15:32 2015 +0000"
      },
      "message": "Merge \"Add support for manually modified kernel headers.\""
    },
    {
      "commit": "d12c332018143e731337292910b03fa0f41b2ca2",
      "tree": "e87bc9b2828da12f90cdf15bd7f07a00ff8de4a2",
      "parents": [
        "14545d4ce3dd446f20a14dcff37d60ff8d756f7a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 15 14:13:17 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 17 21:02:52 2015 -0700"
      },
      "message": "Add support for manually modified kernel headers.\n\nThis changes the scripts so that if some kernel files exists\nin external/kernel-headers/modified, that they will be preferred\nover the same files found in original. This is to support the case\nwhere the kernel headers cannot be taken without some small modifications.\n\nIncluded with this change, is a general cleanup of the python scripts.\n\nThis also modifies the generate uapi headers script to indicate if the\nsource of the modified headers has changed.\n\nChange-Id: Id13523b244ced52a2ecd9f1399c43996dd8296fa\n"
    },
    {
      "commit": "35e91a10e0e92ee51af321f1cc0a1821794f54d8",
      "tree": "b08aa610d8f10e857969a7dbc0d984b455670d66",
      "parents": [
        "57866a6ddef66e9c331df4f20e6c39920aba2a99"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 17 15:28:45 2015 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 17 15:28:45 2015 -0700"
      },
      "message": "Update Android.bp for setjmp cookies\n\nChange-Id: I57245e4eedf9b8e1edc7de46208be5aa47c94b28\n"
    },
    {
      "commit": "2342e643d4c998ae314d03d207f703c1cc5159e4",
      "tree": "0253474b73ae88879fc36d4de7256cf3c0eac092",
      "parents": [
        "85c14fb086e92b2c774ce8d8f6e4cde8d8a745b7"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Sep 16 18:42:45 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 17 14:51:44 2015 -0700"
      },
      "message": "Implement setjmp cookies on x86_64.\n\nBug: http://b/23942752\nChange-Id: Iea8d03de1dd9ca5a128c072c94b10de3a8056348\n"
    },
    {
      "commit": "85c14fb086e92b2c774ce8d8f6e4cde8d8a745b7",
      "tree": "a7cff77f7fbb6fb3b22409e4cb0e6e55a2b4bf4e",
      "parents": [
        "823cff847b3b202b235ddd84650338f07bc61511"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Sep 15 11:30:35 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 17 14:51:44 2015 -0700"
      },
      "message": "Implement setjmp cookies on x86.\n\nBug: http://b/23942752\nChange-Id: I2014f95989d0ab094b225234d98ccee477166c9d\n"
    },
    {
      "commit": "54db0df8d619b135af2413035a8d807b0c1489f7",
      "tree": "64e37e08a0cb285d58310c4a2cc748036b25a2b3",
      "parents": [
        "7fda8d2aa4d24ab400f6f0cb9f792488b634afae"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 11 15:23:32 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 17 14:07:24 2015 -0700"
      },
      "message": "Implement setjmp cookies on AArch64.\n\nBug: http://b/23942752\nChange-Id: I81408ef0dd53010140b51e3083d357d3f2961112\n"
    },
    {
      "commit": "7fda8d2aa4d24ab400f6f0cb9f792488b634afae",
      "tree": "d81ce371104bff97fa70f76b76eefe05b0c588f5",
      "parents": [
        "90fc8e24876412a816776d44bedc77e1f1888a13"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 10 15:40:24 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 17 14:07:24 2015 -0700"
      },
      "message": "Implement setjmp cookies on ARM.\n\nReuse the top bits of _JB_SIGFLAG field previously used to store a\nboolean to store a cookie that\u0027s validated by [sig]longjmp to make it\nharder to use as a ROP gadget. Additionally, encrypt saved registers\nwith the cookie so that an attacker can\u0027t modify a register\u0027s value to\na specific value without knowing the cookie.\n\nBug: http://b/23942752\nChange-Id: Id0eb8d06916e89d5d776bfcaa9458f8826717ba3\n"
    },
    {
      "commit": "90fc8e24876412a816776d44bedc77e1f1888a13",
      "tree": "0b04949ec53f59801a945a447f4144ec032f2a8f",
      "parents": [
        "cbd0a15be881abb8ce1feb5b389da2f517a9a4c6",
        "208ae17e5f05ce26f2fa830c6d60c055d1d3f86a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 17 19:31:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 17 19:31:07 2015 +0000"
      },
      "message": "Merge \"Add Android.bp for libc/libm/libdl\""
    },
    {
      "commit": "208ae17e5f05ce26f2fa830c6d60c055d1d3f86a",
      "tree": "95857ecee983b8e7741f96c229b5762db0fd4f68",
      "parents": [
        "14545d4ce3dd446f20a14dcff37d60ff8d756f7a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 16 16:33:27 2015 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 16 16:50:01 2015 -0700"
      },
      "message": "Add Android.bp for libc/libm/libdl\n\nChange-Id: I3537363849ba1244348996ff17c5ace1b95dbeee\n"
    },
    {
      "commit": "569333293aeefbe792826cd59140dc23704018c4",
      "tree": "9174c0192992720b8f13db88618f6ec3e491b53e",
      "parents": [
        "14545d4ce3dd446f20a14dcff37d60ff8d756f7a"
      ],
      "author": {
        "name": "Mor-sarid, Nitzan",
        "email": "nitzan.mor-sarid@intel.com",
        "time": "Fri Sep 11 05:31:36 2015 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 16 11:45:13 2015 -0700"
      },
      "message": "Fix the way to get main thread stack start address.\n\nFor previous way to get the stack using the [stack] string from\n/proc/self/task/\u003cpid\u003e/maps is not enough. On x86/x86_64, if an\nalternative signal stack is used while a task switch happens,\nthe [stack] indicator may no longer be correct.\n\nInstead, stack_start from /proc/self/stat which is always inside\nthe main stack, is used to find the main stack in /proc/self/maps.\n\nChange-Id: Ieb010e71518b57560d541cd3b3563e5aa9660750\nSigned-off-by: Nitzan Mor-sarid \u003cnitzan.mor-sarid@intel.com\u003e\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\n"
    },
    {
      "commit": "14545d4ce3dd446f20a14dcff37d60ff8d756f7a",
      "tree": "b869dad1c78b09de665ad001df795810da97455c",
      "parents": [
        "44c8ac8bd7747d907720c63538625a4b95245234",
        "26a83229728c099f5572edb65dedce7163dbff71"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 15 15:13:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 15 15:13:35 2015 +0000"
      },
      "message": "Merge \"Move several FreeBSD functions to OpenBSD.\""
    },
    {
      "commit": "26a83229728c099f5572edb65dedce7163dbff71",
      "tree": "533e5ebee1e83f83e0ff3c6df1214358dbed304b",
      "parents": [
        "cd0ed2f174d9015da5ae7206bc4c5190cd0bb51e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 14 19:01:58 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 14 19:01:58 2015 -0700"
      },
      "message": "Move several FreeBSD functions to OpenBSD.\n\nThere\u0027s no difference between the two BSDs for these functions, so let\u0027s go\nwith the majority.\n\nChange-Id: Ic296f23153a48bed5ad152f5b31989c4e00e60bd\n"
    },
    {
      "commit": "71927a82379f7a72559ea96e6678d6215090937f",
      "tree": "1ec3dde6fb57f4c00aa0d3849e0e5e328ada58a0",
      "parents": [
        "cd0ed2f174d9015da5ae7206bc4c5190cd0bb51e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 14 18:45:52 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 14 18:45:52 2015 -0700"
      },
      "message": "Sync with upstream NetBSD lib/libc/regex.\n\nBug: http://b/22850181\nChange-Id: I11a51a2031e68a953ccd5691da98c699c7d01904\n"
    },
    {
      "commit": "268af26359c8f1c87585e26d2763e3a3a63f8714",
      "tree": "7b1f9d3473be16d6ad3208195e28fc3ce1dee29c",
      "parents": [
        "1c7b84ca0095e0dc4da8434e9e0c59cd2326f763"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 11 09:47:27 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 11 09:47:27 2015 -0700"
      },
      "message": "CMSG_DATA should return an unsigned char*.\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html\n\u003e CMSG_DATA(cmsg)\n\u003e    If the argument is a pointer to a cmsghdr structure, this macro\n\u003e    shall return an unsigned character pointer to the data array\n\u003e    associated with the cmsghdr structure.\n\nChange-Id: I3f89ba19cbca4e6727abc65a2bbcd59267892ba8\n"
    },
    {
      "commit": "af4713e6a5658d46570f37fe791120c60fcd34f2",
      "tree": "11d93edba33b8debc0164bd8aa90d949ec8f1572",
      "parents": [
        "a6435a186d3b0e1ec4c17f7f5e8ba2bb198faeb2"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 04 12:59:53 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 04 13:02:09 2015 -0700"
      },
      "message": "Unify unistd.h.\n\nMake unistd.h usable from all platform versions.\n\nAlso name all function parameters for Android Studio.\n\nBug: http://b/21952040\nChange-Id: Ia1777fd4a6d4e37f25cc402c28fb78c003e481e3\n"
    },
    {
      "commit": "a6435a186d3b0e1ec4c17f7f5e8ba2bb198faeb2",
      "tree": "ff0e3ec2f91a57cccb8510e56a4b3251cb1e5419",
      "parents": [
        "ba9c17053456aed4452a349cf45c5960d9231f25"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 06 14:32:25 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 04 13:02:03 2015 -0700"
      },
      "message": "Use attribute availability.\n\nBug: http://b/21952040\nChange-Id: I3998d88bc6076d60ae5cf7efd112817f80f17971\n"
    },
    {
      "commit": "efc134dba34baa942fd698e842ee2c6a8f57252e",
      "tree": "2bd55b7f33fae14fedd0b2b04c012c761dc51ea1",
      "parents": [
        "b423ffa6c27ade8485f1f061fd3775553e9bb457"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 03 15:01:59 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 03 17:45:33 2015 -0700"
      },
      "message": "Only close stdin/stdout/stderr for debug malloc.\n\nThe debug malloc code unconditionally closes stdin/stdout/stderr,\nwhich means that other atexit functions cannot use them. Only\nclose these if there is a debug malloc final function to call.\n\nThis doesn\u0027t appear to be a problem on most normal applications or the\natexit_exit bionic unit test would be failing. However, if you\nenable stat dumping in jemalloc, nothing prints. Most likely trying\nto add an atexit function from within libc is causing that atexit\nto run after the debug malloc atexit function.\n\nChange-Id: I963720d4ccaaa511e44af07a7461f17eb3f84e8e\n"
    },
    {
      "commit": "915bf813ad8761ce270d1422c483cfd252151d42",
      "tree": "4caa574502a5c1a38adf7825262d88975b5f69f1",
      "parents": [
        "cc25196662cab824117e7cb79e435bd3aaf37dcc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 02 17:23:31 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 02 17:23:31 2015 -0700"
      },
      "message": "Update to v3.18.21 kernel headers.\n\nChange-Id: I4ade68d62981c7f6f361750cc811e8d84be9d5b9\n"
    },
    {
      "commit": "32bf43f44a4c0ccf04c6a60094aff574d50ecfe7",
      "tree": "9f4ee4ace8e764e5ee7dc5ee285d58d26d0d0be1",
      "parents": [
        "a992004c9edf4db0c11aae8610cce6ebf13d53b4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 01 16:01:50 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 01 16:01:50 2015 -0700"
      },
      "message": "Rename debug_stacktrace to debug_backtrace.\n\nAll the functions say \"backtrace\", so it\u0027s weird that the filename\nsays \"stacktrace\".\n\nChange-Id: I1c88a56c1f9adb1bae4615edc8af3e73db270a8c\n"
    },
    {
      "commit": "44ead717268bd446d6d5d24e577b1ef1cdea5d30",
      "tree": "d106bf93cf512af709fbe75f03c976eba36ffa94",
      "parents": [
        "c2e634dd303a44b11e30ab31e39ffc4eae5467f8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 28 20:23:52 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 28 20:23:52 2015 -0700"
      },
      "message": "Regenerate NOTICE files.\n\nChange-Id: Ia5c340220bb75e4e3166cc483ea77d19cfb08a71\n"
    },
    {
      "commit": "c2e634dd303a44b11e30ab31e39ffc4eae5467f8",
      "tree": "c641095a3245546c28bde043493ea0dfad8f624e",
      "parents": [
        "46c7bc83ab0324983312f16bd40cc1cdfe11cce6",
        "adf5c7237da419393462a19c94c102abf7865c78"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 27 23:17:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 27 23:17:43 2015 +0000"
      },
      "message": "Merge \"Fix regoff_t for LP32 and _FILE_OFFSET_BITS\u003d64.\""
    },
    {
      "commit": "46c7bc83ab0324983312f16bd40cc1cdfe11cce6",
      "tree": "80e900ba5dbe10d065e0d89334798622bec32fb0",
      "parents": [
        "bfaee4bd6ad901a699df21fd44d95f34e2e7444d",
        "cc6461861e6f09e0e0dd98e9409a11ea2c356d88"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 27 22:20:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 27 22:20:51 2015 +0000"
      },
      "message": "Merge \"Don\u0027t re-export libunwind_llvm.\""
    },
    {
      "commit": "adf5c7237da419393462a19c94c102abf7865c78",
      "tree": "2db8f570d64756e5e964aac8aeec4c99166a8f27",
      "parents": [
        "bfaee4bd6ad901a699df21fd44d95f34e2e7444d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 27 14:48:32 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 27 14:48:32 2015 -0700"
      },
      "message": "Fix regoff_t for LP32 and _FILE_OFFSET_BITS\u003d64.\n\nbionic is built without _FILE_OFFSET_BITS\u003d64, so internally regoff_t\nwas 32-bit on LP32, but code compiled with _FILE_OFFSET_BITS would\nexpect rm_so and rm_eo in struct regmatch_t to be 64-bit, leading to\nconfusion.\n\nBug: http://b/23566443\nChange-Id: Iae92fa545104068e4f64ce1977f5ec616859638c\n"
    },
    {
      "commit": "848808c660ec4811f4ff5a2748b6f754b008cd21",
      "tree": "c0002fb14ff72a1fb405dfbe2635d7d80309f7c9",
      "parents": [
        "d518a6d3bccc82cffb61fb7615b8ba09a564dec0",
        "6f4594d5dc61bb67978c44cd6eeb0e7bfb621c9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 26 22:04:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 26 22:04:32 2015 +0000"
      },
      "message": "Merge \"Add preadv/pwritev.\""
    },
    {
      "commit": "6f4594d5dc61bb67978c44cd6eeb0e7bfb621c9b",
      "tree": "9c925e99fe826914d93a6c1e00c5f62a8cd8c0a8",
      "parents": [
        "629ed517126b3be32f2b2e8b710e63358691c296"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 26 13:27:43 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 26 14:48:55 2015 -0700"
      },
      "message": "Add preadv/pwritev.\n\nBug: http://b/12612572\nChange-Id: I38ff2684d69bd0fe3f21b1d371b88fa60d5421cb\n"
    },
    {
      "commit": "d518a6d3bccc82cffb61fb7615b8ba09a564dec0",
      "tree": "eab77a3cd21e60e468566fd0758d26d1c0042b84",
      "parents": [
        "629ed517126b3be32f2b2e8b710e63358691c296",
        "b72c9d80ab760eb2f33a6667b0f0acfb779d9439"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 26 19:39:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 26 19:39:36 2015 +0000"
      },
      "message": "Merge \"Fix the 16 bit/32 bit instruction check for arm.\""
    },
    {
      "commit": "b72c9d80ab760eb2f33a6667b0f0acfb779d9439",
      "tree": "9521cddb1f7d61eb739a3d787eec490519611c11",
      "parents": [
        "4d7d05bd60b1d0bc20c95dd764fc2d916a12bb74"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 25 20:48:46 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 26 10:55:09 2015 -0700"
      },
      "message": "Fix the 16 bit/32 bit instruction check for arm.\n\nThe current code only looks for a branch, instead make this more\ngeneral.\n\nChange-Id: Ib442d6f2f04074e274b320ca0cf04734cc78e5d2\n"
    },
    {
      "commit": "7ac3c128bb5df83cb001cb50b6a5ee4da9a0b0e0",
      "tree": "c942f25efe8d5147ce59cb841806b2ed858fe928",
      "parents": [
        "4d5c4f085bc880af838d50f6bbd60d86e800b6e1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 26 09:59:29 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 26 09:59:29 2015 -0700"
      },
      "message": "Add strchrnul.\n\nBug: http://b/18374026\nChange-Id: Iea923309c090a51a2d41c5a83320ab3789f40f1c\n"
    },
    {
      "commit": "cc6461861e6f09e0e0dd98e9409a11ea2c356d88",
      "tree": "8dc22049e97ba6e76548d3bba403ad03bbe7f182",
      "parents": [
        "53f2abb5ffc103b9ea7fbe2fee13edead2553f3a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 25 16:29:00 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 25 16:29:28 2015 -0700"
      },
      "message": "Don\u0027t re-export libunwind_llvm.\n\nChange-Id: Ic16be4ada4cff374209d5eea89a7f81ed2fff398\n"
    },
    {
      "commit": "03f22465ae3106517c5852f1904f44eb937ccbbf",
      "tree": "9298747b45c41cbd3fa7eba15978500ed7f1e8ed",
      "parents": [
        "53f2abb5ffc103b9ea7fbe2fee13edead2553f3a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 25 14:18:26 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 25 14:18:26 2015 -0700"
      },
      "message": "Add the missing aarch64 user structs.\n\nBug: http://b/23377194\nChange-Id: I7d36717e129d2e044dc2cf24de4227c3bcdd60ce\n"
    },
    {
      "commit": "53f2abb5ffc103b9ea7fbe2fee13edead2553f3a",
      "tree": "7541103708ec757e3f3273ce2a6994ddc729b0d4",
      "parents": [
        "f7286a26deba0da370003eb97918176a69b6cfa6",
        "6e7bc700e287f5d46165862a7031236670fa94d5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 25 18:31:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 25 18:31:26 2015 +0000"
      },
      "message": "Merge \"Update timezone data to 2015f\""
    },
    {
      "commit": "6e7bc700e287f5d46165862a7031236670fa94d5",
      "tree": "6556cf0f5aaa2b35e195e19e98fc3d05d941268b",
      "parents": [
        "4a8c4ce403f702c0b8279873fae3d62497c4a123"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 25 12:46:33 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 25 12:46:33 2015 +0100"
      },
      "message": "Update timezone data to 2015f\n\n  Changes affecting future time stamps\n\n    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)\n    The abbreviation remains \"KST\".  (Thanks to Robert Elz.)\n\n    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen\n    and Pablo Camargo.)\n\n  Changes affecting past and future time stamps\n\n    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.\n    (Thanks to Roman Tudos.)\n\nBug: 23480367\nChange-Id: I6a46b79be3a547d4af5f3f7ca1452640ed764e1c\n"
    },
    {
      "commit": "f7286a26deba0da370003eb97918176a69b6cfa6",
      "tree": "4259a8dd5ee1cb955883102ef1d24559db953a38",
      "parents": [
        "5bf7942008287381e6d2aa2216d9ded24f639142",
        "ac77536b79d0b8736523c852b965f6de8de30fa8"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 25 09:22:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 25 09:22:36 2015 +0000"
      },
      "message": "Merge \"Move tzdata scripts from bionic to external/icu\""
    },
    {
      "commit": "06b3f70cfecc372d2fdb5dd7665ccef2f8d09527",
      "tree": "550c5e10cec64c2dfd1630a54b2bf2fef785a334",
      "parents": [
        "a80ae8b84812d69ca63647262ab888b2f40d55a0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Aug 21 16:59:31 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 24 13:06:10 2015 -0700"
      },
      "message": "Add exported __popcount_tab for libgcc compat under compiler-rt.\n\nChange-Id: I8df09e8f199761edbba290d7f1ea530781054b03\n"
    },
    {
      "commit": "ac77536b79d0b8736523c852b965f6de8de30fa8",
      "tree": "749bfc3b637f44451cd9983cc57637b6afb7b041",
      "parents": [
        "4a8c4ce403f702c0b8279873fae3d62497c4a123"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Aug 24 17:52:56 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Aug 24 18:25:05 2015 +0100"
      },
      "message": "Move tzdata scripts from bionic to external/icu\n\nThe scripts affect files in external/icu, bionic\nand the generated files affect libcore. The files must\nbe updated together so there is no \"obvious\" home.\n\nOEM developers seem to want to update ICU\nthemselves and have been asking how. Moving the\nscripts to external/icu and splitting the ICU generation\ncode into a sub-script they can run makes some sense.\n\nBug: 23419215\nChange-Id: Ia26fa526fd2b560a79f36d327a10e262a85db752\n"
    },
    {
      "commit": "4d7d05bd60b1d0bc20c95dd764fc2d916a12bb74",
      "tree": "c28190a9d36ad5c12442c0e6911f6ac404aeddfe",
      "parents": [
        "5f7a5125a53951543e27276877fa6b71eb08a5d8",
        "3d0142227245250a28f138807d723b7a2e0dc244"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Aug 24 06:59:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 24 06:59:43 2015 +0000"
      },
      "message": "Merge \"Revert \"fix incompatibility with -fstack-protector-strong\"\""
    },
    {
      "commit": "3d0142227245250a28f138807d723b7a2e0dc244",
      "tree": "d658def4a42a6dcf4d3003f45437cfb59781dc30",
      "parents": [
        "96dd2b6e85e03ca9ab2600c2031490c22d5626ad"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Aug 24 06:58:39 2015 +0000"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Aug 24 06:58:39 2015 +0000"
      },
      "message": "Revert \"fix incompatibility with -fstack-protector-strong\"\n\nReports of devices not booting with a build range including\nthis patch. Reverting while I investigate.\n\nThis reverts commit 96dd2b6e85e03ca9ab2600c2031490c22d5626ad.\n\nBug: 23470962\nChange-Id: I056f1d8668f52d31412868975f2143249fc7e8f0\n"
    },
    {
      "commit": "5f7a5125a53951543e27276877fa6b71eb08a5d8",
      "tree": "256f0b1d94cc8167ad94324a32d46ee1baffecc5",
      "parents": [
        "62c26ed93e76ca9b3dd265f41eb3685ed2e72808",
        "96dd2b6e85e03ca9ab2600c2031490c22d5626ad"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Aug 23 16:21:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Aug 23 16:21:18 2015 +0000"
      },
      "message": "Merge \"fix incompatibility with -fstack-protector-strong\""
    },
    {
      "commit": "62c26ed93e76ca9b3dd265f41eb3685ed2e72808",
      "tree": "c28190a9d36ad5c12442c0e6911f6ac404aeddfe",
      "parents": [
        "49715dcc8a8be1b4545b91e453467e1c45343e51",
        "afdd15456ad0c7223c690731f5eb0af54cdb0024"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Aug 21 03:03:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 21 03:03:22 2015 +0000"
      },
      "message": "Merge \"add fortified implementations of write/pwrite{,64}\""
    },
    {
      "commit": "afdd15456ad0c7223c690731f5eb0af54cdb0024",
      "tree": "96d486d0485a4d63d7090f72192685c3cbdd0f82",
      "parents": [
        "7e919daeaad62515ebbbf7b06badc77625a14d90"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Mon Jul 20 21:37:29 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Thu Aug 20 13:46:51 2015 -0400"
      },
      "message": "add fortified implementations of write/pwrite{,64}\n\nThese are just based on the read/pread{,64} implementations with the\nfunction calls and error messages adjusted as appropriate. The only\ndifference is that the buffer parameters are const.\n\nChange-Id: Ida1597a903807f583f230d74bcedffdb7b24fcf6\n"
    },
    {
      "commit": "079fc833137d5067c0cd3dc5211e72019314dd80",
      "tree": "e1336898a36e28000e765cd8d0584780b5ce6066",
      "parents": [
        "df0891adcfe97dd8e4c825ea6ea586cc5bd09ef6",
        "224bef8ec492e8c2a88f17f05ab7982495b43d6a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 19 18:25:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 19 18:25:38 2015 +0000"
      },
      "message": "Merge \"Modify ip to get the instr being executed.\""
    },
    {
      "commit": "df0891adcfe97dd8e4c825ea6ea586cc5bd09ef6",
      "tree": "0192a4226a6c94ac5b699e37f52f8f8b1dd538fe",
      "parents": [
        "e4d51cf37a861e258e423de14619982af51d2527",
        "aa23b2ee5e2e0d51f0abf62c388dafc8ebd44d61"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 18 22:43:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 18 22:43:47 2015 +0000"
      },
      "message": "Merge \"Add a TLS slot for TSAN.\""
    },
    {
      "commit": "224bef8ec492e8c2a88f17f05ab7982495b43d6a",
      "tree": "cbd35e18d699a70e0c1ec7ad49bdc27b364cfc37",
      "parents": [
        "e4d51cf37a861e258e423de14619982af51d2527"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 18 15:41:31 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 18 15:41:31 2015 -0700"
      },
      "message": "Modify ip to get the instr being executed.\n\nThe ip values being reported are always pointing at the next\ninstruction to execute, not the currently executing instruction.\nChange the ip address to point at the currently executing instruction.\n\nThis fixes a problem where the next instruction is not actually\npart of the same function, so if an addr2line is used, it reports\nthe wrong value.\n\nThis does not modify the ip for mips.\n\nBug: 22565486\nChange-Id: Ie0df4c9727f62ce06948b9a2b0e4b7956eb6e752\n"
    },
    {
      "commit": "aa23b2ee5e2e0d51f0abf62c388dafc8ebd44d61",
      "tree": "e6babd1270165a17e8bacd446504355736d01a79",
      "parents": [
        "6816d8cc69dc1d142d722686d006f25df94afcd3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 18 15:09:00 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 18 15:09:00 2015 -0700"
      },
      "message": "Add a TLS slot for TSAN.\n\nThis is so TSAN won\u0027t need to rely on pthread_getspecific for finding\nthe current thread state.\n\nChange-Id: Id3befeabec0a9f7ca77b5549fbc427e22e6aaa34\n"
    },
    {
      "commit": "e4d51cf37a861e258e423de14619982af51d2527",
      "tree": "a47c182c32d8f53983276bd3578d7ebfacf4447e",
      "parents": [
        "4a8c4ce403f702c0b8279873fae3d62497c4a123",
        "5930772286de72a6cec1a9c7513355efe238e7ef"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 18 17:18:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 18 17:18:11 2015 +0000"
      },
      "message": "Merge \"Add optimized cortex-a7/cortex-a53 memset/memcpy.\""
    },
    {
      "commit": "2926f9a31ef18fbf22922135895cb4c6790d3ad0",
      "tree": "62021a02fdbbbd9f321cc742eaa6c1cde1af3367",
      "parents": [
        "6816d8cc69dc1d142d722686d006f25df94afcd3"
      ],
      "author": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Sun Aug 16 00:44:40 2015 +0000"
      },
      "committer": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Mon Aug 17 22:06:12 2015 +0000"
      },
      "message": "libc: remove bcopy from memmove on 64-bit architectures\n\n* bcopy is deprecated on LP64 by the following commit:\n\n  https://android.googlesource.com/platform/bionic/+/ce9ce28e5d760e32ab6c894dfaf7b8dad6de7ff6\n\nChange-Id: I6849916f0ec4a2d0db9a360999ad1dc8edda952b\n"
    },
    {
      "commit": "5930772286de72a6cec1a9c7513355efe238e7ef",
      "tree": "a6d1ef4fd28636bca37209a671cc9e2cf3820032",
      "parents": [
        "b3db7764d0757392c73c716423f49dc0809c5a23"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 23 20:27:42 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 17 13:02:03 2015 -0700"
      },
      "message": "Add optimized cortex-a7/cortex-a53 memset/memcpy.\n\nAdd an optimized memset that is ~20% faster for cortex-a7 and\ncortex-a53.\n\nAdd a 32 bit optimized cortex-a53 memcpy that is about ~20% faster\non cached data.\n\nFix the cortex-a15 __str{cat,cpy}_chk.S, memcpy_base.S to remove\nthe phony functions, since they aren\u0027t needed any more. Then add\na direct include of these for cortex-a53.\n\nVerified the new functions by stepping through all of the major\npaths and verifying the backtrace is still correct.\n\nBug: 22696180\nChange-Id: Iec92a3f82d51243cca76c9aff9f35d920ff865ae\n"
    },
    {
      "commit": "61d9ae5ab15862484a3d9654b426e637781436e9",
      "tree": "ca5f227180a1d0199e66d619949bbfadf51210a0",
      "parents": [
        "a3c01467ecf31cab1410ce7b8554e2e77dae3309"
      ],
      "author": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Tue Aug 11 17:00:56 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 02:28:05 2015 +0000"
      },
      "message": "[MIPS] Invalidate cached pid in vfork.\n\nBug: http://b/23008979\nChange-Id: I43e0c7db42602441313af4607a992caa8c7d6221\n"
    },
    {
      "commit": "5341691955e2fc2b271b722c37496d72a0e8c683",
      "tree": "8b6a350a4898241663c6ccc58685a3362738e8ec",
      "parents": [
        "ff4afc136ef5d00d33a611e7bc1950249db9fbcf"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 10 16:40:06 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 10 16:40:06 2015 -0700"
      },
      "message": "Move up to C++14.\n\nThe default standard version is now ahead of us. Stop specifying C++11\nso we get that too.\n\nChange-Id: Ic96942cd7fd134118e29b744601b0119e49b6ac4\n"
    },
    {
      "commit": "5891abdc66aa9578395bc8b8e5740f629a2694b7",
      "tree": "7ce00a1c6da021bf09535dd0d287e76c9efd31fa",
      "parents": [
        "e80369ab0c484a99925a49a81ab0675538fab38a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 07 18:27:47 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 07 19:44:12 2015 -0700"
      },
      "message": "Invalidate cached pid in vfork.\n\nBug: http://b/23008979\nChange-Id: I1dd900ac988cdbe10aad3abc53240c5d352891d5\n"
    },
    {
      "commit": "e80369ab0c484a99925a49a81ab0675538fab38a",
      "tree": "4eee25df6dfe13bf5bb242516bcd4ec8e3a92578",
      "parents": [
        "b3db7764d0757392c73c716423f49dc0809c5a23",
        "9bbb5a7a09c4c8754e3b151822424f92093abc2a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 04 22:35:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 04 22:35:34 2015 +0000"
      },
      "message": "Merge \"Bionic: Add a TLS slot for ART for Thread self\""
    },
    {
      "commit": "b3db7764d0757392c73c716423f49dc0809c5a23",
      "tree": "a70ee9b38fd5bca216da0e2063e3bc202e6efadf",
      "parents": [
        "f57f7945159a0abbca248817d1d4af1e9d89e323",
        "516fcb28f2fb591e9ae14f909acf00ca5a8b0dc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 04 00:58:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 04 00:58:57 2015 +0000"
      },
      "message": "Merge \"name the arc4random structure mappings\""
    },
    {
      "commit": "17379d2b085db9fcee114caea08c448c4293e66f",
      "tree": "20f6f24bfe9aaf878fd3d9f601de4e525f675c5e",
      "parents": [
        "2278d29ada4cda53d81b87446254cea16e1b24fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 03 11:11:22 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 03 11:11:22 2015 -0700"
      },
      "message": "Cherrypick upstream fnmatch.c fix.\n\nBug: http://b/22855370\nChange-Id: I3865cff1e2ffeb6709cea092be3770c1bebf1623\n"
    },
    {
      "commit": "516fcb28f2fb591e9ae14f909acf00ca5a8b0dc6",
      "tree": "a5e398e03f51347e5aa2fa4dfd0bc2d418171951",
      "parents": [
        "7e919daeaad62515ebbbf7b06badc77625a14d90"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Aug 01 22:25:42 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sun Aug 02 19:22:26 2015 -0400"
      },
      "message": "name the arc4random structure mappings\n\nChange-Id: I6e150e526f6ceee31aa9bd219fa45317d5a729cb\n"
    },
    {
      "commit": "7e919daeaad62515ebbbf7b06badc77625a14d90",
      "tree": "dabf11422ab7e3d0b646a1d5a1aa5d067203c00e",
      "parents": [
        "259070585820b4900622363dd7f968d6b644d75d",
        "9101b00400cfb20b96112682169c5da67e065ff2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Aug 01 05:14:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 01 05:14:20 2015 +0000"
      },
      "message": "Merge \"add a fortified implementation of getcwd\""
    },
    {
      "commit": "9101b00400cfb20b96112682169c5da67e065ff2",
      "tree": "de51712678e0abbab722c1c0601c2f1508b387bf",
      "parents": [
        "807f27f9548077f114dc009f60764fb0241a2620"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Wed May 20 15:31:26 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Aug 01 00:42:30 2015 -0400"
      },
      "message": "add a fortified implementation of getcwd\n\nChange-Id: Ice3e6d3e1ff07788305dc85f8ee4059baad5fac4\n"
    },
    {
      "commit": "c46c0e960d1d054ec1d398f5f3618e4d1154aa26",
      "tree": "47f77e2ba96da7e497b9b3ba1b3ea86894927781",
      "parents": [
        "807f27f9548077f114dc009f60764fb0241a2620"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 10:57:27 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 10:57:27 2015 -0700"
      },
      "message": "Sync current upstream fnmatch.c.\n\nBug: http://b/22855370\nChange-Id: I589f849aaede3b69b6b3682989bab7d8649dcd97\n"
    },
    {
      "commit": "36443fd542a96d2ed71fc294f70fed08c115af55",
      "tree": "2b068bf653a04a8a37e9bc35114a2ebab547b1c1",
      "parents": [
        "374adfee473725994ee2568ce5aba93a7500064e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 19:52:31 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 19:54:53 2015 -0700"
      },
      "message": "Remove PAGE_SIZE from \u003climits.h\u003e.\n\nIt turns out that everyone\u0027s still getting PAGE_SIZE from \u003csys/user.h\u003e via\n\u003csys/ucontext.h\u003e via \u003csignal.h\u003e anyway.\n\nglibc has PAGE_SIZE in \u003csys/user.h\u003e rather than \u003climits.h\u003e so this part is\ngood. The bad part is that we have such wide transitive inclusion of\n\u003csys/user.h\u003e!\n\nBug: http://b/22735893\nChange-Id: I363adffe4a27b4ca1eedf695ea621f5dd2d5ca10\n"
    },
    {
      "commit": "9bbb5a7a09c4c8754e3b151822424f92093abc2a",
      "tree": "51d693a9954354f955161eb590455797e312dfbb",
      "parents": [
        "4955cde2c55d4860f12039a96d14fc756b1308a3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 28 19:53:54 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 28 19:53:54 2015 -0700"
      },
      "message": "Bionic: Add a TLS slot for ART for Thread self\n\nTo improve the performance of Thread::Current(), add a tls slot so\nART can avoid a pthreads call.\n\nChange-Id: Icc86a2b7590734637366f9d5e41a5c6d18cc5772\n"
    },
    {
      "commit": "5390173ad43aeae9b503c448cb496403d817e13b",
      "tree": "ec4e0d785f9cbef52b3c4efa531bf2ba6619926b",
      "parents": [
        "1ff4094a7f106b3de390acb1e36c45bbb878a153"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 17:44:32 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 17:44:32 2015 -0700"
      },
      "message": "Don\u0027t transitively include \u003climits.h\u003e from \u003csys/user.h\u003e.\n\nBug: http://b/22735893\nChange-Id: I27d0a1f7e2d477b8038e76bfc7fe05dd7e187344\n"
    },
    {
      "commit": "820a86f2df90419d4b0e7ae6004eb73bb804fc7e",
      "tree": "b007e46b9042cfd71d5c47c9b7715ad8d2fe3198",
      "parents": [
        "c8ba22c847bd5bfc97d29a4c565fd32993200a01"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 16:46:06 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 16:46:06 2015 -0700"
      },
      "message": "Remove PAGESIZE.\n\nThis was pretty much unused, and isn\u0027t in glibc.\n\nBug: http://b/22735893\nChange-Id: If17f0dcd931c90ef1ccb134a3950c3b0011a03f4\n"
    },
    {
      "commit": "afab3ffcce1054ec887fb347700819d69a9c8151",
      "tree": "390c1e92f59867262d1181c346948071f09d536c",
      "parents": [
        "1923d4c03a68c89f304b601545f5e8db026b9be0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 14:58:37 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 14:58:37 2015 -0700"
      },
      "message": "Move PAGE_MASK into \u003csys/user.h\u003e.\n\nI\u0027m removing the TODO on the assumption that being compatible with glibc\nis more useful than BSD. The new internal \"bionic_page.h\" header factors\nout some duplication between libc and the linker.\n\nBug: http://b/22735893\nChange-Id: I4aec4dcba5886fb6f6b9290a8f85660643261321\n"
    },
    {
      "commit": "667dc75ee1c7c922f8610ccc6b70002642141f08",
      "tree": "e8a34188f223e0afb4845d7c2c6375514e32faa8",
      "parents": [
        "4955cde2c55d4860f12039a96d14fc756b1308a3"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jul 28 08:51:17 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jul 28 08:51:17 2015 -0700"
      },
      "message": "deprecate TARGET_USES_LOGD\n\nThis is not the kernel logger you are looking for\n\nBug: 22787659\nChange-Id: I340d8bb5cdaa73be9565521681ee238b7033934b\n"
    },
    {
      "commit": "e8ceb95c680eacc3b5d16644a48a28b45f421e2f",
      "tree": "de6f10eff76bbb95a2b6244e505b239e3570b364",
      "parents": [
        "8af32633498184e58e6f8d5d75b9f9cdbef5b6be",
        "8264cbba7ecdf11bbc7501dd5a716593543b683c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 27 23:09:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 27 23:09:32 2015 +0000"
      },
      "message": "Merge \"Remove pushes from memsets (krait/cortex-a9).\""
    },
    {
      "commit": "8af32633498184e58e6f8d5d75b9f9cdbef5b6be",
      "tree": "55c1a732fedb885af2c66dc46870f41153b6c903",
      "parents": [
        "f16c6e17b22c278320d0e662d1f1e1213f8fbc71",
        "fed2659869ec41a93f655be8058568ddab419e01"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jul 27 22:46:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 27 22:46:29 2015 +0000"
      },
      "message": "Merge \"add fortified implementations of fread/fwrite\""
    },
    {
      "commit": "8264cbba7ecdf11bbc7501dd5a716593543b683c",
      "tree": "044af29d798884a2335e5bd49f59cf39a4151633",
      "parents": [
        "adc5795fb7b674e6d40d1f190c675607c1379343"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 27 13:51:31 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 27 14:07:37 2015 -0700"
      },
      "message": "Remove pushes from memsets (krait/cortex-a9).\n\nOn the path that only uses r0 in both the krait and cortex-a9\nmemset, remove the push and use r3 instead.\n\nIn addition, for cortex-a9, remove the artificial function since\nit\u0027s not needed since dwarf unwinding is now supported on arm.\n\nChange-Id: Ia4ed1cc435b03627a7193215e76c8ea3335f949a\n"
    },
    {
      "commit": "f0a73476a1e08e9deab7c4df557582cda60b36d2",
      "tree": "cf3fa010c152f6d124a94ad6655b33207b5e67df",
      "parents": [
        "adc5795fb7b674e6d40d1f190c675607c1379343"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Jul 25 15:40:14 2015 -0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 27 11:04:58 2015 -0700"
      },
      "message": "name the atexit handler pages\n\nChange-Id: I1718ddee7415a673b5818bc1455b8d90f1e8f9c6\n"
    },
    {
      "commit": "189394b885e4b11e9f009fd2e434e6dc6696277b",
      "tree": "8dcecf9dbadba4b04cebc05a0a790a39e7e2bb99",
      "parents": [
        "a3a619835d302f5414883e2307ca48406b15a4a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 24 23:22:07 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 24 23:22:07 2015 -0700"
      },
      "message": "Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE).\n\nBug: http://b/18342333\nChange-Id: Id12ed4e85a0f35d7d27202f7792df42a65a74b4e\n"
    }
  ],
  "next": "fed2659869ec41a93f655be8058568ddab419e01"
}
