)]}'
{
  "log": [
    {
      "commit": "aa3f96c9c429fa6270d86fbd6485e3b12d7d9aa6",
      "tree": "0c8221de1a0114d281bef45912f35dee6f6c3db3",
      "parents": [
        "b8ce93974a675029c2c8360adf18bc67740658e1"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@google.com",
        "time": "Thu Jul 20 13:11:54 2017 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@google.com",
        "time": "Fri Jul 21 20:30:21 2017 -0700"
      },
      "message": "Create global seccomp policy.\n\nEnabling seccomp across all processes, rather than just zygote, is\nuseful for auditing the syscall usage of AOSP. Create a global seccomp\npolicy that can optionally be enabled by init.\n\nBug: 37960259\nTest: confirm global seccomp by removing finit_module from policy and\n      observing modprobe fail, confirm regular seccomp unchanged by\n      comparing length of installed bpf\nChange-Id: Iac53a42fa26a80b05126f262dd9525f4f66df558\n"
    },
    {
      "commit": "aac7c3affa4bbe19e079e724968b4e72913d3a3d",
      "tree": "b24663aa7a7b443de5dfe2284d48cf24a2dda500",
      "parents": [
        "03e9c498d4909d1f791800cae0d59db63a348328"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 14 10:00:32 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 14 15:41:11 2017 -0700"
      },
      "message": "Allow passing filenames to generate-NOTICE.py.\n\nFor the libandroid_support NOTICE file, we need to combine all the files\nin that directory, plus the specific files pulled from bionic.\n\nAlso cleaned up some of the Python style.\n\nBug: N/A\nTest: used for libandroid_support\nChange-Id: If433e3a0f0478f06d99a9b3556e99dde06a7e5e1\n"
    },
    {
      "commit": "3dd3d55af2e73e0cda786368e94c65485bcc267b",
      "tree": "c47aa639d6248dde551a61ffe5b3ca91c0ee21b8",
      "parents": [
        "faf7f3542a1b7c850450df158072f021537f40c1"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Apr 12 10:02:54 2017 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 12 19:34:33 2017 +0000"
      },
      "message": "Add seccomp blacklist, and exclude swap functions\n\nBug: 37253880\nTest: Make sure device boots\n      Run pylint on genseccomp.py, test_genseccomp.py\n      Run test_genseccomp.py\n      Run new CTS test\n      cts-tradefed run cts -m CtsSecurityTestCases -t android.security.cts.SeccompTest\n\nChange-Id: I833a5364a1481d65173e77654da1798dc45a3f9d\n"
    },
    {
      "commit": "93d4f8b2fa1924963f397a0d16e3e38ac4ef2352",
      "tree": "4ab2b08cfd0b1a54b31a39647b0a260b9be0f140",
      "parents": [
        "f17048bfb8fdf9a0340dc44f55cba8fddd776577"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "alessio.balsini@gmail.com",
        "time": "Tue Apr 11 18:27:29 2017 +0200"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "alessio.balsini@gmail.com",
        "time": "Tue Apr 11 18:27:29 2017 +0200"
      },
      "message": "Fix missing parse_open_file method.\n\ngensyscalls.py was failing to execute because of a missing \"self\"\nkeyword when calling parse_open_file.\n\nTest: manual test running gensyscalls.py.\n\nChange-Id: I78db2cba704c5ca56a730019e36601a7ccd069f8\n"
    },
    {
      "commit": "65b47c9fe08e183987a9857e3e3b5d66a63d6936",
      "tree": "8ed7de86ab77f320aa2ead741e56a4c02b405e53",
      "parents": [
        "8ebfc0d3a3285a595cd44d477ebe76fdaa39afcf"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Mar 22 08:03:51 2017 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Mar 22 09:48:17 2017 -0700"
      },
      "message": "Fix problem that we don\u0027t block syscalls below min value\n\nThe check that we are not below the lowest permitted syscall was\noff by one, so we always allowed them, rather than always denying\nthem\n\nTest: Check arm64 boots, chrome and maps work\n      mips and mips64 emulators boot\n      Note that arm, x86 and x86_64 already allow syscall 0 so there\n      will be no functional change there\n\nChange-Id: I85873f1d04124e634e648bd47c027f280f1d6dbd\n"
    },
    {
      "commit": "89fa81fda34f760549fedb120a2c683b283e90a3",
      "tree": "25e729ce9e8b9d9e30167b39c219b0f44fa5d6ae",
      "parents": [
        "e429bf2f696282537efb577feb7cb9fd534e7ace"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Feb 17 10:22:03 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Mar 13 18:26:50 2017 +0000"
      },
      "message": "Support all architectures in seccomp\n\nTest: Make sure arm, x86, x86_64, mips, mips64 emulators boot\n      Make sure sailfish still boots\n      Ran CTS test from\n      https://android-review.googlesource.com/#/c/348671/3 and it passed\n      The instructions for how to run mips emulators above worked, but\n      the CTS tests did not seem to actually run.\n\nChange-Id: Iddee5acdb19ed32c7bd4657573313ca439cf6a49\n"
    },
    {
      "commit": "d9e52fed2a4ea1f3fa0cd170347b2d835bd3b2cc",
      "tree": "3c097689a37afded6165c86862e5571008b78c85",
      "parents": [
        "6e528631d1eb4779dc93098c696c3a18e6bcecfb",
        "dfe8434a6213b8a4c2ac10f91747e218c7c7b69e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 28 15:36:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 15:36:08 2017 +0000"
      },
      "message": "Merge \"Move seccomp policy to bionic\""
    },
    {
      "commit": "dfe8434a6213b8a4c2ac10f91747e218c7c7b69e",
      "tree": "801625dd08fa7f7fd91e8697fb01ae5e7700e745",
      "parents": [
        "c712aedb0c44cce46a8a2097f5ab2b1fbde3cd4d"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Feb 16 09:24:39 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Feb 27 12:42:39 2017 -0800"
      },
      "message": "Move seccomp policy to bionic\n\nTest: Built and checked booted\nChange-Id: Iaec1265fe5a55c4df90ab9e45b010ef36faf6bba\n"
    },
    {
      "commit": "5f41ce25c60df2012b58846940dfac58dce50e59",
      "tree": "7da7bb25ce3dceb8c5c0e2608a5135cd3bba6b49",
      "parents": [
        "c712aedb0c44cce46a8a2097f5ab2b1fbde3cd4d",
        "48af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 27 20:09:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 27 20:09:54 2017 +0000"
      },
      "message": "Merge \"Update to kernel headers v4.10.\""
    },
    {
      "commit": "98a53b7c74047fa67810ea4afbd44b46a0c67089",
      "tree": "a4c31a877a4d3ff279ebfcdd32d9026714e114fd",
      "parents": [
        "06a32206c5430321dd3fc02b70acbf99383786c1"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Feb 27 16:32:37 2017 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Feb 27 16:36:18 2017 +0000"
      },
      "message": "Revert \"Move seccomp policy to bionic\"\n\nThis reverts commit 06a32206c5430321dd3fc02b70acbf99383786c1.\n\nReverting build-breaking change\n\nChange-Id: Ib3698bca8f905033a9c7f22bc2fa9f7e7bf75873\n"
    },
    {
      "commit": "06a32206c5430321dd3fc02b70acbf99383786c1",
      "tree": "4ab97e1808631a9a44e7d21ef81c81cdfbb59f83",
      "parents": [
        "36780784402d42c29eb116b54275d52a9e654efc"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Feb 16 09:24:39 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Feb 24 12:52:19 2017 -0800"
      },
      "message": "Move seccomp policy to bionic\n\nTest: Built and checked booted\n\nChange-Id: If777eed75d5280c7a390399261e97125c04767b2\n"
    },
    {
      "commit": "7ea4090c65a02626b8aacaf44456af021937dd5e",
      "tree": "4cc194a8adf63ef7569cf88fe69143d25ca1aa86",
      "parents": [
        "7b5245408499ef48afc8def662fcfab09683e1c4"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Feb 14 13:32:23 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Feb 23 10:46:56 2017 -0800"
      },
      "message": "Autogenerate single policy from syscalls and whitelist\n\nBug: 35392119\nBug: 34465958\nTest: Check boots and same syscalls are blocked as before\n\nChange-Id: I9efa97032c59aebbbfd32e6f0d2d491f6254f0a2\n"
    },
    {
      "commit": "48af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0",
      "tree": "e8d9f372688f7ae3660b49721e7808b8181a49b3",
      "parents": [
        "40854235256c3f51f9ea866f5f8ef03240c00123"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 21 12:35:09 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 21 14:42:34 2017 -0800"
      },
      "message": "Update to kernel headers v4.10.\n\nTest: Built angler, booted on angler, ran bionic unit tests.\nChange-Id: Ia24511e74106116ea84b44ab724865ec492de8f9\n"
    },
    {
      "commit": "be8a2af2aab17c6686a2d557c65f6aca3ee159b7",
      "tree": "7bd88d5a8cde6ac54c1af51a11f5932988ce9215",
      "parents": [
        "9886ea3e2d8cfd824f271d38e93dd46fe1d23840"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jan 25 15:20:52 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Feb 03 09:36:45 2017 -0800"
      },
      "message": "Create seccomp policy without TRAP for further processing\n\nBug: 34946764\nTest: Make sure boots, seccomp still blocks, and is faster\nChange-Id: Ib4abf4307ae545ee69a3fb9328f62c760a1b40f7\n"
    },
    {
      "commit": "3d9fc696a5a511bc49a41cba936b8b200481982f",
      "tree": "9fb8aac5c5f560eea860e1451c46b0827de53af5",
      "parents": [
        "7844b4c5dbd0be9ea4212a523da2dd6a4804032c"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Jan 24 10:44:55 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Jan 24 11:07:04 2017 -0800"
      },
      "message": "Use trap not kill in seccomp filter\n\nBug: 34647665\nTest: Make sure boots, check that causing a seccomp failure creates a\n      crash dump\n\nChange-Id: I5ab2fe3e8322a3c38318c97d343834baa874af8d\n"
    },
    {
      "commit": "eabc35265141485e7a531ef67a076ef799500f4e",
      "tree": "b1a9f66c3777c29c49eb1745eb666fa25dc36c8f",
      "parents": [
        "71952ef625b953d78547da28d7271ea71cb91c92"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Nov 11 11:33:42 2016 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Jan 19 13:38:47 2017 -0800"
      },
      "message": "Add seccomp support library\n\nPolicy library which exports an autogenerated policy from SYSCALLS.TXT\nblocking any other calls.\n\nTest: Generate policy, install onto Sailfish, check boots, Chrome runs,\ncalls are blocked.\nBug: 32313202\n\nChange-Id: Ib590704e50122f077eeae26561eb9b0a70386551\n"
    },
    {
      "commit": "4da06c0d64fd2b4680fb4123f21a6fc8720e1c1e",
      "tree": "f9e55149e92c9f97df4fe1d3cb3a52dec3f25855",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 17:34:42 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 17:34:42 2016 -0700"
      },
      "message": "Don\u0027t scan .swp files for copyright headers.\n\nThese are binary files, so that\u0027s not a good idea.\n\nBug: N/A\nTest: N/A\nChange-Id: If5e98df4bbbbac8a15a953be043df7d05c2b409a\n"
    },
    {
      "commit": "5ffed9b8560636e1a00b4383ec1d18489e44821c",
      "tree": "c2960041e43cb0596051ec44dd0027ee892d108c",
      "parents": [
        "f5042cab109f7136191fd316be1471532d2ddf71"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 10 14:06:14 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 10 14:08:31 2016 -0700"
      },
      "message": "Move brillo closer to Android.\n\nHiding our legacy cruft seemed like a good idea, but in practice it will only\nmean worse interoperability.\n\nPlus we got it wrong, as the recent `putw` example showed.\n\nChange-Id: I167c7168eff133889028089c22a7a0dfb8d6d0cf\n"
    },
    {
      "commit": "ea701b37905c4e3c8eda9932224e013d97b4ccea",
      "tree": "11ccdd180ba1a8159b5a880db422c48166984d4b",
      "parents": [
        "10085bfdc0b3b8ce4c30a0dcdeeb8f629a2506f7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 02 15:19:26 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 02 15:33:53 2016 -0700"
      },
      "message": "Only check arch tag if we have *any* arch tags.\n\nWith the introduction of new tags for ndk_library, we\u0027ll have a lot\nof tags that aren\u0027t architecture tags. If we have something tagged\n`introduced\u003d21`, it should be in all architectures.\n\nChange-Id: Ib67f07db14625f6903919c181050316eb183bed5\n"
    },
    {
      "commit": "10085bfdc0b3b8ce4c30a0dcdeeb8f629a2506f7",
      "tree": "48e4739de4d45255e92a4cd32a7acf6026687dbe",
      "parents": [
        "bbf593f0f0c116305a0eafcf8271381d92b1143c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 02 15:15:09 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 02 15:15:09 2016 -0700"
      },
      "message": "Add pylintrc.\n\nDisable all the style differences present in genversion-scripts.py.\n\nChange-Id: I7672d34c4f7698ba445968dd5d9f5ef1fdc60056\n"
    },
    {
      "commit": "6cc8d47a1ff82224b35282197fa3194de213eb18",
      "tree": "985592d2e46b6cb076ba73816453bb1afb6f48df",
      "parents": [
        "c7d97ec31d1aab227850dbe9880d1399fe13947a"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 28 13:52:17 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 28 13:52:17 2016 -0700"
      },
      "message": "Add symbol versions to libstdc++.so\n\nBug: http://b/28987948\nChange-Id: I3853528bd432ceab37e4867f2c4112d9ee0b40dc\n"
    },
    {
      "commit": "d2f725eaedc9c98c353885f20c0ff7ef13e3477f",
      "tree": "201e7973c24424b8a11bedcd123f01fdf119837f",
      "parents": [
        "098d8ef5b224841d93960f1cd02c73d853b6344c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 15 15:47:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 18 12:48:39 2016 -0700"
      },
      "message": "Don\u0027t declare SYS_* constants for unavailable __NR_* constants.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d215853\nChange-Id: Iaaa3ce888deb8d032208bf636b7badaed6a72d30\n"
    },
    {
      "commit": "2adde7bef52b32e7666dcb63fa534b561858430b",
      "tree": "f21dd86315798ec23a7bbc6459e2125e5c251d49",
      "parents": [
        "5ac45a2add41fd7c1640815accf09a29bd14aac6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 06 15:44:26 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 06 15:44:26 2016 -0700"
      },
      "message": "End all lists in check-symbols-glibc.py with a ,.\n\nChange-Id: I85f591c51e32fa001e611a035e2e51305c837d22\n"
    },
    {
      "commit": "21788265da0c993b478a915fabfdeac5b541dfed",
      "tree": "f8d93dc4cec9885e7b33eebccde34dbe2dd3df15",
      "parents": [
        "98ac6f415f4cd68be6691c1d04f59a76af802485"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 06 14:43:50 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 06 14:43:50 2016 -0700"
      },
      "message": "Remove a duplicate declaration, improve check-symbols-glibc.py.\n\nChange-Id: I97a98dfc8acaa93172386b4475487a05a35a9337\n"
    },
    {
      "commit": "8aabbd7f63286e87fe95b672fad814b4625efa85",
      "tree": "28fc8fbc4a8b65da2383b811f57e1466cd640282",
      "parents": [
        "ec4671928c39b14f7f22c12ffef0e0bcdd58edfe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 02 12:47:58 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 02 12:47:58 2016 -0700"
      },
      "message": "Move glibc-syscalls.h into bits/.\n\nBug: http://b/28519060\nChange-Id: I0de1ba16b16eb7b780de89954d3fa45cca2f5295\n"
    },
    {
      "commit": "f5a9123d9f365e3a72ac9f2a3921f439541a87e8",
      "tree": "22f028385c21a408bd228a79a94f02024cb3f39b",
      "parents": [
        "b3c1ff69d293d095c36371ecc21e0505c6156db7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 27 18:31:02 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 27 20:34:47 2016 -0700"
      },
      "message": "Add unwind information for r7 in arm syscalls.\n\nIt turns out that clang can emit code where the sp is saved in the r7\nregister on arm. Unfortunately, a lot of our syscalls overwrite that\nvalue while the syscall is executing, so unwinding through that syscall\nfails.\n\nUpdate the syscall generation code to add unwinding information for\nthese uses.\n\nBug: 28411713\n(cherry picked from commit 6e45d37decbbaf78ed4685213aebb1c9b5ccf8c2)\n\nChange-Id: Ib775effc44c4113735fe9032b0602b9d63e3e390\n"
    },
    {
      "commit": "187d37d35a34e1364563ad02aa3a4c6ccba23b40",
      "tree": "508f34147c35d0487c715c27ef75e9216eb6595a",
      "parents": [
        "37b23cbff5b33cabbe9a5b5c57cb2c70a73e34ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 13:29:22 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 13:29:22 2016 -0700"
      },
      "message": "Teach our script to ignore more dead POSIX stuff.\n\nChange-Id: Ic29451b7110ac35291125d427e1ae6fd334bdbd5\n"
    },
    {
      "commit": "be910529322b461148debefd50b9e0d67ae84f8e",
      "tree": "67d5538b8f6af5fbc2ce29f1a18886321e6fe4a1",
      "parents": [
        "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3"
      ],
      "author": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Thu Nov 12 07:02:14 2015 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 14:10:05 2016 -0700"
      },
      "message": "libc: implement kernel vdso syscalls for i386\n\nThis patch uses __kernel_vsyscall instead of \"int 0x80\"\nas the syscall entry point. AT_SYSINFO points to\nan adapter to mask the arch specific difference and gives a\nperformance boost on i386 architecture.\n\nChange-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\n"
    },
    {
      "commit": "e5c872ffb73ba798a3e2e2a95c1e2caba8c53284",
      "tree": "1adc8dd6b755bef3c176be7b26e0de30647d79a3",
      "parents": [
        "506456c5d1ba281cb01c224679fc86d7a4c99ade"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 03 13:10:23 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Mar 23 16:25:42 2016 -0700"
      },
      "message": "genversion-scripts: fix script name in autogenerated comment\n\nChange-Id: I2a304818cfc54d08a08d2e621e4cf74e7ce465dd\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "19acb698e8f741b85423bf43e96776e9c598905d",
      "tree": "5b7b18e8587b3e1ecb86470374bdf0defceb3e6d",
      "parents": [
        "e0959b4b164a26eb9931ed6925c71d7870c063fe"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Feb 25 14:22:32 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Feb 25 14:28:45 2016 -0800"
      },
      "message": "[MIPS] Add __popcountsi2 to libgcc_compat.c\n\nAlso removed outdated genlibgcc_compat.py script\nand references to it.\n\nBug: http://b/27340856\nChange-Id: I7eef362364078867c60a27e72abba515f08b6651\n"
    },
    {
      "commit": "f226ee59e0effedeabed09e2d65be7fa7499cc25",
      "tree": "60b192388b5575a5315d7e9ea2b5b4ffa29ed59f",
      "parents": [
        "a279324094d748b97201412b2457d2f6e26287dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:24:28 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:24:28 2016 -0800"
      },
      "message": "Add fopen64/freopen64/tmpfile64 aliases.\n\nOur fopen/freopen/tmpfile are already always O_LARGEFILE, but let\u0027s add\nthe aliases for _LARGEFILE_SOURCE compatibility.\n\nBug: http://b/24807045\nChange-Id: I5d99b3ef3c9f27ce70f13313f6a92e96c7f21f80\n"
    },
    {
      "commit": "d07c4434f16edda1e2ded58ca50b702c39e9cc62",
      "tree": "a1f6b293421168ec6630db40a9e64df21a710e45",
      "parents": [
        "68d0150221eb505a576f6ad5ca1f367b4ce547a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 19:54:31 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 19:54:31 2016 -0800"
      },
      "message": "Add more fortify symbols to the expected differences from glibc.\n\nChange-Id: I6266b2e6cbea3c014b4ea30a7100186965e40cf1\n"
    },
    {
      "commit": "585e9598493d3b4a0e545dad35c0f361d4ad2d3e",
      "tree": "5d1a2a01cc4566ea0a6ea7941147924276b186bd",
      "parents": [
        "a3dd076126df616b75b4fc4484f4750e0e3e6a7f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 14:07:52 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 14:23:06 2015 -0800"
      },
      "message": "Generate libc version-script for brillo\n\nBrillo doesn\u0027t use the ndk cruft, so we need\nseparate set of version scripts. Added new \"nobrillo\"\ntag to mark such symbols in *.map.txt files.\n\nBug: http://b/26164862\nChange-Id: Iaee1b7119f75b68c2971679fc32817e6df29fd94\n"
    },
    {
      "commit": "bc75047a1b0e68006077ea2e5f798475c90cbad0",
      "tree": "7c94f45c3cdad194c42241db85fccf21dd35ff53",
      "parents": [
        "e75453d5dd8b373f6e7ef61ec22a6a3074d51e02"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 30 17:43:27 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 30 17:43:27 2015 -0700"
      },
      "message": "Generate libdl.so per-architecture version script\n\nBug: http://b/24767418\nChange-Id: I3d5775ba44d4c8e7fc5f2fbebae10e022100f1e2\n"
    },
    {
      "commit": "284b4685246197890b4f75a9912096b8e13c62ba",
      "tree": "867725cd196b02582edd6dcc0f95b5c40a4d7688",
      "parents": [
        "d9146c24041ad571e3725ab630d9ac94df3ff6d1"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 28 15:14:13 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 28 16:40:53 2015 -0700"
      },
      "message": "Generate per-architecture version scripts.\n\nBug: http://b/24767418\nChange-Id: I23e49d8d30c0def3215ffbd99d09f207d9483624\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": "6cda0742895e46aa4ad0e4e8d5637d166f9f46f2",
      "tree": "c94a70584f4f10e62216ef913c03464c886d1cce",
      "parents": [
        "3931b6d9b37a47e0921e329ff5846b7fd21cdd7b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jun 04 10:12:37 2015 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jun 04 17:56:02 2015 +0000"
      },
      "message": "Strip version info when extracting symbols\n\nBug: http://b/20139821\nChange-Id: I1c1ed1b97a75936407e996698b98b94a7175ac30\n"
    },
    {
      "commit": "ec738d949453896424bc74574110dcab7ca7a51b",
      "tree": "c1f042c86dc859d9f247593385a526e2b77f1364",
      "parents": [
        "fff06e624db96f1d876627fa0a122cdf65f41698"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 11 12:10:40 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 11 12:10:40 2015 -0700"
      },
      "message": "Fix various bugs in the check-symbols script.\n\nIt had bitrotted away during the last release cycle.\n\nChange-Id: I20f0a3b409af4530b81f26299bef9de01530c9fd\n"
    },
    {
      "commit": "4d3abcb033fcf84d1f7d04630273c1a2f7e51a4f",
      "tree": "fdaf1d4bb89a89d30a7f921a49900b8a243d8750",
      "parents": [
        "957f6188fa7494ea8b7701b14df4c9127d27a9ef"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Apr 09 09:22:25 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Apr 09 09:38:31 2015 +0000"
      },
      "message": "Update update-tzdata.py tool to generate ICU4J data jars\n\nThe ICU4J changes are not necessary for use on Android (since\nwe use the ICU4C .dat file), but updating them ensures that\nthe .jars in sync with everything else and the jars are currently\nrequired for host tests.\n\nChange-Id: Ie56b31af87e8fbd27a6489af8287e4b6a7be6b8f\n"
    },
    {
      "commit": "fa5faa0ce6deba5ad9c96fe5cf74e63e4a6edfb3",
      "tree": "546a5eff515f97537cae2cbec5d99c68ee85844b",
      "parents": [
        "ee4997ecc3daeb9af110d932ddb27f969cc7271a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 24 16:50:46 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 24 21:08:26 2015 -0700"
      },
      "message": "Make gensyscalls.py use the ALIAS_SYMBOL macro.\n\nChange-Id: Ib94c0abb6fc85126ecc5ed3f1962b2b8b90b9952\n"
    },
    {
      "commit": "bdd845247282fb1c3ac12184eebb90adc6c7ff41",
      "tree": "dd50aaceae69033b9a8211e94180cb54cabafcb2",
      "parents": [
        "7e1b3d3e68f7430322a88be06f6b53c358fd14bf"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Wed Feb 04 17:17:34 2015 +0100"
      },
      "committer": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Wed Feb 04 17:17:34 2015 +0100"
      },
      "message": "Set INCLUDE_UNI_CORE_DATA\u003d1 when rebuilding ICU4C time zone data.\n\nThis is now necessary to build .dat files that are useable for ICU4J as\nwell, and will need to be used for any future updates of the .dat file:\n\nhttps://android.googlesource.com/platform/external/icu/+/6b52738\n\nChange-Id: Ifa3a7469a66ab932db20876697e45814f0c5ddc3\n"
    },
    {
      "commit": "00490ae3f351e07ed4cc2a94b11cba6a22f37311",
      "tree": "ad09d82701fd1d9cdf44231d8b8789007aa5d8d9",
      "parents": [
        "d57bf449fe6c2dcf35d90d6e4098038ac8a24ecb"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 03 11:27:25 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 03 12:10:30 2015 -0800"
      },
      "message": "Ensure raw fchmod/fchmodat syscalls are hidden.\n\nIn https://android-review.googlesource.com/#/c/127908/5/libc/SYSCALLS.TXT@116\nElliott said:\n\n  for LP64 these will be hidden. for LP32 we were cowards and left\n  them all public for compatibility (though i don\u0027t think we ever\n  dremeled to see whether it was needed). we don\u0027t have an easy\n  way to recognize additions, though, so we can\u0027t prevent adding\n  new turds.\n\nAdd a mechanism to prevent the adding of new turds, and use that\nmechanism on the fchmod/fchmodat system calls.\n\nBug: 19233951\nChange-Id: I98f98345970b631a379f348df57858f9fc3d57c0\n"
    },
    {
      "commit": "0662c3e5b33840e19f4c14b85bf619c33b3a0d0f",
      "tree": "56f88dd74729e8f6c3bcba8c42dd460be7ccbf05",
      "parents": [
        "ffbda83b302e3c3970135013d2bb92402e040fe5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 02 16:50:05 2015 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 02 17:42:41 2015 +0000"
      },
      "message": "Fixes to the update-tzdata.py tool\n\nWe build one too many times. Creating a missing directory\nis sufficient.\n\nThe tz2icu needs some files in the CWD. Added symlinks.\n\nBug: 19230091\nChange-Id: I58f9817af68b229f48139e56503f50a2b6dbb4fe\n"
    },
    {
      "commit": "9c3fd59b00d6f477b1a7f8611cb4f829d64aa7ea",
      "tree": "45d811b69e56a9ddd197d8a752629de47ac71cb2",
      "parents": [
        "d1668a71df761eb1644496f3e2c77c16fd54bb06"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 21 17:50:29 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 21 18:12:15 2015 -0800"
      },
      "message": "Add a basic NDK compatibility library.\n\nWe know we can safely statically link `libm`, since it doesn\u0027t have\nany dependencies on the OS or the layout of a data type that has\nchanged between releases (like `pthread_t`).\n\nWe can safely statically link `libc_syscalls` because the user can\ncheck for and handle `ENOSYS`.\n\nUpdate `ndk_missing_symbols.py` to account for symbols that are in the\ncompatibility library.\n\nImprove `symbols.py` to be able to pull symbols from a static library.\n\nChange-Id: Ifb0ede1e8b4a8f0f33865d9fed72fb8b4d443fbc\n"
    },
    {
      "commit": "169eb664511ecd5f7dfa6f0cb9ea668000373d96",
      "tree": "6f98ec42140636fa1da470c14303cc42dc21d12a",
      "parents": [
        "f374358414812d3e5a45ba75a2b1926693924420"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 21 16:42:02 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 21 17:09:50 2015 -0800"
      },
      "message": "Add ndk_missing_symbols.py.\n\nndk_missing_symbols.py pulls libc.so and libm.so off a running device\nor emulator and shows the list of symbols that are in the current\nbionic that aren\u0027t available on the target.\n\nChange-Id: Ia92c315a6a0ce2e5c33db0b62c8fab41c08a4c31\n"
    },
    {
      "commit": "6b2b5856d93dc0530cb542a6adcef2b2e8237458",
      "tree": "c55896ac0eb2faf153d26cd51276a6337ff99c4f",
      "parents": [
        "c631bb215e29981222f19c092ded49c7c1f15845"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 18 16:27:30 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 18 16:27:30 2014 -0800"
      },
      "message": "Update bionic NOTICE files.\n\nChange-Id: Ic280872ef3137febd9d4a87d5c7662e264692071\n"
    },
    {
      "commit": "0393221f4738a5a365475067b35a989828b4c4e2",
      "tree": "523eaa882df56692344c91eb02e7ff8ca8c91f17",
      "parents": [
        "230005c4bd3910ef974694f88d04e6f6a5a540b4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 04 11:24:48 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 04 11:24:48 2014 -0800"
      },
      "message": "Make the missing symbols script more useful.\n\nIf something\u0027s in POSIX, we don\u0027t need to show it in the glibc list.\n\nIf something\u0027s not implemented by glibc, we don\u0027t need to show it in the\nPOSIX list (because it\u0027s probably either a macro or obsolete).\n\nChange-Id: Ied0f8d97d3fffb280c22e9cdf6782430d776c02f\n"
    },
    {
      "commit": "2c2463bd3065f0a5fef34a47e3eb94aad64b0cea",
      "tree": "417fb3c20b40fce19261596b278e7d5d75a6beee",
      "parents": [
        "1e1ae4a74e42de07a5654f6a1774786fb4652094"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 11 14:10:51 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 11 16:30:18 2014 -0800"
      },
      "message": "Fix tzdata update tools for \u0027backzone\u0027.\n\nTo maintain the status quo, we need to pull in backzone file. This file\ncan\u0027t be built on its own, so the easiest fix is to give zic(1) all the\nfiles at once.\n\nWe also now have a situation where we have links to links, so we need to\ndereference them until we find actual data.\n\nBug: 18330681\nChange-Id: I03f4aa8e6e23802dc35cbff2f74f325eb17d7b2b\n"
    },
    {
      "commit": "6370aedd0e893b193e28881756537320b0c02763",
      "tree": "afe2f01678228778b1b2fed91f58410ecb7cd168",
      "parents": [
        "2311383180aee9388d28b03901a1e4ef021bcfa7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 05 16:22:26 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 05 16:54:53 2014 -0800"
      },
      "message": "Add support for listing missing POSIX 2013 symbols.\n\nChange-Id: Ic51787890f837f74a22ca63d64a5710474d00cbc\n"
    },
    {
      "commit": "6869d26ad9f0e42f7b8ca0a8a331e6119759d211",
      "tree": "f55f73366613064b0cebbc046649c156c68dc28d",
      "parents": [
        "b5cba6081bc9179d3ea2aa1bfd77dd8de1c88525"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 06 15:11:28 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 06 16:41:46 2014 -0700"
      },
      "message": "Force export symbols on all x86 variants in libc.\n\nFor silvermont, the __popcountsi2 symbol does not get exported by libc.\nBut for atom, this symbol is exported. Since we already exported this symbol\nfor previous releases, it\u0027s better to just follow through and force\nthe export, but only for 32 bit. x86 64 bit will not export this symbol.\n\nBug: 17681440\n\n(cherry picked from commit d11eac3455a059a092ceee92eda9905e1d661e94)\n\nChange-Id: I93704c721d98d569922f606f214069bda24872ba\n"
    },
    {
      "commit": "f8896c6c93fd698b129742780878123a3a19ae07",
      "tree": "28307adee41f6a6fa33abc8771233e39ca94ae6b",
      "parents": [
        "252c1ac9738ff6187354f243ef118eac962b65dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 30 17:30:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 30 17:30:01 2014 -0700"
      },
      "message": "Fix update-tzdata.py to rebuild icu4c .dat file.\n\nBug: 17731498\nChange-Id: I4c810507c0ca9883dde1bece14530db80485b8f6\n"
    },
    {
      "commit": "5681fe8eaea08a9c95b48291bb94a21ab0f7e24a",
      "tree": "608d6471205f7630593cd869e28fd8238427ef6e",
      "parents": [
        "73d2059f9b3f53446e25d800d64a86efb3bf3f9f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Sep 13 09:24:28 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Sep 13 09:24:28 2014 -0700"
      },
      "message": "Remove an unused file.\n\nAlso remove a reference to it and two other files that have already\nbeen removed in a script --- these files were problematic because they\nweren\u0027t UTF-8.\n\nChange-Id: Ibf597bac1903c34d8d0fe0a09615c42f24d4f23d\n"
    },
    {
      "commit": "011e111d299284b65af07add523a9dccac356244",
      "tree": "2b30ac16dffb0cda5da6de86f73075813447ee5b",
      "parents": [
        "201f36d23bb778b29c8d305fa40a41990e0487bc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 08 15:25:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 08 16:46:50 2014 -0700"
      },
      "message": "Ensure __set_errno is still visible on LP32.\n\nThe use of the .hidden directive to avoid going via the PLT for\n__set_errno had the side-effect of actually making __set_errno\nhidden (which is odd because assembler directives don\u0027t usually\naffect symbols defined in a different file --- you can\u0027t even\ncreate a weak reference to a symbol that\u0027s defined in a different\nfile).\n\nThis change switches the system call stubs over to a new always-hidden\n__set_errno_internal and has a visible __set_errno on LP32 just for\nbinary compatibility with old NDK apps.\n\n(cherry-pick of 7efad83d430f4d824f2aaa75edea5106f6ff8aae.)\n\nBug: 17423135\nChange-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b\n"
    },
    {
      "commit": "2320b02c7d91a7ee34e63bcfae81f9e230814aa3",
      "tree": "c6fc4008b4553c763d95b4823a0bbb2217befdbf",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 11:36:07 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 11:36:07 2014 -0700"
      },
      "message": "__gnu_basename(3) is accounted for.\n\nChange-Id: I3836b14a797c4a8d121c6d29d95791ac768257da\n"
    },
    {
      "commit": "dc1fb7000adb77c647f70428fd6ce224e3938220",
      "tree": "b1fb3ac1fd01134601776f82b5d13a2651ed66ec",
      "parents": [
        "55244a9bdbc661212999655644c374352ae92040"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "message": "Clean up some of our python scripts.\n\nChange-Id: Ifa75345db43434298cfb6113fbe2f7a33b88c79d\n"
    },
    {
      "commit": "fd5ee9aebc0a43c7f36a0778c7f416b39ddb870e",
      "tree": "bfbf039f3d95eeb4be2da89a325317e422fcc383",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 15 14:20:04 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 12:01:01 2014 -0700"
      },
      "message": "Hide C++ stuff in libc. Put it back in libstdc++.\n\nBug: 17062445\nChange-Id: I027b186719654c2865b08c3fa83f90fa00c1e838\n"
    },
    {
      "commit": "76212eeb53b0ceae9647314ec4806c66bc90783a",
      "tree": "44cb655e694a156ddedeab08b93426a41d9b3e8d",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:04:28 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 14:02:34 2014 -0700"
      },
      "message": "Add more functionality to glibc symbol checker.\n\nAlso scan NDK\u0027s unwanted symbols list (to show the things that we\u0027re\nexporting but the NDK isn\u0027t. Symbols hidden in the NDK will be marked\nwith a *.\n\nAdd a -u (--unwanted) flag to disable the first two printed groups\n(all symbols in bionic, all symbols in glibc). This is helpful when\nwanting to grep in the list of unwanted symbols.\n\nFinally, update the list of known differences between us and glibc.\n\nChange-Id: I6fdb4126823098430454763c391bd8cd369a75bb\n"
    },
    {
      "commit": "bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7",
      "tree": "17328616c29a98aa2eb16b6cb3a7b7b1c93c0322",
      "parents": [
        "3788a1ee8eae4180117010bb9302334acfe1d218"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:19:20 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:35:47 2014 -0700"
      },
      "message": "Make __set_errno hidden in asm.\n\nThis fixes the build after the -Bsymbolic change.\n\nBug: 16853291\nChange-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2\n"
    },
    {
      "commit": "3726f9c38b4b27b492e378e20c52be859225e5f3",
      "tree": "23112c6c1380ee88e4762b749a1a883acc530cf1",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:15:29 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 22:26:47 2014 +0000"
      },
      "message": "Revert \"Fix incorrect relocations for x86.\"\n\nBug: 16853291\nThis reverts commit 512bc5232689bec9c763c8247b59de970096ff87."
    },
    {
      "commit": "92f0c91b82c60788b14062ca032ccc732f0fba4c",
      "tree": "3f58b9e1093d6dd1fbcae3cfe4e280a9c63f96d6",
      "parents": [
        "cdd2f072af5c22750e06d1613b72336ecda7e71f",
        "01bd32e0e46ab8d9b6aeda77a550ec08074728a6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 07:07:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 15:46:11 2014 +0000"
      },
      "message": "Merge \"Create a distinct temp directory for each run.\""
    },
    {
      "commit": "01bd32e0e46ab8d9b6aeda77a550ec08074728a6",
      "tree": "370657df52d5e3d6fb98d291bf31e754162f95b9",
      "parents": [
        "447fe1c23bc5adaded9a51d3b58f3adaf2cce7b3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 05 12:19:27 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 19:33:22 2014 -0700"
      },
      "message": "Create a distinct temp directory for each run.\n\nModify make__NR_name so that only __ARM_NR_ is exempted from the\n__NR_ being prepended. This avoids a case where using a name starting\nwith __ but is not a valid syscall name in SYSCALLS.TXT does not generate\ncode that will compile but references the function itself and causes\nlink errors.\n\nFix all of the directory references from dir_part1 + dir_part2 to\nuse os.path.join() instead.\n\nChange-Id: Ib9527eba6f25f26a30c5cb0ad431f3f88a7683cf\n"
    },
    {
      "commit": "512bc5232689bec9c763c8247b59de970096ff87",
      "tree": "e51f699b4bad5d59ea915bbea29dc4801eb5409c",
      "parents": [
        "d994622ebf2c4b7e918d9e1f1840f9df88ee7222"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 07 10:46:42 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 07 16:21:47 2014 -0700"
      },
      "message": "Fix incorrect relocations for x86.\n\nThese calls were not going through the PLT like they should have been.\n\nBug: 16853291\nChange-Id: Id70488b077256a70137c4417f21be2c2d1d4341c\n"
    },
    {
      "commit": "13bab43337242094663d6f699ad996ddc99ec582",
      "tree": "d6d1c009d71464edc399a0a4c74c08a4998cab43",
      "parents": [
        "3a238ae7620298608e1d463901051c397e4f8a2f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 15:23:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 17:31:48 2014 -0700"
      },
      "message": "Fix the tzdata update tools.\n\nThe recent libcore ZoneInfo changes mean that we can no longer\ncompile libcore\u0027s ZoneInfo against the RI. Luckily, the field in\nour data file that we needed ZoneInfo for isn\u0027t actually used.\nThis change removes our dependence on libcore.\n\nI\u0027ve left the field in to avoid a file format change. We can remove\nthe field if/when we next have a real need to bump the file format.\n\n(cherry-pick of 90cb5ffb85a9bc2e725824b3ca8db932d02c45db.)\n\nBug: 16168653\nChange-Id: Iedad2252c2b49f4d8bb2c7d9078b39b622444ca7\n"
    },
    {
      "commit": "5d2f86f36341b76f84770d8966d7686a59555ae9",
      "tree": "f38155b2fb16467111705ef96adcb30b7b3afd98",
      "parents": [
        "ea42a6caea9d5cb5a92939ba0696856306b1d56b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 23 11:10:48 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 23 11:10:48 2014 -0700"
      },
      "message": "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.\n\nChange-Id: I99f9d2e0a28342663cec6aed483e1a23c12e5e87\n"
    },
    {
      "commit": "3758a244cf758046b40f630a11aed41e68c9cfc2",
      "tree": "0865c62cfa06f9d0c6d5d3c5406835a5cced92b2",
      "parents": [
        "4d421901e587fd1563da94baf59b015017c01b91"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 22 21:24:47 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 22 21:29:00 2014 -0700"
      },
      "message": "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.\n\nChange-Id: Id6fcb74292e661504d0758bfce24abdc18cb8d32\n"
    },
    {
      "commit": "30ab93949626872b3e6ea35398c831017c4c378f",
      "tree": "e6476b1d98445eac6196c23a518d092a25a5860a",
      "parents": [
        "4c199170a84e725a56b7d40c113c9d76a75d89ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 15:42:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 15:42:59 2014 -0700"
      },
      "message": "update-tzdata.py needs to know where to find icu.\n\nChange-Id: If5561b92c233276fb072da62be21f23df4781c41\n"
    },
    {
      "commit": "e8e453439fa87d9fccf03006cc4dac76acadf44c",
      "tree": "92990dd190c35402f4406807ff5de76c11540bde",
      "parents": [
        "0f690d9eda1893e66223138d2b930eb3e0164820"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 13 11:50:07 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 13 11:50:07 2014 -0700"
      },
      "message": "Bring our \"libresolv\" stuff in line with glibc.\n\nDespite the name, most of resolv_private.h is actually in glibc; it\u0027s just\nthat there it\u0027s tucked away in libresolv whereas we have it in libc.\n\nChange-Id: Ibcf6603f1141ffd2661cee0bffa83052d4f9e549\n"
    },
    {
      "commit": "602b4e482ce7bfa768a4c84baffc3051eca52346",
      "tree": "8ada1a70aa8d1714f0c9c4ade54941be6206d85b",
      "parents": [
        "e18c271423d1777adfe18434558944082fc32c70"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Sat Jun 07 18:15:49 2014 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 09 11:36:37 2014 -0700"
      },
      "message": "AArch64: Remove Frame Record from ARM64 syscalls\n\nThis patch removes the frame record created on svc calls.\n\nChange-Id: I67cf926ba59540e824fb9749d30538e332df7c1e\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "f6b1d439ccbc34f8dec0d0c949f566f82786fa5b",
      "tree": "1b3dd057f1690e62d282c41051447046ba30ee4d",
      "parents": [
        "3e0e7eea490d2080d0290a1e2709e98d8fcf0ebf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:20:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:20:50 2014 -0700"
      },
      "message": "Add a few more C11 functions to the whitelist.\n\nChange-Id: Ie2e767910d7cc8a78c05e29960cf4ab52a59fe9d\n"
    },
    {
      "commit": "15a0456d0b7618554ed3d49287e77b6d43a2812a",
      "tree": "5b675e8b31dedd88f02325c3fd14fa9f23c15216",
      "parents": [
        "50b79530c6fea6d47d54edf6f351dcbd7d87ab6a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 05 17:24:30 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 05 17:24:30 2014 -0700"
      },
      "message": "Remove unnecessary instructions from x86/x86_64 syscalls.\n\n__set_errno returns -1 exactly so that callers don\u0027t need to bother.\nThe other architectures were already taking advantage of this, but\nno one had ever fixed x86 and x86_64.\n\nChange-Id: Ie131494be664f6c4a1bbf8c61bbbed58eac56122\n"
    },
    {
      "commit": "15b91e92a0bb4a15b4f2258bea332f4a67fa94d7",
      "tree": "b83242c20fc59e1d5bc3420e9f8cbf2b5b6a1aae",
      "parents": [
        "264d1b832510b746c1d45b5efaa33c164d6f8b2b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 29 18:17:09 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 29 19:04:36 2014 -0700"
      },
      "message": "Fix x86 cfi directives for syscalls.\n\nThe syscall generation always used 4 bytes for each push cfi directive.\nHowever, the first push should always use an offset of 8 bytes, each\nsubsequent push after that is only 4 bytes though.\n\nChange-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9\n"
    },
    {
      "commit": "45bf4c315d1e42fafa190b691ce98b152a5d5bf7",
      "tree": "17a0bb533344ff11f7401dba76d950b71c7bd1b1",
      "parents": [
        "0f79a2f48788c093804c9f61a66105873eb1cb59"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 18:53:21 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 18:53:21 2014 -0700"
      },
      "message": "Add some more BSD symbols to the list.\n\nBug: 11156955\nChange-Id: I07489ec63536121dbfc372170ef5cf60a5c58948\n"
    },
    {
      "commit": "df22a121b2c75021585e4eea49fd3af92d579dd0",
      "tree": "927ac89db11ccb8206b7c9d8591830f487d9bb20",
      "parents": [
        "3d5a42408ca24f86b8b81697b20012736cb48c2b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 21 16:00:13 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 21 17:46:52 2014 -0700"
      },
      "message": "Add cfi directives for arm64 assembler.\n\nFix syscall generator to add cfi directives and add the directives\nfor all arm64 assembler.\n\nBug: 15138290\nChange-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057\n"
    },
    {
      "commit": "768051405e8d471e06447a5b7223c742022f525a",
      "tree": "3d63a98be8581bad2d47dac3129dbb5b112f51c7",
      "parents": [
        "29f2906bdaf9afe816fc9196437fc07728af98bf",
        "43f37159532c1ef7218266957cc616f055b4dbac"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 21 16:18:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 16:18:59 2014 +0000"
      },
      "message": "Merge \"Treat zero or \u003e1 dat files as an error\""
    },
    {
      "commit": "43f37159532c1ef7218266957cc616f055b4dbac",
      "tree": "33ca90726360b04a39fc4f1dd2e4332b92d5e19a",
      "parents": [
        "227848854695fe5b6f7183fe507edf093808d8ff"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 21 16:59:09 2014 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 21 17:18:17 2014 +0100"
      },
      "message": "Treat zero or \u003e1 dat files as an error\n\nBased on feedback from\nI7efbd6f453fe2b3e71f564121ff0f64a74289d86\n\nChange-Id: Ie131ab8475083350dc183d9f6d5ea7a0b0617c5b\n"
    },
    {
      "commit": "29f2906bdaf9afe816fc9196437fc07728af98bf",
      "tree": "2a072582478ab912d0a0f2030afa80b7f17bbb26",
      "parents": [
        "9f0a52e4e5afc20a61230e6cbfe735606bff7e0c",
        "b497c43336475ff5f0248436510a7fbeccfa96a9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 21 15:23:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 15:23:35 2014 +0000"
      },
      "message": "Merge \"Add a few more symbols to check-symbols-glibc.\""
    },
    {
      "commit": "227848854695fe5b6f7183fe507edf093808d8ff",
      "tree": "5b682f3da70104f9981075913114610860e39b6a",
      "parents": [
        "20177b9fea893ab63a49cf574790ea5e5027e50d",
        "246c6880207539d01e84a6f049cd639139a0691a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 21 08:11:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 08:11:40 2014 +0000"
      },
      "message": "Merge \"Change update-tzdata.py to update ICU data as well\""
    },
    {
      "commit": "b497c43336475ff5f0248436510a7fbeccfa96a9",
      "tree": "c7fa93dbcc599cf8180d8f621f317170a3c3a6ac",
      "parents": [
        "3d2bc5d6c8f08e587a8dad848829f98776549ba6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 20 20:37:56 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 20 20:58:23 2014 -0700"
      },
      "message": "Add a few more symbols to check-symbols-glibc.\n\nBug: 11156955\nChange-Id: Iee0bae6f9742eca188abc7a337371c50888a0ad6\n"
    },
    {
      "commit": "246c6880207539d01e84a6f049cd639139a0691a",
      "tree": "a0d36fad3de5a0d36646da17695b6f5a6c5e0d6a",
      "parents": [
        "3a757f403ba98ab2132ceb8d290dfafea6c4c7a5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri May 16 18:04:48 2014 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue May 20 11:48:43 2014 +0100"
      },
      "message": "Change update-tzdata.py to update ICU data as well\n\nThe update-tzdata.py tool now uses downloaded Olson data\nto update ICU (*new*) at the same time as it updates Bionic\ndata.\n\nChange-Id: I7efbd6f453fe2b3e71f564121ff0f64a74289d86\n"
    },
    {
      "commit": "5a93e88c7f8d8ac7de39f8020c2056816deda28c",
      "tree": "d7bad7750d1d9bc942ef208ed1249cb2ecb67eeb",
      "parents": [
        "c4794a745c17763729c18f64ae3ccef437a53dcd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 14:44:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 19 18:01:07 2014 -0700"
      },
      "message": "Add a script for finding symbols in bionic that aren\u0027t in glibc.\n\nBug: 11156955\nChange-Id: I9772f054f6a92b842531df084dee0ea9c28806be\n"
    },
    {
      "commit": "bfa582d0322932862087db7a8546c042e6602557",
      "tree": "fdcfad03cb2fb975469dd64550119c7900d90f2b",
      "parents": [
        "ad534985ec3e01d37d46c50caa562f6482f48347"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 05 14:58:17 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 05 16:23:15 2014 -0700"
      },
      "message": "Update the NOTICE files and improve the script slightly.\n\nChange-Id: Ia131634cd97ca9523e1b63dce41f66247cbaa311\n"
    },
    {
      "commit": "6a45fe98727f9ee39386d39fa18eea69c706bc9e",
      "tree": "8e675712429d1b78d47fd905d81ab051eb5650b0",
      "parents": [
        "0e351e4011bc98cacc3e37292bfb0e86c3a3bb5b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 18 16:03:03 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 18 17:34:20 2014 -0700"
      },
      "message": "Fix for libgcc compat generation script.\n\n  Taking into account possibility that external symbol\n  could have been an OBJECT instead of function.\n\n  b/14090368\n\nChange-Id: Iac173d2dd1309ed53024306578137c26b1dbbf15\n"
    },
    {
      "commit": "22a0d6fcdceb05d1f11a62fe0f8c7dbe4867bd13",
      "tree": "5bedfcf346863c34a0702a553e918cd53d4277a7",
      "parents": [
        "dec5bacf1481a0e6b0ae0078933dbfb8953b7d19"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 06 15:10:22 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 06 15:10:22 2014 -0800"
      },
      "message": "Bring the generate-NOTICE script up to date.\n\nChange-Id: I63981a2f3cb0a4d7ee7e1a2b4ce00f77898ac25b\n"
    },
    {
      "commit": "54d49ac75b4b71f38eb154ab8e05f60b7c347a2b",
      "tree": "558f9c03922871709ca0fd86adce194428103889",
      "parents": [
        "ca566b31036704eb6cdde05a0bd9ee972d7a995d",
        "adab51aefdd00b65d631f64e6e313713d7dd9564"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Feb 20 19:40:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 20 19:40:08 2014 +0000"
      },
      "message": "Merge \"Added script generating additions to libgcc_compat.c from linker errors\""
    },
    {
      "commit": "adab51aefdd00b65d631f64e6e313713d7dd9564",
      "tree": "8c2c67817acae0476ecc5953d11dfbbd618ccacb",
      "parents": [
        "44ef37c1b445e864068cdcd885ab3d7b17079ad3"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Feb 19 17:23:24 2014 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Feb 20 11:34:08 2014 -0800"
      },
      "message": "Added script generating additions to libgcc_compat.c from linker errors\n\nbug: 12234455\nChange-Id: Icac35237f06e75745da5a91d9c4c941d7df4f84d\n"
    },
    {
      "commit": "d465eb4e76c24b1e782438a4c9e2c9abc20fe66c",
      "tree": "585ce3fcd571871c83eea24940cf583e0ba44324",
      "parents": [
        "fbaddda9f04fa504deb752bba819eb1fa5439baa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 19 18:59:19 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 19 18:59:19 2014 -0800"
      },
      "message": "Remove the useless _C_LABEL from generated system calls.\n\nChange-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c\n"
    },
    {
      "commit": "9abbbdc5346020e33a8fdbe7254dd0fdff9df616",
      "tree": "9a4c06c1cb4b09c8c957c72e061984db2321cc40",
      "parents": [
        "e6c451f5f2e17fccccedaa1c2a90d8d9ba0c1917"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 19 14:54:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 19 14:54:31 2014 -0800"
      },
      "message": "Make mips/mips64 syscall stubs more like the other architectures.\n\nChange-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8\n"
    },
    {
      "commit": "eae27dc55adca75c2332e4b767ec667acfbbbcb3",
      "tree": "3f2394e5a56dfc6e2f8fde6156121372c1ed1f19",
      "parents": [
        "44ef37c1b445e864068cdcd885ab3d7b17079ad3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 19 12:20:00 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 19 12:20:00 2014 -0800"
      },
      "message": "Make mips generated assembler more like the mips64 stuff.\n\nI broke the mips build yesterday because it doesn\u0027t use\n\u003cprivate/bionic_asm.h\u003e like the other architectures, including mips64.\nI want to move mips closer to mips64 to try to avoid this kind of thing\nin future.\n\nChange-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488\n"
    },
    {
      "commit": "986f9067103e41296898a7c0e89f5ed84420fb5b",
      "tree": "2c8aff9ef2cd15f628ad735a801a76256d9c0279",
      "parents": [
        "787c1f937a915feefb767d0c6a15ddb70e6de933"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 16:42:36 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 16:42:36 2014 -0800"
      },
      "message": "Fix build by avoiding the _C_LABEL macro.\n\nChange-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4\n"
    },
    {
      "commit": "db1ea3474899ebbd783aba872d3005f95a816d0f",
      "tree": "b70fedd7d69098f5141dbbb09ef41851a61eec8d",
      "parents": [
        "3623d80675e5321b92c2d88a7b7ec6bd998d81d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 17 18:42:49 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 15:39:24 2014 -0800"
      },
      "message": "Implement some of the missing LFS64 support.\n\nThis gives us:\n\n* \u003cdirent.h\u003e\n  struct dirent64\n  readdir64, readdir64_r, alphasort64, scandir64\n\n* \u003cfcntl.h\u003e\n  creat64, openat64, open64.\n\n* \u003csys/stat.h\u003e\n  struct stat64\n  fstat64, fstatat64, lstat64, stat64.\n\n* \u003csys/statvfs.h\u003e\n  struct statvfs64\n  statvfs64, fstatvfs64.\n\n* \u003csys/vfs.h\u003e\n  struct statfs64\n  statfs64, fstatfs64.\n\nThis also removes some of the incorrect #define hacks we\u0027ve had in the\npast (for stat64, for example, which we promised to clean up way back\nin bug 8472078).\n\nBug: 11865851\nBug: 8472078\nChange-Id: Ia46443521918519f2dfa64d4621027dfd13ac566\n"
    },
    {
      "commit": "b3a23bd0178c8edbb34e310be08e6fb73ac6ba09",
      "tree": "c1b689b1ba401045d91a629d70017a7db2fcb395",
      "parents": [
        "a206dde5bdf9b4d995bf578cc3b54fb8b85e02c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 13:32:02 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 13:52:02 2014 -0800"
      },
      "message": "Build syscall stubs in their own library.\n\nThis lets us lose the auto-generated makefiles.\n\nChange-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86\n"
    },
    {
      "commit": "5043212b7615bc4c03463c4d242769de69cd4685",
      "tree": "8d1c8921afa032308492c4425a06ae8ab19c5c83",
      "parents": [
        "e163a3986aa7d1c67fe3274eb9204812be0a6245"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Feb 05 16:59:23 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 06 15:39:38 2014 -0800"
      },
      "message": "[MIPS64] Add syscall related files\n\nChange-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f\nSigned-off-by: Chris Dearman \u003cchris.dearman@imgtec.com\u003e\nSigned-off-by: Raghu Gandham \u003craghu.gandham@imgtec.com\u003e\nSigned-off-by: Duane Sand \u003cduane.sand@imgtec.com\u003e\n"
    },
    {
      "commit": "d1973ca51325393f304e82a4d79874f33e54ac16",
      "tree": "75a657d895a41aa4855a06ef1e0e986c963e0eef",
      "parents": [
        "5b4884fac90753c68d401de73036c2de919958eb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 21 19:50:58 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 23 18:35:39 2014 -0800"
      },
      "message": "bionic: rename aarch64 target to arm64\n\nRename aarch64 build targets to arm64.  The gcc toolchain is still\naarch64.\n\nChange-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3\n"
    },
    {
      "commit": "e4bc7561219ddb7cfb7b33f731caa92a7766b9ca",
      "tree": "dbb5c65c0e813f2f3035ffe05ee7e58dabd4fbb3",
      "parents": [
        "c1c3f7d4468f02adbf8ced689d738386e42af773"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 06 16:39:10 2014 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 06 16:39:10 2014 -0800"
      },
      "message": "Add cfi directives to x86 syscalls.\n\nModify the syscalls script to generate the cfi directives for x86\nsyscalls.\n\nUpdate the x86 syscalls.\n\nChange-Id: Ia1993dc714a7e79f917087fff8200e9a02c52603\n"
    },
    {
      "commit": "887e1140fe7596fa1239a0bc802d2cdb51c57d3c",
      "tree": "de277e97257d5397d6ae36287a080477966dac5c",
      "parents": [
        "17c9fe7d2f396294a09344a253b2a16ae400df14"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 02 12:05:50 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 02 12:05:50 2014 -0800"
      },
      "message": "Clean up \u003csched.h\u003e.\n\nThis patch switches to using the uapi constants. It also adds the missing\nsetns system call, fixes sched_getcpu\u0027s error behavior, and fixes the\ngensyscalls script now ARM is uapi-only too.\n\nChange-Id: I8e16b1693d6d32cd9b8499e46b5d8b0a50bc4f1d\n"
    },
    {
      "commit": "ed45970ac5a182e512669cfa5c15b9f4fa783ad7",
      "tree": "c8038ea495e3822f652d45eb06efe739b246268b",
      "parents": [
        "ab0b0cdf1b07eb25ad89e0de08d4b3fd453602fe"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 02 17:44:53 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 02 19:13:12 2013 -0800"
      },
      "message": "Add cfi directives to all arm assembly.\n\nSince the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the\ncustom arm assembly has no unwind information. Adding the proper cfi directives\nfor these and removing the arm directives.\n\nUpdate the gensyscalls.py script to add these cfi directives for the generated\nassembly. Also fix the references to non-uapi headers to the proper uapi\nheader.\n\nIn addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not\nneeded at all. The unwinder (libunwind) is able to properly unwind using the\nnormal abort.\n\nAfter this change, I can unwind through the system calls again.\n\nBug: 11559337\nBug: 11825869\nBug: 11321283\n\nChange-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3\n"
    },
    {
      "commit": "ed74484dcbc2e156a6e5fa861a62425b12e55128",
      "tree": "d41520a7d4f893cef86ab650b23e400e30351446",
      "parents": [
        "a034e1d3e06207f079e814101bb3bce1924264e0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 07 10:31:05 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 07 10:31:05 2013 -0800"
      },
      "message": "Stop using the non-uapi \u003clinux/err.h\u003e header file.\n\nWe only need it for MAX_ERRNO, and it\u0027s time we had somewhere to put\nthe little assembler utility macros we\u0027ve been putting off writing.\n\nChange-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83\n"
    },
    {
      "commit": "feaa89a1bcc643a9c3892bb56e020e00779bbb3a",
      "tree": "6dcf3924797a62d3dbcf258ccf67ebc26aa0d268",
      "parents": [
        "07d3c6cecc8016577c9dbd827e85154c077604da"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Mon Oct 07 16:49:09 2013 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 16:16:34 2013 -0700"
      },
      "message": "AArch64: Add support for AArch64 to the syscall interface\n\nThis patch adds support for AArch64 to the syscall interface. The kernel\nimplementation exports a set of canonical syscalls, therefore some of\nthe userspace exported syscalls are implemented as stubs based on the\ncanonical set.\n\nChange-Id: Ia965d71e97769b8be9d7655193fc40303964c4df\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "6b53c2349a5a3fc70a475de6a66131b615e88e48",
      "tree": "3e06ca4bee68b07b1ea57cb564fed82333e997be",
      "parents": [
        "bbefbf1a75052e4c887309299fb4532705aa843d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 22:36:58 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 22:41:50 2013 -0700"
      },
      "message": "Fix the exit syscall stub\u0027s name.\n\nI\u0027ve left the exit_group syscall as _exit because otherwise we\u0027d have to\nconvince the compiler that our _exit (which just calls __exit_group) is\nactually \"noreturn\", and it seems like that would be less clean than just\ncutting out the middleman.\n\nWe\u0027ll just have to trust ourselves not to add anything to SYSCALLS.TXT\nthat ought to be private but that only has a single leading underscore.\nHopefully we can manage that.\n\nChange-Id: Iac47faea9f516186e1774381846c54cafabc4354\n"
    },
    {
      "commit": "fff6e272e9edea3f33b2f64ec9e342413d92e36f",
      "tree": "aca6bdedbb53e763e279cefa15d3b68e72316a05",
      "parents": [
        "972885499255a9368e96332f9da0d28b2436d042"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 17:03:20 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 17:03:20 2013 -0700"
      },
      "message": "Use hidden visibility for generated stubs whose names begin with underscores.\n\nChange-Id: Idb39fd04b7a14114801624e744e76e0e7913d951\n"
    }
  ],
  "next": "103ccde8fe2f2c8abde914a8ba736b2e9cb8d20b"
}
