)]}'
{
  "log": [
    {
      "commit": "e4ddb3c587d07a8b8459d8202b31c0d9340ce8a1",
      "tree": "b80253d8ccc73221b0976fb9db2f752789da0e52",
      "parents": [
        "e4e69a174a0b4980eaff49c55c39b476cbe9b73e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 17 14:12:25 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 17 14:12:25 2017 -0700"
      },
      "message": "Move bionic_systrace.cpp over to CachedProperty.\n\nThis is the last bionic caller that was manually trying to cache\nproperty values.\n\nBug: N/A\nTest: builds and boots\nChange-Id: Id66c0a05d8448f08c39dbf7189241e75615d44b4\n"
    },
    {
      "commit": "e4e69a174a0b4980eaff49c55c39b476cbe9b73e",
      "tree": "9b187b824cede347c462a008d4f50108be428c36",
      "parents": [
        "8d61f27757a0fc1e51a3dd5b466922752f070a8e",
        "be4232be84b65f8aa69d263703ed616af9e5e81c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 15 00:18:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 15 00:18:31 2017 +0000"
      },
      "message": "Merge \"Report the right error code from PropertyServiceConnection()\""
    },
    {
      "commit": "8d61f27757a0fc1e51a3dd5b466922752f070a8e",
      "tree": "4d152373102ed5a234b148d0c3fc8dc3d0b89046",
      "parents": [
        "da08de89b4bef0eb065ae4736cf68d35dba5cf06",
        "35dfaa89de65fdd8ca35ad818c24d80611c60a50"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 14 22:14:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 14 22:14:45 2017 +0000"
      },
      "message": "Merge \"Fix incorrect check.\""
    },
    {
      "commit": "be4232be84b65f8aa69d263703ed616af9e5e81c",
      "tree": "9a58ed020ad2459534ed93371e3c1edfacabf6b3",
      "parents": [
        "da08de89b4bef0eb065ae4736cf68d35dba5cf06"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 14 13:45:20 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 14 14:41:10 2017 -0700"
      },
      "message": "Report the right error code from PropertyServiceConnection()\n\nWe\u0027re currently reporting errno from the clean up call to close(),\nwhich is much less interesting than the failing connect() call that\nprecedes it.  This change reports errno from the connect() call\ninstead.\n\nBug: 36249702\nTest: Boot bullhead, bionic unit tests\nTest: Fake bad end point and see relevant error returned\nChange-Id: Icadec463f50cd0a2a2faa08f049a7996cd32786f\n"
    },
    {
      "commit": "35dfaa89de65fdd8ca35ad818c24d80611c60a50",
      "tree": "4d152373102ed5a234b148d0c3fc8dc3d0b89046",
      "parents": [
        "da08de89b4bef0eb065ae4736cf68d35dba5cf06"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 14 12:58:24 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 14 12:58:56 2017 -0700"
      },
      "message": "Fix incorrect check.\n\nBug: 37347846\n\nTest: No error on data +%s\nChange-Id: I7e88ea842af29ce4a366c25a3f79c09b63a25004\n"
    },
    {
      "commit": "da08de89b4bef0eb065ae4736cf68d35dba5cf06",
      "tree": "5cdc493dfc59e50d2a9af2c8162dddf227f3a95f",
      "parents": [
        "e8a328058d8562b544d65859ba539aa96404dc31",
        "04d99df80db386cad1e3f83f3d760920e6f61b32"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 14 16:00:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 14 16:00:01 2017 +0000"
      },
      "message": "Merge \"libc: ARM: Add 32-bit Kryo memcpy\""
    },
    {
      "commit": "e8a328058d8562b544d65859ba539aa96404dc31",
      "tree": "211a11205f9e9108567be6e2fe2099798d9c5d7c",
      "parents": [
        "10f32d9c171bf7661ec165206f9e718d2f26e20b",
        "a01cbaa87d5126a7757ecf96dd6b691a60bce283"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 14 05:43:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 14 05:43:47 2017 +0000"
      },
      "message": "Merge \"Address review comments on the bionic tzdata loader.\""
    },
    {
      "commit": "10f32d9c171bf7661ec165206f9e718d2f26e20b",
      "tree": "88ca1b23211be8a22386a0be9ab0373a97d0dc58",
      "parents": [
        "f568ccd34afddc2b4223b309109d533349d73749",
        "b63ed1d2b94ccce7a346ed382e3675ed76bce0d7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 19:26:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 19:26:03 2017 +0000"
      },
      "message": "Merge \"Restore __system_property_find_nth version\""
    },
    {
      "commit": "04d99df80db386cad1e3f83f3d760920e6f61b32",
      "tree": "8d52e4795bda9c224b572bfb34938f8153c1f171",
      "parents": [
        "f568ccd34afddc2b4223b309109d533349d73749"
      ],
      "author": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Thu Aug 25 20:03:25 2016 -0400"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 13 11:18:56 2017 -0700"
      },
      "message": "libc: ARM: Add 32-bit Kryo memcpy\n\n* Memcpy is based on Scorpion due to Qualcomm\u0027s\n  128-bit cache line size optimizations.\n\n* PLDOFFSET and PLDSIZE are from the ARM64 Kryo memcpy routine.\n\nBelow are the results of the benchmark, tested on a OnePlus 3 with MSM8996.\n\nBefore:\nBM_string_memcpy/8                          1000k          8    0.934 GiB/s\nBM_string_memcpy/64                         1000k         11    5.785 GiB/s\nBM_string_memcpy/512                        1000k         25   19.918 GiB/s\nBM_string_memcpy/1024                         50M         42   23.938 GiB/s\nBM_string_memcpy/8Ki                          10M        473   17.291 GiB/s\nBM_string_memcpy/16Ki                          5M        565   28.976 GiB/s\nBM_string_memcpy/32Ki                       1000k       1105   29.631 GiB/s\nBM_string_memcpy/64Ki                       1000k       2194   29.864 GiB/s\n\nAfter:\nBM_string_memcpy/8                          1000k          6    1.145 GiB/s\nBM_string_memcpy/64                         1000k          7    8.560 GiB/s\nBM_string_memcpy/512                        1000k         18   27.370 GiB/s\nBM_string_memcpy/1024                         50M         33   30.340 GiB/s\nBM_string_memcpy/8Ki                          10M        266   30.770 GiB/s\nBM_string_memcpy/16Ki                          5M        553   29.599 GiB/s\nBM_string_memcpy/32Ki                       1000k       1121   29.219 GiB/s\nBM_string_memcpy/64Ki                       1000k       2208   29.678 GiB/s\n\nTest: make otapackage\nTest: Ran bionic unit tests on Pixel device. Verified memcpy wins on\nTest: Pixel device.\n\nChange-Id: Id7a9c37ef75a306dd5cf8d374d79d0fe83f8a3ba\n"
    },
    {
      "commit": "b63ed1d2b94ccce7a346ed382e3675ed76bce0d7",
      "tree": "88ca1b23211be8a22386a0be9ab0373a97d0dc58",
      "parents": [
        "f568ccd34afddc2b4223b309109d533349d73749"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 12 18:05:56 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 13 11:18:53 2017 -0700"
      },
      "message": "Restore __system_property_find_nth version\n\nMoving this to LIBC_DEPRECATED caused compatibility\nproblems for some apps.\n\nBug: http://b/36566667\nTest: launch app and check that it does not crash\nChange-Id: I470f916ef818ff62ff5391b3a0c86dd44c1e8cd0\n(cherry picked from commit 2167e74f168a192ca9c63abee1c03197326b83d7)\n"
    },
    {
      "commit": "f568ccd34afddc2b4223b309109d533349d73749",
      "tree": "ea9e31173e2f047ddcba3f1a895a29c62128538d",
      "parents": [
        "a8f9c8069ec45117393bc3abca3379cf62b1124e",
        "4d114f9e215fadc7d4f65f4d1ddccf95523ad6ee"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 13 17:45:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 17:45:54 2017 +0000"
      },
      "message": "Merge \"libc: use Cortex-A7/A53 memset on Kryo\""
    },
    {
      "commit": "a8f9c8069ec45117393bc3abca3379cf62b1124e",
      "tree": "4053c0b78f7db3a1649a0f39b052ef0134a3e306",
      "parents": [
        "2be801302725ab10f7e1fb62ba663ef477f58c6d",
        "3dd3d55af2e73e0cda786368e94c65485bcc267b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 15:09:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 15:09:47 2017 +0000"
      },
      "message": "Merge \"Add seccomp blacklist, and exclude swap functions\""
    },
    {
      "commit": "4d114f9e215fadc7d4f65f4d1ddccf95523ad6ee",
      "tree": "105cb4dfc9f71e59a0a7dae904b40c6c90cb607d",
      "parents": [
        "2be801302725ab10f7e1fb62ba663ef477f58c6d"
      ],
      "author": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Fri Apr 07 14:55:53 2017 -0400"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 12 14:58:29 2017 -0700"
      },
      "message": "libc: use Cortex-A7/A53 memset on Kryo\n\nTested on OnePlus 3 with MSM8996\n\nBefore (Krait):\nBM_string_memset/8                          1000k          7    1.071 GiB/s\nBM_string_memset/64                         1000k          9    6.720 GiB/s\nBM_string_memset/512                        1000k         19   26.699 GiB/s\nBM_string_memset/1024                       1000k         29   34.214 GiB/s\nBM_string_memset/8Ki                          10M        184   44.302 GiB/s\nBM_string_memset/16Ki                          5M        351   46.656 GiB/s\nBM_string_memset/32Ki                          5M        686   47.744 GiB/s\nBM_string_memset/64Ki                       1000k       1355   48.342 GiB/s\n\nAfter (A7/A53):\nBM_string_memset/8                          1000k          7    1.017 GiB/s\nBM_string_memset/64                         1000k          7    8.039 GiB/s\nBM_string_memset/512                        1000k         13   37.976 GiB/s\nBM_string_memset/1024                       1000k         21   47.595 GiB/s\nBM_string_memset/8Ki                          10M        150   54.354 GiB/s\nBM_string_memset/16Ki                         10M        285   57.336 GiB/s\nBM_string_memset/32Ki                          5M        555   59.016 GiB/s\nBM_string_memset/64Ki                       1000k       1097   59.720 GiB/s\n\nTest: make otapackage\nTest: Verified this wins in all dimensions on a Pixel device.\n\nChange-Id: I4cb72cc0363877de7c41d6f991149fda42fd0b4b\n"
    },
    {
      "commit": "a01cbaa87d5126a7757ecf96dd6b691a60bce283",
      "tree": "e4397e58740ad719c5068c75aebb184c37186dd8",
      "parents": [
        "735f41afc43bb83ed738be569b50c6039069e611"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 12 12:03:44 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 12 14:06:29 2017 -0700"
      },
      "message": "Address review comments on the bionic tzdata loader.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ia7e27a2f93fe814e46b0912ce358b72651192173\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": "2be801302725ab10f7e1fb62ba663ef477f58c6d",
      "tree": "2130beb09c7249c6db2be2ab499af1d7ee8ff78c",
      "parents": [
        "735f41afc43bb83ed738be569b50c6039069e611",
        "87ff82466ca26c4efee71eb77447e778b4e0ed9f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 19:02:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 19:02:14 2017 +0000"
      },
      "message": "Merge \"Move libc_logging.cpp over to CachedProperty.\""
    },
    {
      "commit": "735f41afc43bb83ed738be569b50c6039069e611",
      "tree": "d35434d9d2e7d84be4022888724812629ae9d2fc",
      "parents": [
        "21d4a9ac6b6203733acedde5534083eaadfad5a7",
        "d3a07e84a7fdf08a4f68f4549cd2a815418ae746"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 18:41:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 18:41:27 2017 +0000"
      },
      "message": "Merge \"The workaround for apps using older version of soinfos\""
    },
    {
      "commit": "21d4a9ac6b6203733acedde5534083eaadfad5a7",
      "tree": "f2b0dfc360f890801125ac7f21398ce6c5843e0a",
      "parents": [
        "faf7f3542a1b7c850450df158072f021537f40c1",
        "0e8616a37ab3af8567c130de8e83b968ffca79a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 18:15:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 18:15:53 2017 +0000"
      },
      "message": "Merge \"Move localtime.c over to CachedProperty.\""
    },
    {
      "commit": "d3a07e84a7fdf08a4f68f4549cd2a815418ae746",
      "tree": "9edaeaab59e68463ca70425ba7c959517e40cab0",
      "parents": [
        "faf7f3542a1b7c850450df158072f021537f40c1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 11 15:22:49 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 12 10:37:31 2017 -0700"
      },
      "message": "The workaround for apps using older version of soinfos\n\nSkip the check for accessibility in the case soinfo\ndoes not have primary/secondary namespaces associated\nwith them.\n\nBug: http://b/37191433\nTest: start an app from http://b/37191433 make sure it does not crash on lunch\nChange-Id: Id4c0bdab4dfc6bc8a33fc275d71e325518e0759f\n(cherry picked from commit 97b4c5f2649db06661e45147f21a2ab26340ad89)\n"
    },
    {
      "commit": "faf7f3542a1b7c850450df158072f021537f40c1",
      "tree": "9a5595599ec8d89d37cbbd977f989539f329500a",
      "parents": [
        "ff82ce8746081bfbcf65dd038a121dc79386e46f",
        "4bd354276757b3faeacb245e441b60d5d7e532aa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 07:54:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 07:54:04 2017 +0000"
      },
      "message": "Merge \"\u0027make bionic-unit-tests\u0027 now builds all the required binaries\""
    },
    {
      "commit": "ff82ce8746081bfbcf65dd038a121dc79386e46f",
      "tree": "3cb78a171f5116790936c13dc71e47b250713ee0",
      "parents": [
        "53a9bcdcf59a43c851a0d9a1d2c8a880ff9f9cc1",
        "a98aa56f33843bbaae5de7a0b95b1f287181c0ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 05:59:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 05:59:57 2017 +0000"
      },
      "message": "Merge \"Remove the useless lock from CachedProperty.\""
    },
    {
      "commit": "a98aa56f33843bbaae5de7a0b95b1f287181c0ad",
      "tree": "004adf3bdbbbe63679cad07fab6a24bccac4d1a7",
      "parents": [
        "2d389ffee98b6f480f4340ec408d37457e02fbd7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 17:23:37 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 17:23:37 2017 -0700"
      },
      "message": "Remove the useless lock from CachedProperty.\n\nAlso document that the caller should provide locking at an\nappropriate scope.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ib84802fd8b9dbe69f98feab80edef05549a3f73e\n"
    },
    {
      "commit": "53a9bcdcf59a43c851a0d9a1d2c8a880ff9f9cc1",
      "tree": "ce414b3c49900025f15f6d73d059929b0a24c143",
      "parents": [
        "d517ac2dcde4afe9d7eead7b460367694c9ece01",
        "230a7a44ceb82db5d709cbe718dab95d8159633c"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 12 00:06:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 00:06:52 2017 +0000"
      },
      "message": "Merge \"Mark CRT objects as vendor available\""
    },
    {
      "commit": "230a7a44ceb82db5d709cbe718dab95d8159633c",
      "tree": "ce414b3c49900025f15f6d73d059929b0a24c143",
      "parents": [
        "d517ac2dcde4afe9d7eead7b460367694c9ece01"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 14:09:05 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 12 00:06:47 2017 +0000"
      },
      "message": "Mark CRT objects as vendor available\n\nThis will build separate copies of the CRT for vendor vs system when\nBOARD_VNDK_VERSION is set. We\u0027ll be able to change crtbrand / etc as\nneeded with #ifdef __ANDROID_VNDK__ and similar.\n\nBug: 36426473\nBug: 36079834\nTest: Put #ifdef __ANDROID_VNDK__ into crtbrand.S, see changes\nChange-Id: I7db0cccfe94d144f072e7cef23832884f3c066f0\n"
    },
    {
      "commit": "d517ac2dcde4afe9d7eead7b460367694c9ece01",
      "tree": "b62f7d2d2eed9ffdff7ccd1fde97f5af9fd5ecf1",
      "parents": [
        "94f58b2f0cc9948c179ba8dcfd03002c83556a2c",
        "7ade61cae297c112e7288f173fb529673010926a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 11 23:48:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 11 23:48:57 2017 +0000"
      },
      "message": "Merge \"Don\u0027t let missing Treble property context files affect errno.\""
    },
    {
      "commit": "4bd354276757b3faeacb245e441b60d5d7e532aa",
      "tree": "d22ccd4f6aea8a637b6acffde208698511882a53",
      "parents": [
        "6c0468bba71d2f853c2f9517268516ab3331053d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Apr 10 16:52:25 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 11 16:15:32 2017 -0700"
      },
      "message": "\u0027make bionic-unit-tests\u0027 now builds all the required binaries\n\nTest: make\nChange-Id: Ie2f5dffaa4a09eba6714ced8ab0043fd7446bee5\n"
    },
    {
      "commit": "94f58b2f0cc9948c179ba8dcfd03002c83556a2c",
      "tree": "8d526d03dae8980835bab38e54ae75fe64d2e91b",
      "parents": [
        "6c0468bba71d2f853c2f9517268516ab3331053d",
        "93d4f8b2fa1924963f397a0d16e3e38ac4ef2352"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 11 23:14:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 11 23:14:56 2017 +0000"
      },
      "message": "Merge \"Fix missing parse_open_file method.\""
    },
    {
      "commit": "87ff82466ca26c4efee71eb77447e778b4e0ed9f",
      "tree": "a73ce5bcd18d95fb4fdf59783680d55b6ca9d5a4",
      "parents": [
        "2d389ffee98b6f480f4340ec408d37457e02fbd7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 15:18:38 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 15:18:38 2017 -0700"
      },
      "message": "Move libc_logging.cpp over to CachedProperty.\n\nBug: N/A\nTest: ran tests\nChange-Id: I50f9065799e783df961e1275a4cda671fcf0fd32\n"
    },
    {
      "commit": "0e8616a37ab3af8567c130de8e83b968ffca79a6",
      "tree": "a7d0ce44b22d59d19c6ffe22882598b5b1402d67",
      "parents": [
        "2d389ffee98b6f480f4340ec408d37457e02fbd7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 14:44:51 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 14:44:51 2017 -0700"
      },
      "message": "Move localtime.c over to CachedProperty.\n\nSince localtime.c is C, this entails pulling our code out into its own\nC++ file, which we should probably have done years ago anyway.\n\nBug: N/A\nTest: ran tests, and manually tested via Settings\nChange-Id: Ifc787a553e8f739a87641a2d35321aca40a47286\n"
    },
    {
      "commit": "7ade61cae297c112e7288f173fb529673010926a",
      "tree": "6a89998346f43262f68dd32872ba77f3f245e179",
      "parents": [
        "2d389ffee98b6f480f4340ec408d37457e02fbd7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 13:38:36 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 11 13:38:36 2017 -0700"
      },
      "message": "Don\u0027t let missing Treble property context files affect errno.\n\nUser code on a non-treble device was starting with errno \u003d\u003d ENOENT rather\nthan 0 because of this treble support:\n\n  openat(AT_FDCWD, \"/property_contexts\", O_RDONLY|O_CLOEXEC) \u003d -1 ENOENT (No such file or directory)\n  faccessat(AT_FDCWD, \"/system/etc/selinux/plat_property_contexts\", R_OK) \u003d -1 ENOENT (No such file or directory)\n\nThis caused us to fail some toybox tests by reporting bogus errno values\nwhere errno should have been left unset:\n\n  PASS: date -d @0\n  FAIL: date -d @0x123\n  echo -ne \u0027\u0027 | TZ\u003dUTC date -d @0x123 2\u003e\u00261\n  --- expected\n  +++ actual\n  @@ -1 +1 @@\n  -date: bad date \u0027@0x123\u0027\n  +date: bad date \u0027@0x123\u0027: No such file or directory\n  PASS: date -d 06021234\n  PASS: date -d 060212341982\n  FAIL: date -d 123\n  echo -ne \u0027\u0027 | TZ\u003dUTC date -d 123 2\u003e\u00261\n  --- expected\n  +++ actual\n  @@ -1 +1 @@\n  -date: bad date \u0027123\u0027\n  +date: bad date \u0027123\u0027: No such file or directory\n  PASS: date -d 1110143115.30\n  PASS: date -d 111014312015.30\n  PASS: date Unix time missing @\n\nBug: http://b/37248982\nTest: ran tests\nChange-Id: Iacf08c89dbe207ec53a7837e6ac7f78f5541ef35\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": "6c0468bba71d2f853c2f9517268516ab3331053d",
      "tree": "55b79dc1a90df5442f64cdfcb85e1af6db50aa18",
      "parents": [
        "f17048bfb8fdf9a0340dc44f55cba8fddd776577",
        "51a9bf16733595fcd7ffcde3cd3832262516a390"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 11 16:19:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 11 16:19:16 2017 +0000"
      },
      "message": "Merge \"Remove .(ll)ndk suffix from (ll)ndk_library\""
    },
    {
      "commit": "51a9bf16733595fcd7ffcde3cd3832262516a390",
      "tree": "f9c293c54697c4169cebeb36d696ee4bb6456991",
      "parents": [
        "df244d876a5da87161e550147cc03c4373b49ca6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 14:09:18 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 11 15:15:30 2017 +0000"
      },
      "message": "Remove .(ll)ndk suffix from (ll)ndk_library\n\nSoong handles these automatically now.\n\nBug: 33241851\nTest: Android-aosp_arm.mk is the same before/after\nTest: build.ninja is the same before/after\nTest: build-aosp_arm.ninja is the same before/after\nMerged-In: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d\nChange-Id: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d\n"
    },
    {
      "commit": "f17048bfb8fdf9a0340dc44f55cba8fddd776577",
      "tree": "4d4d13f287bddcf6b262d2e257616d43bd6194f8",
      "parents": [
        "bdbab30e32fbae214ce880ef438cf72a623c6388",
        "763f6e108a95fc8eb43e65a626351690cd98227b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 11 06:07:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 11 06:07:07 2017 +0000"
      },
      "message": "Merge \"Send developers straight to the text relocation docs.\""
    },
    {
      "commit": "763f6e108a95fc8eb43e65a626351690cd98227b",
      "tree": "0be2dfd8b46af2637479230a7c31487085988dca",
      "parents": [
        "2d389ffee98b6f480f4340ec408d37457e02fbd7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 10 09:52:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 10 16:41:52 2017 -0700"
      },
      "message": "Send developers straight to the text relocation docs.\n\nIt\u0027s been years since we allowed text relocations, but I had a developer\nask me how to fix them at last week\u0027s O Developer Day. They\u0027d never seen\nour docs, so let\u0027s try to fix that for anyone else who\u0027s still confused...\n\nBug: N/A\nTest: builds\nChange-Id: I9202a7b0a3f024041b646c43c87585f4fab22d09\n"
    },
    {
      "commit": "bdbab30e32fbae214ce880ef438cf72a623c6388",
      "tree": "823e801c0142a827a139d0803c8bc0e6efc7b066",
      "parents": [
        "df244d876a5da87161e550147cc03c4373b49ca6",
        "2b2b25b87827102671cdd4b25c01aa22a9971a63"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 10 19:49:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 10 19:49:38 2017 +0000"
      },
      "message": "Merge \"Refactor Config from a struct to a class.\""
    },
    {
      "commit": "df244d876a5da87161e550147cc03c4373b49ca6",
      "tree": "bbca298fcc912f136d9bff290dfb0ca660809542",
      "parents": [
        "a07033e0dc9cc0f3144954afda67103942216149",
        "b8f7fde4bdfba5a65ef5a88265fdb79403e8a699"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 21:21:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 07 21:21:32 2017 +0000"
      },
      "message": "Merge \"Add LLNDK stub libraries for the VNDK\""
    },
    {
      "commit": "a07033e0dc9cc0f3144954afda67103942216149",
      "tree": "698d8321b60e81f50a799ba1c88298bfce5963e9",
      "parents": [
        "c40af334c7f2e76c3a34824a17ea3803caedbd7d",
        "8ef9874d564e1de25057817b43a5ef6f5065b458"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 06 23:35:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 06 23:35:52 2017 +0000"
      },
      "message": "Merge \"versioner: fix LLVM assertion failure.\""
    },
    {
      "commit": "c40af334c7f2e76c3a34824a17ea3803caedbd7d",
      "tree": "36caea25e52b7eb589adadee447207dc2e6dc56d",
      "parents": [
        "afb59c3e4267bf4bea73a30ea3b5bc09c5e4fb74",
        "b8ab61804cec48e4ca585f4508fb1b7c6c5a04c5"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Apr 06 22:41:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 06 22:41:02 2017 +0000"
      },
      "message": "Merge \"Move scopeguard into android::base\""
    },
    {
      "commit": "2b2b25b87827102671cdd4b25c01aa22a9971a63",
      "tree": "d318825c7548379a307beee5b78580e51ce97a52",
      "parents": [
        "e06c69d07324f3da67aa063202e698dedd831365"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 05 19:13:03 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 06 15:30:42 2017 -0700"
      },
      "message": "Refactor Config from a struct to a class.\n\nThis should make it easier to add new options, and to add options that\nare complex. For example, I want to modify the behavior of\nrecord_allocs_file so that it also enables record_allocs to a default\nstate.\n\nTest: All unit tests pass.\nTest: Enable the backtrace option and restart.\nChange-Id: Idf5cdeed06ade3bc2c8ae39d228734bf65209b4f\n"
    },
    {
      "commit": "afb59c3e4267bf4bea73a30ea3b5bc09c5e4fb74",
      "tree": "76a4fb5e2976beae78ba7a396a327dc1181a3004",
      "parents": [
        "2d389ffee98b6f480f4340ec408d37457e02fbd7",
        "5f8a673a7f6afc019fefdf3f01ef5889f2f01213"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 06 22:30:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 06 22:30:21 2017 +0000"
      },
      "message": "Merge \"Enable FORTIFY unit tests for clang\""
    },
    {
      "commit": "8ef9874d564e1de25057817b43a5ef6f5065b458",
      "tree": "0dda79ba52c176dd0865692c88490adcdaee7ac7",
      "parents": [
        "4df5ca1e0254790d41f945352a93f5c783ea8de0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 06 12:57:22 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 06 13:37:56 2017 -0700"
      },
      "message": "versioner: fix LLVM assertion failure.\n\nMemoryBuffer::getOpenFileSlice asserts that the map size passed in\nisn\u0027t -1 (presumably because the offset can be nonzero). Switch to\ngetOpenFile, which results in an identical call to the implementation\nfunction without the assert.\n\nBug: http://b/37002637\nTest: export FORCE_BUILD_LLVM_COMPONENTS\u003dtrue\n      export FORCE_BUILD_LLVM_DEBUG\u003dtrue\n      export FORCE_BUILD_LLVM_DISABLE_NDEBUG\u003dtrue\n      mma -j \u0026\u0026 versioner\n\nChange-Id: Ib610db9e07429aa3f64128eaef6ef555c4d1868e\n"
    },
    {
      "commit": "2d389ffee98b6f480f4340ec408d37457e02fbd7",
      "tree": "0042c5148071c78240b2915f3f053ac82406402c",
      "parents": [
        "e06c69d07324f3da67aa063202e698dedd831365",
        "9e27e58faa6ff08efbe85fc62943d483ecfed61a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 06 20:29:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 06 20:29:42 2017 +0000"
      },
      "message": "Merge \"Add support for disabling the greylist.\""
    },
    {
      "commit": "5f8a673a7f6afc019fefdf3f01ef5889f2f01213",
      "tree": "0bb4dc991327fce0fe78005843d6d5c2c8e7df77",
      "parents": [
        "e06c69d07324f3da67aa063202e698dedd831365"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Apr 06 11:26:11 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Apr 06 11:27:41 2017 -0700"
      },
      "message": "Enable FORTIFY unit tests for clang\n\nAnd add a thing to remind us to enable the malloc FORTIFY test when we\npull a new clang in.\n\nBug: 34747525\nTest: vts -m BionicUnitTests on bullhead\nChange-Id: If341a27756d608a0fa77ba6518e9bcc725f7632c\n"
    },
    {
      "commit": "9e27e58faa6ff08efbe85fc62943d483ecfed61a",
      "tree": "0042c5148071c78240b2915f3f053ac82406402c",
      "parents": [
        "e06c69d07324f3da67aa063202e698dedd831365"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 23 17:42:49 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 06 10:59:24 2017 -0700"
      },
      "message": "Add support for disabling the greylist.\n\nUseful for testing whether apps have actually stopped using greylisted\nlibraries even if they still have references to them in their apk to support\nold Android releases but also haven\u0027t bumped their targetSdkVersion yet.\n\nSince we already have two expensive __system_property_get calls and this\nwould add a third, optimize two (but leave the third since it\u0027s not\nobviously amenable to optimization). None of this matters for user builds,\nbut I don\u0027t want userdebug/eng to have distractingly different performance.\n\n(cherrypick of 7933bec2872aa1c3430149c7649726333c0ac9d8.)\n\nBug: http://b/36106661\nTest: ran \"can you escape 5\" with and without this property\nChange-Id: Id9a804695c1dca9b4be2ebd0e72f01817bb13cba\n"
    },
    {
      "commit": "e06c69d07324f3da67aa063202e698dedd831365",
      "tree": "9ea36af9600d8a1a3038c9a36d1a96b003a8c979",
      "parents": [
        "278d31d36e7a1682eef1f80aef204e4ad953c2fc",
        "590a410d29978016b2a01e8fbedaf17154743b76"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Apr 06 01:02:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 06 01:02:28 2017 +0000"
      },
      "message": "Merge \"Fix compare_exchange_weak tests to allow spurious failure\""
    },
    {
      "commit": "278d31d36e7a1682eef1f80aef204e4ad953c2fc",
      "tree": "002f4245ecbba33301e0c25b0c7aa56d48726b85",
      "parents": [
        "1261f29631397df3c6a6e3a53399ada5ee1ef69f",
        "bd3d2088d99f45babb8a73192b53b6fd91930af3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 05 23:57:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 05 23:57:13 2017 +0000"
      },
      "message": "Merge \"libc: add const-correct string.h overloads\""
    },
    {
      "commit": "b8ab61804cec48e4ca585f4508fb1b7c6c5a04c5",
      "tree": "4a1045e4b9e30c52e6c3886de8474c0aeb2c8996",
      "parents": [
        "12021ce9cf1ec1bc47cded3402ac9a3aa7b9b396"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Apr 05 16:20:29 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Apr 05 16:37:07 2017 -0700"
      },
      "message": "Move scopeguard into android::base\n\nTest: boot bullhead, bionic unit tests\nChange-Id: I223249684867655ecb53713b10da41d3014f96ae\n"
    },
    {
      "commit": "590a410d29978016b2a01e8fbedaf17154743b76",
      "tree": "355cfb11f9076d6952567120ea9b57598248fe2d",
      "parents": [
        "0a40cb3872ad0382893c0ae2ff72a783054bd0d2"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Apr 04 17:34:59 2017 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Apr 05 16:12:09 2017 -0700"
      },
      "message": "Fix compare_exchange_weak tests to allow spurious failure\n\nTest: Ran bionic unit tests on angler.\n\nBug: 36869788\nChange-Id: Ic1e0e4e409ac719d5b426391a771b4858a6149ee\n"
    },
    {
      "commit": "b8f7fde4bdfba5a65ef5a88265fdb79403e8a699",
      "tree": "e98bbe6b0ad4cccccbe00d5f4c903ab66be95c3e",
      "parents": [
        "a3ed901ef82fae908858f08a62e3d04f769c26ce"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Mar 20 14:07:47 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 05 22:42:08 2017 +0000"
      },
      "message": "Add LLNDK stub libraries for the VNDK\n\nThe stub libraries are the same as the (equivalent version) NDK, but\nthey also contain symbols tagged with \u0027vndk\u0027. Except there are none of\nthose in Bionic currently.\n\nFor headers, the LLNDK/VNDK isn\u0027t using a sysroot like the NDK. Nor is\nit hardcoding an explicit source path list like the platform. Instead it\nruns the bionic/libc/include directory through versioner like the NDK,\nthen exports those generated headers and the kernel headers from the\nstub library like any other exported header. Except it uses -isystem\ninstead of -I due to export_headers_as_system.\n\nTest: aosp_arm; m -j\nTest: Enable BOARD_VNDK_VERSION on aosp_arm; m -j\nTest: Inspect out/soong/build.ninja before/after (w/o vndk)\nChange-Id: Ief58a73907a83053b408b1d4b62999cba470d61c\n"
    },
    {
      "commit": "1261f29631397df3c6a6e3a53399ada5ee1ef69f",
      "tree": "957b274e1e671cdebeadae9e52122031764612e7",
      "parents": [
        "0a40cb3872ad0382893c0ae2ff72a783054bd0d2",
        "19710f761b4134d653936fde88f3c4477ab2128e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 05 22:28:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 05 22:29:01 2017 +0000"
      },
      "message": "Merge \"libc: remove newlines in prototypes in string.h\""
    },
    {
      "commit": "19710f761b4134d653936fde88f3c4477ab2128e",
      "tree": "2bd14bdc7f9462bab7c67e241a87e1ea90c52c33",
      "parents": [
        "07807a10a2dfa85a952ee8c06188d0bc9597c184"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Apr 05 13:24:05 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Apr 05 13:30:52 2017 -0700"
      },
      "message": "libc: remove newlines in prototypes in string.h\n\nThis gives more useful diagnostics if clang needs to mention these\nfunctions (or a parameter of them).\n\nBug: 36984245\nTest: m on bullhead completes successfully.\nChange-Id: I17c2b624d08bc9dd3f08185b30029ed0c49ebb08\n"
    },
    {
      "commit": "bd3d2088d99f45babb8a73192b53b6fd91930af3",
      "tree": "0533adb1ea5e0af98272e39ff9dc8e7fd3bdbf83",
      "parents": [
        "07807a10a2dfa85a952ee8c06188d0bc9597c184"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Apr 04 17:34:02 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Apr 05 13:17:07 2017 -0700"
      },
      "message": "libc: add const-correct string.h overloads\n\nlibcxx provides const-correct overloads for a few string.h functions.\nThese overloads use clang\u0027s enable_if attribute, so they\u0027re preferred\nover our FORTIFY\u0027ed equivalents.\n\nThis weakens _FORTIFY_SOURCE\u003d2 when used with some of these functions,\nsince clang needs to see __pass_object_size in order to pass an accurate\nresult for __builtin_object_size(s, 1) at a callsite. Since those\nfunctions don\u0027t have __pass_object_size on their params, clang can\u0027t do\nthat. This makes LLVM lower the __builtin_object_size calls, which means\nwe get the same result as __builtin_object_size(s, 0).\n\nWe have to provide all of the overloads in Bionic, since enable_if is\nonly used to disambiguate overloads with (otherwise) the same type. In\nother words:\n\n// overload 1\nchar *strchr(const char *, int s) __attribute__((enable_if(1, \"\")));\n// overload 2\nchar *strchr(char *, int s);\n\nvoid foo() {\n  char cs[1] \u003d {};\n  strchr(static_cast\u003cconst char *\u003e(cs), \u0027\\0\u0027); // calls overload #1.\n  strchr(cs, \u0027\\0\u0027); // calls overload #2.\n}\n\nBug: 34747525\nTest: m checkbuild on bullhead internal master + AOSP. vts -m\nBionicUnitTests passes on both. Surprisingly, the only code that this\nseems to break is contained in Bionic.\n\nChange-Id: Ie406f42fb3d1c5bf940dc857889876fc39b57c90\n"
    },
    {
      "commit": "0a40cb3872ad0382893c0ae2ff72a783054bd0d2",
      "tree": "cfbb8bfc9ae40ca53e3677f082487cb7d7a19170",
      "parents": [
        "d90713b33537230914e4b61fc4a364ce818151c0",
        "7336db761c07539b947de7be5320aa982683b6e5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 05 14:11:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 05 14:11:14 2017 +0000"
      },
      "message": "Merge \"Add (duplicate) license from new XML file\""
    },
    {
      "commit": "7336db761c07539b947de7be5320aa982683b6e5",
      "tree": "cfbb8bfc9ae40ca53e3677f082487cb7d7a19170",
      "parents": [
        "d90713b33537230914e4b61fc4a364ce818151c0"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 05 14:57:00 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 05 15:07:55 2017 +0100"
      },
      "message": "Add (duplicate) license from new XML file\n\nThis change was forgotten when I uploaded tzlookup.xml for\nreview. I meant to check this with enh@. Apologies. This fixes\nthe the NOTICE file so others can upload.\n\nTest: repo upload\nChange-Id: I9e722952f9ae8c8d971b1c2d23d53079d85f4ae7\n"
    },
    {
      "commit": "d90713b33537230914e4b61fc4a364ce818151c0",
      "tree": "0d9146b5d1c72538cddc3659027772f7535270d5",
      "parents": [
        "b209e14d36f7b02cf4fcaa6a86c2ed7e119b1529",
        "108279e9e5be02b15c8000d99ce2e600c0bc97ec"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 05 13:33:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 05 13:33:34 2017 +0000"
      },
      "message": "Merge \"Addition of a new system file for time zone data\""
    },
    {
      "commit": "b209e14d36f7b02cf4fcaa6a86c2ed7e119b1529",
      "tree": "9383b5708b728f2cfc1c7898c58a1a305842659b",
      "parents": [
        "07807a10a2dfa85a952ee8c06188d0bc9597c184",
        "a3ed901ef82fae908858f08a62e3d04f769c26ce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 05 02:12:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 05 02:12:00 2017 +0000"
      },
      "message": "Merge \"Remove obsolete Android.mk comments\""
    },
    {
      "commit": "a3ed901ef82fae908858f08a62e3d04f769c26ce",
      "tree": "9383b5708b728f2cfc1c7898c58a1a305842659b",
      "parents": [
        "07807a10a2dfa85a952ee8c06188d0bc9597c184"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 04 15:51:26 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 04 15:52:13 2017 -0700"
      },
      "message": "Remove obsolete Android.mk comments\n\nTest: none\nChange-Id: I0419800d44a7918a4415baf840c7d30bf30a18ed\n"
    },
    {
      "commit": "07807a10a2dfa85a952ee8c06188d0bc9597c184",
      "tree": "1010d24db4a12c780043372860f28aae69540082",
      "parents": [
        "defecea27bbe2c3dd521dfb3054d270918178f53",
        "950a95836d5040e5d123a2128c85e8ac8b46588c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 04 21:10:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 04 21:10:55 2017 +0000"
      },
      "message": "Merge \"Add kryo support.\""
    },
    {
      "commit": "defecea27bbe2c3dd521dfb3054d270918178f53",
      "tree": "34a3ab3ab8a295724415a2f3fad556cefaaf0384",
      "parents": [
        "12021ce9cf1ec1bc47cded3402ac9a3aa7b9b396",
        "bce9a7d51898f73d8e3cef2c4a437bf08698430f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 20:01:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 04 20:01:38 2017 +0000"
      },
      "message": "Merge \"libc: use __bos instead of __bos0 for strchr.\""
    },
    {
      "commit": "bce9a7d51898f73d8e3cef2c4a437bf08698430f",
      "tree": "cb3eaf96756e7c41344e3f1b5465e95a80fb9aa2",
      "parents": [
        "4df5ca1e0254790d41f945352a93f5c783ea8de0"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Apr 03 18:03:36 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Apr 04 11:12:18 2017 -0700"
      },
      "message": "libc: use __bos instead of __bos0 for strchr.\n\nI dunno why I used __bos0 in the first place; clang\u0027s strrchr (and\nGCC\u0027s strchr+strrchr) both use __bos.\n\nBug: 34747525\nTest: m. Device still boots. cts -m BionicUnitTests shows no new\nfailures.\nChange-Id: Ifec0e05a6a1144fa3e3ac70562af3ec57c09c194\n"
    },
    {
      "commit": "12021ce9cf1ec1bc47cded3402ac9a3aa7b9b396",
      "tree": "d9834f8c67723d7ad25c486f946ade92adeacb81",
      "parents": [
        "5ac8755ffe2a908b11972e2c3c8d6c3331fc65aa",
        "1c864b630f0adadcf7ec8df9978366bc61184a7f"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Apr 04 00:49:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 04 00:49:24 2017 +0000"
      },
      "message": "Merge \"Break android_set_abort_message out of libc_logging.\"\nam: 1c864b630f\n\nChange-Id: I7d8ab343a09a0e2166d0462a3b378257cb837f67\n"
    },
    {
      "commit": "1c864b630f0adadcf7ec8df9978366bc61184a7f",
      "tree": "4c4260a294c20f99a297adec0f74b0c9a574b35f",
      "parents": [
        "1400acc159a62c2e4daa63328f3ccc263490d135",
        "10ec9286ae843b0a84438699458ba17bff2f5602"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Apr 04 00:40:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 04 00:40:40 2017 +0000"
      },
      "message": "Merge \"Break android_set_abort_message out of libc_logging.\""
    },
    {
      "commit": "5ac8755ffe2a908b11972e2c3c8d6c3331fc65aa",
      "tree": "509faf5259fad65c079e9546f42f43826e5fa8fd",
      "parents": [
        "d89b0f130c536e8079da6a3b3e02347068bced81",
        "1400acc159a62c2e4daa63328f3ccc263490d135"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 23:26:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 23:26:49 2017 +0000"
      },
      "message": "Merge changes I70edafb7,I96cba65e,I5142a335\nam: 1400acc159\n\nChange-Id: I8a336aac72ba8fa173ef2ea3364a55d7d84fc4f5\n"
    },
    {
      "commit": "1400acc159a62c2e4daa63328f3ccc263490d135",
      "tree": "725e39fb11eaf8c17da6bbb7000ade1db29b0d3f",
      "parents": [
        "6367f5ee5571c41581aefee42fcf4d4899813945",
        "acc7921580522f759cba2ac782921d683665b6b9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 23:17:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 03 23:17:59 2017 +0000"
      },
      "message": "Merge changes I70edafb7,I96cba65e,I5142a335\n\n* changes:\n  versioner: remove useless log message.\n  versioner: fix indentation in usage.\n  versioner: guard preprocessing messages with -v.\n"
    },
    {
      "commit": "10ec9286ae843b0a84438699458ba17bff2f5602",
      "tree": "dec03457b63bc63468d1cf1f5afb1380aa59a089",
      "parents": [
        "4df5ca1e0254790d41f945352a93f5c783ea8de0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 15:13:29 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 16:00:10 2017 -0700"
      },
      "message": "Break android_set_abort_message out of libc_logging.\n\nlibc_logging is getting statically linked into the crash handler\nlibrary, resulting in two copies of the abort message code existing in\nprocesses, one in the linker, and one in the crash handler.\n\nMove android_set_abort_message to its own file to solve this.\n\nBug: http://b/36862204\nTest: /data/nativetest/debuggerd_test/debuggerd_test32\nChange-Id: Ie198c5a3bb07645aa43296915c9a6752693f14a9\n"
    },
    {
      "commit": "d89b0f130c536e8079da6a3b3e02347068bced81",
      "tree": "4bef4ff27945a03544766b58f9f83d8dd5780b7c",
      "parents": [
        "1df65daf9a940f216d003f5930120a71aee5d12d",
        "6367f5ee5571c41581aefee42fcf4d4899813945"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 20:41:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 20:41:38 2017 +0000"
      },
      "message": "Merge changes I826756d9,I00e2edb2\nam: 6367f5ee55\n\nChange-Id: I0585784475e8288fc06e5ca1089ff227f87001bd\n"
    },
    {
      "commit": "6367f5ee5571c41581aefee42fcf4d4899813945",
      "tree": "358b2dfcbbdcd040a76e187e3b5dcea006a4d0e3",
      "parents": [
        "4df5ca1e0254790d41f945352a93f5c783ea8de0",
        "c17e5a465026e8f71b39ebd010ebe87b3be974d6"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 20:33:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 03 20:33:18 2017 +0000"
      },
      "message": "Merge changes I826756d9,I00e2edb2\n\n* changes:\n  libc_logging: mention that they\u0027re async signal safe.\n  linker: update dependencies.\n"
    },
    {
      "commit": "acc7921580522f759cba2ac782921d683665b6b9",
      "tree": "f6912c86aaba46713017c92e1e26b1b79a808ed6",
      "parents": [
        "d744a9bcd5128b106ba2f4cf991d4e6a510751e1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 11:48:55 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 12:41:35 2017 -0700"
      },
      "message": "versioner: remove useless log message.\n\nTest: tools/versioner/run_tests.py\nChange-Id: I70edafb7ad6a6274e7daa508903520dbb4b399c8\n"
    },
    {
      "commit": "d744a9bcd5128b106ba2f4cf991d4e6a510751e1",
      "tree": "82f74d961467e566390f821dc68abf89ea739496",
      "parents": [
        "3fcf747f1daefcd7995a3c22f42e9f5c987e7142"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 11:24:48 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 12:41:35 2017 -0700"
      },
      "message": "versioner: fix indentation in usage.\n\nTest: versioner -h\nChange-Id: I96cba65e53c564c8f47714c74d300e8f3dee7e82\n"
    },
    {
      "commit": "3fcf747f1daefcd7995a3c22f42e9f5c987e7142",
      "tree": "16ec78eb984d4876b5542a8c6f7db5fd3d768dfc",
      "parents": [
        "4df5ca1e0254790d41f945352a93f5c783ea8de0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 11:24:17 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 03 12:41:35 2017 -0700"
      },
      "message": "versioner: guard preprocessing messages with -v.\n\nBug: http://b/36751878\nTest: tools/versioner/run_tests.py\nChange-Id: I5142a33519b101548ccaec8a3bc498e446a648a7\n"
    },
    {
      "commit": "950a95836d5040e5d123a2128c85e8ac8b46588c",
      "tree": "8104c68ae420570acfdb0c3e2817d9bb85be6ee2",
      "parents": [
        "aa0b5054c52e10a9e4b5d5dd9daa90d707164af0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Mar 29 13:10:56 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 03 10:30:55 2017 -0700"
      },
      "message": "Add kryo support.\n\nCurrently, using kryo is the same as using krait, but there are specialized\nroutines that are pending that will be used after this commit.\n\nBug: 36728278\n\nTest: Built and booted a sailfish using kryo.\nChange-Id: Id7510640673c31f7536367041212db6d96a564f0\n"
    },
    {
      "commit": "1df65daf9a940f216d003f5930120a71aee5d12d",
      "tree": "0bcd4f23fbd62bf5f5651ecc6088096d934ec0ba",
      "parents": [
        "e3f66625e39ea578ea593c214d19028325a7fece",
        "4df5ca1e0254790d41f945352a93f5c783ea8de0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 03 17:26:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 17:26:26 2017 +0000"
      },
      "message": "Merge \"Cleanup ANDROID_DNS_MODE and BIONIC_DNSCACHE\"\nam: 4df5ca1e02\n\nChange-Id: I899ca838e59469348cd9bd25296ab9ac8e298291\n"
    },
    {
      "commit": "4df5ca1e0254790d41f945352a93f5c783ea8de0",
      "tree": "9c6d600605af3d3561a7e88aa3b9046731971a39",
      "parents": [
        "6a2c7f5a68bf8a15287f9de1772bb48a359047a8",
        "62c03a4ff4c4a80a4bf7cea72c12e613e26924c6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 17:21:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 03 17:21:54 2017 +0000"
      },
      "message": "Merge \"Cleanup ANDROID_DNS_MODE and BIONIC_DNSCACHE\""
    },
    {
      "commit": "62c03a4ff4c4a80a4bf7cea72c12e613e26924c6",
      "tree": "9baf6c3219450a88e379f44c7c499fd40a449f45",
      "parents": [
        "5d8b8310aaa43d7b8cb8809fdf805ba7f41df15e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Apr 01 09:54:19 2017 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 03 08:44:38 2017 -0700"
      },
      "message": "Cleanup ANDROID_DNS_MODE and BIONIC_DNSCACHE\n\nFor security reasons, when a binary is executed which causes a security\ntransition (eg, a setuid binary, setgid binary, filesystem capabilities,\nor SELinux domain transition), the AT_SECURE flag is set. This causes\ncertain blacklisted environment variables to be stripped before the\nprocess is executed. The list of blacklisted environment variables is\nstored in UNSAFE_VARIABLE_NAMES. Generally speaking, most environment\nvariables used internally by libc show up in this list.\n\nAdd ANDROID_DNS_MODE to the list of unsafe variables.\nSimilar to RESOLV_HOST_CONF and RES_OPTIONS (which are already\nblacklisted), this variable controls how name resolution requests are\nhandled. Allowing ANDROID_DNS_MODE to be set across a security\nboundary could induce resolution failures or otherwise impact\nname resolution.\n\nRemove BIONIC_DNSCACHE. This does not appear to be used, and setting\nthis variable across a security boundary could cause name resolution\nproblems.\n\nTest: Android compiles and runs with no obvious problems.\nChange-Id: I835a7b42d6afbc9c67866594c7951cfd9b355d81\n"
    },
    {
      "commit": "e3f66625e39ea578ea593c214d19028325a7fece",
      "tree": "8422cb5cce0298c57fb90b581757845ac69feed4",
      "parents": [
        "134912df4b2ad74dcb60bc691761234154fe0265",
        "6a2c7f5a68bf8a15287f9de1772bb48a359047a8"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sun Apr 02 02:20:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Apr 02 02:20:13 2017 +0000"
      },
      "message": "Merge \"Fix lookup logic for linked namespaces\"\nam: 6a2c7f5a68\n\nChange-Id: I6af8cccc6ca6a18ced2f4843621563319fdc29f5\n"
    },
    {
      "commit": "6a2c7f5a68bf8a15287f9de1772bb48a359047a8",
      "tree": "87862ec8894932e9ae3213e40cac42289790851c",
      "parents": [
        "5d8b8310aaa43d7b8cb8809fdf805ba7f41df15e",
        "d3e7d088453e089b3d625b0864ccdf3c74893f18"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Apr 02 02:14:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Apr 02 02:14:47 2017 +0000"
      },
      "message": "Merge \"Fix lookup logic for linked namespaces\""
    },
    {
      "commit": "134912df4b2ad74dcb60bc691761234154fe0265",
      "tree": "bd6af1f69e399fb06d7515592985261beebe1a91",
      "parents": [
        "5d20373be9a648bb9baeacc47512482de55d887c",
        "5d8b8310aaa43d7b8cb8809fdf805ba7f41df15e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 01 07:41:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 01 07:41:13 2017 +0000"
      },
      "message": "Merge \"Only use environment variables on the host.\"\nam: 5d8b8310aa\n\nChange-Id: I4439714a733487a76221e789805b50ce958829f4\n"
    },
    {
      "commit": "5d8b8310aaa43d7b8cb8809fdf805ba7f41df15e",
      "tree": "8375e56068427fa6c85ca131abcb3010c9582571",
      "parents": [
        "7cf467bd23cec1ee04713aa7f520fd1414011d24",
        "14eb5abc20038acfbba1c199641c10dc84ee251e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 07:35:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 01 07:35:15 2017 +0000"
      },
      "message": "Merge \"Only use environment variables on the host.\""
    },
    {
      "commit": "14eb5abc20038acfbba1c199641c10dc84ee251e",
      "tree": "8375e56068427fa6c85ca131abcb3010c9582571",
      "parents": [
        "7cf467bd23cec1ee04713aa7f520fd1414011d24"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 31 15:35:21 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 31 23:23:29 2017 -0700"
      },
      "message": "Only use environment variables on the host.\n\nIt\u0027s faster and safer to skip them on the device, where we know where\neverything is anyway.\n\n(cherrypick of cf6365690cc68bdd7e16648fb7881ba0b5cae93d.)\n\nBug: http://b/36807787\nTest: ran tests\nChange-Id: I0bb7879cc46f194152c67ddaf072cbebb424f789\n"
    },
    {
      "commit": "5d20373be9a648bb9baeacc47512482de55d887c",
      "tree": "1eb82af0485122d37c4bb4841f205673b91cb0da",
      "parents": [
        "ec3cc94eb3acb973ad1bb9f03b2f26f6a0a034b2",
        "7cf467bd23cec1ee04713aa7f520fd1414011d24"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Sat Apr 01 00:15:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 01 00:15:45 2017 +0000"
      },
      "message": "Merge \"Expand whitelist\"\nam: 7cf467bd23\n\nChange-Id: Id4baef4988302e5178d5e7bf850f3e9a028b3162\n"
    },
    {
      "commit": "7cf467bd23cec1ee04713aa7f520fd1414011d24",
      "tree": "666172f5c5503d8a9dadab82f39d7e05f508134d",
      "parents": [
        "2a41bf419046743d251ebfa804578a1830478e2e",
        "8b7a3559c18ae1bdf022f8521555572a5e3e282c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 00:07:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 01 00:07:12 2017 +0000"
      },
      "message": "Merge \"Expand whitelist\""
    },
    {
      "commit": "ec3cc94eb3acb973ad1bb9f03b2f26f6a0a034b2",
      "tree": "6d245c09eb1648cf3442c8ed4f990c190478b17e",
      "parents": [
        "f1cbcfe9aa032d50065887b381aef44685b30447",
        "2a41bf419046743d251ebfa804578a1830478e2e"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Fri Mar 31 16:41:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 31 16:41:24 2017 +0000"
      },
      "message": "Merge \"Refactor sanitized library on-disk layout - bionic.\"\nam: 2a41bf4190\n\nChange-Id: I4f62c79e7f5e93c42e3f168609557e9f48a83a5b\n"
    },
    {
      "commit": "2a41bf419046743d251ebfa804578a1830478e2e",
      "tree": "6b8f4598b3845fc15092da4c9f4d5b3519b3db63",
      "parents": [
        "6d225bdf7cc7e1098d926c1bfab80bc9217e264c",
        "4113def4fa1526f1823549f6cc9cfe4c05964aa3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 16:35:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 31 16:35:53 2017 +0000"
      },
      "message": "Merge \"Refactor sanitized library on-disk layout - bionic.\""
    },
    {
      "commit": "8b7a3559c18ae1bdf022f8521555572a5e3e282c",
      "tree": "d8e43a0e4e9b9153dc4c688607d446dfb05caed3",
      "parents": [
        "4b43140142c9569148f91d0dfc5b13994d55b698"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Mar 30 15:24:13 2017 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Mar 31 16:01:32 2017 +0000"
      },
      "message": "Expand whitelist\n\nBug: 36726183\nTest: Builds, call 90 added to policy\n\n(cherry picked from commit 3ba8223b9ac3db1642931876d19127ca6a9a0914)\n\nChange-Id: Ib8db1b764ce22aadf8050031d40040dd6c0e669e\n"
    },
    {
      "commit": "108279e9e5be02b15c8000d99ce2e600c0bc97ec",
      "tree": "0918ddf1974aae2957674f988fe40f9abe6c20cf",
      "parents": [
        "840ae69408c9b6ca269bce4657b9696cc6720918"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Mar 30 18:12:49 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Mar 31 15:35:14 2017 +0100"
      },
      "message": "Addition of a new system file for time zone data\n\nThis file is to replace the time_zones_by_country.xml\nfile from frameworks/base/core/res/res/xml/\n\nThis new file is intended to be updated outside of\nan OTA, unlike time_zones_by_country.xml.\n\nThe tzlookup.xml file is read by code in libcore, not\nframeworks/base.\n\nThe format of the file is slightly different from\ntime_zones_by_country.xml but the information is the\nsame as the current version. It was generated using\na sed transform and manual coallescing of the\n\u003ccountry\u003e elements / comments:\n\nsed \u0027s/\u003ctimezones\u003e$/\u003ctimezones\u003e\\n  \u003ccountryzones\u003e/\u0027 frameworks/base/core/res/res/xml/time_zones_by_country.xml \\\n    | sed \u0027s/\u003c\\/timezones\u003e/  \u003c\\/countryzones\u003e\\n\u003c\\/timezones\u003e/\u0027 \\\n    | sed \u0027s/\u003ctimezone\\( code\u003d\\\"..\\\"\u003e\\)/\u003ccountry\\1\\n      \u003cid\u003e/g\u0027 \\\n    | sed \u0027s/\u003c\\/timezone\u003e/\u003c\\/id\u003e\\n    \u003c\\/country\u003e/g\u0027\n\nThe time_zones_by_country.xml file will be deleted\nin a follow up change when the new code is wired into\nthe code that uses this data.\n\nTest: See associated libcore change that will ensure the file\n      is kept in sync with tzdata when applying IANA rules\n      changes.\nBug: 25338903\nChange-Id: I8912307bf6a41750ac06ffce9143e8055ea4e7c5\n"
    },
    {
      "commit": "4113def4fa1526f1823549f6cc9cfe4c05964aa3",
      "tree": "9b5f0c6529739793c4c2b902953e6df1f7166257",
      "parents": [
        "ccec0f4c110a9f09bec995208e7cb252130835fe"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Wed Mar 29 15:31:34 2017 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Mar 30 20:07:50 2017 -0700"
      },
      "message": "Refactor sanitized library on-disk layout - bionic.\n\nThis CL changes the linker to point to the newly refactored location\nof ASAN-ified libraries on disk.\n\nThis supports changes made by the following CLs -\nhttps://android-review.googlesource.com/#/c/359087/\nhttps://android-review.googlesource.com/#/c/359389/\n\nWhich refactor the on-disk location as follows:\n/data/lib* --\u003e /data/asan/system/lib*\n/data/vendor/* --\u003e /data/asan/vendor/*\n\nThere are a couple of advantages to this, including better isolation\nfrom other components, and more transparent linker renaming and\nSELinux policies.\n\nBug: 36574794\nBug: 36674745\nTest: m -j40 \u0026\u0026 SANITIZE_TARGET\u003d\"address\" m -j40 and the device\nboots. All sanitized libraries are correctly located in /data/asan/*.\n\nChange-Id: Iad8b298a66c38eb0f6327f6b51027f0728aa7a40\n"
    },
    {
      "commit": "f1cbcfe9aa032d50065887b381aef44685b30447",
      "tree": "e7e631806f6ce1502e0c104c9b188b126276d7a7",
      "parents": [
        "bcf3b3d86844f81c9cda835fe65355bc505ade46",
        "6d225bdf7cc7e1098d926c1bfab80bc9217e264c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Mar 31 02:32:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 31 02:32:27 2017 +0000"
      },
      "message": "Merge \"Revert \"isnan and isinf aren\u0027t functions.\"\"\nam: 6d225bdf7c\n\nChange-Id: I57dedc84133b553f84a3eea4cd654a3ebe45aba4\n"
    },
    {
      "commit": "6d225bdf7cc7e1098d926c1bfab80bc9217e264c",
      "tree": "901edb2afdeb8dacf28539156e5afcf2586336e9",
      "parents": [
        "ccec0f4c110a9f09bec995208e7cb252130835fe",
        "284c8f1bafd53777c262ee29f941644747eb4ad9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 02:27:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 31 02:27:14 2017 +0000"
      },
      "message": "Merge \"Revert \"isnan and isinf aren\u0027t functions.\"\""
    },
    {
      "commit": "284c8f1bafd53777c262ee29f941644747eb4ad9",
      "tree": "9d923e60b2e04a083a2a719b054ea1db2a5a699c",
      "parents": [
        "aa0b5054c52e10a9e4b5d5dd9daa90d707164af0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 30 16:34:27 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 30 17:18:31 2017 -0700"
      },
      "message": "Revert \"isnan and isinf aren\u0027t functions.\"\n\nWhile this change is correct, GNU libstdc++ 4.9 isn\u0027t able to handle a\nstandard compliant C library. Its \u003ccmath\u003e will `#undef isnan` from\nmath.h and only adds the function overloads to the std namespace,\nmaking it impossible to use both \u003ccmath\u003e (which gets included by a\nlot of other standard headers) and ::isnan.\n\nWe\u0027re going to have to revert this until we can start turning down\nsupport for gnustl.\n\nThis reverts commit e76ee993ff30a639d24c7db6a080c14d1b1a10f2.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d271629\nTest: make checkbuild\nChange-Id: I394f50271430e78ab801d85c3ee4e87019eda6af\n"
    },
    {
      "commit": "bcf3b3d86844f81c9cda835fe65355bc505ade46",
      "tree": "bf79eda07350d42e70fcb5b27c70596928f19a19",
      "parents": [
        "5b35e2b9c25e2cd031530e658c0d625722d33a1d",
        "ccec0f4c110a9f09bec995208e7cb252130835fe"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 30 01:40:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 30 01:40:54 2017 +0000"
      },
      "message": "Merge \"Add more ptrace process resumption tests.\"\nam: ccec0f4c11\n\nChange-Id: Ia951508d38a146fb879e3a7aa34e3b1bc4d6169f\n"
    },
    {
      "commit": "ccec0f4c110a9f09bec995208e7cb252130835fe",
      "tree": "64aa612e35fe453765f5e866ee75e99d069e622a",
      "parents": [
        "12a07044dbcf98905632eb2a46973fe9d3a4ee49",
        "bc055cae450fd6cf3f210c72212523515b896363"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 30 01:33:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 30 01:33:58 2017 +0000"
      },
      "message": "Merge \"Add more ptrace process resumption tests.\""
    },
    {
      "commit": "5b35e2b9c25e2cd031530e658c0d625722d33a1d",
      "tree": "4fc2bc62c9aefa90d99301def546400f48d19e7f",
      "parents": [
        "028a29faee3a62d9fc39a53cf312478384627652",
        "12a07044dbcf98905632eb2a46973fe9d3a4ee49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 29 23:14:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 29 23:14:56 2017 +0000"
      },
      "message": "Merge \"Fix x86 system calls made from ELF preinit.\"\nam: 12a07044db\n\nChange-Id: I6377f5bcc5edfc725c923b596490aa74e55ea224\n"
    },
    {
      "commit": "12a07044dbcf98905632eb2a46973fe9d3a4ee49",
      "tree": "b94d7131f3a0e71ac3c731e7aeeb64e579278edf",
      "parents": [
        "aa0b5054c52e10a9e4b5d5dd9daa90d707164af0",
        "eb04ed506fbb0561b677d9518c9bae33f0262b03"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 29 23:08:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 29 23:08:18 2017 +0000"
      },
      "message": "Merge \"Fix x86 system calls made from ELF preinit.\""
    },
    {
      "commit": "d3e7d088453e089b3d625b0864ccdf3c74893f18",
      "tree": "0dac036e245c741b296a7fd611dbb98c3979c3a1",
      "parents": [
        "aa0b5054c52e10a9e4b5d5dd9daa90d707164af0"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 27 14:11:02 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Mar 29 15:36:40 2017 -0700"
      },
      "message": "Fix lookup logic for linked namespaces\n\nWhen looking for already loaded libraries include\nlinked namespaces to the search, but check if\nthe library is accessible from the main namespace.\n\nBug: http://b/36008422\nBug: http://b/35417197\nBug: http://b/34052337\nBug: http://b/36660652\nBug: https://issuetracker.google.com/36636090\nTest: run bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nChange-Id: Ic7c1d48114da3ca5dc6512ef03f595dd17b6ed17\n"
    },
    {
      "commit": "bc055cae450fd6cf3f210c72212523515b896363",
      "tree": "50a05d79c4798f7bcccdeb841364476e25a1ade8",
      "parents": [
        "df3b922fcf056bb76665f9c06f0c19c48ef937f9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 29 15:01:15 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 29 15:02:18 2017 -0700"
      },
      "message": "Add more ptrace process resumption tests.\n\nAdd tests to verify that ptrace unlink happens immediately for unreaped\nprocesses.\n\nTest: /data/nativetest/bionic-unit-tests/bionic-unit-tests --gtest_filter\u003d\"Ptrace*\"\nTest: /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter\u003d\"Ptrace*\"\nChange-Id: I9803ee5be2a0686c21556598ecf17348df09f601\n"
    },
    {
      "commit": "eb04ed506fbb0561b677d9518c9bae33f0262b03",
      "tree": "11c004e500d83117298b0520973aab9188911af4",
      "parents": [
        "9cb82a2c6b9001f7c50cbb3465f4aabc5d7cd055"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 29 13:48:02 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 29 13:48:02 2017 -0700"
      },
      "message": "Fix x86 system calls made from ELF preinit.\n\nUsed by CFI, so broke cfi_test#early_init@x86, but I\u0027ve added a specific\ntest for this (and a similar test for getauxval from preinit, which this\npatch does not fix).\n\nBug: http://b/35885875\nTest: ran tests\nChange-Id: I43885bedfb88c0a26b4474bd3c27a87dec7bbc97\n"
    },
    {
      "commit": "028a29faee3a62d9fc39a53cf312478384627652",
      "tree": "a7d94b56a6c79fbe8eed7e89368ebb34c35d4283",
      "parents": [
        "79c33a1b5b40317f58072319443998bea564b09b",
        "aa0b5054c52e10a9e4b5d5dd9daa90d707164af0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Mar 29 18:05:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 29 18:05:14 2017 +0000"
      },
      "message": "Merge changes from topic \u0027no-bionic-prebuilts\u0027\nam: aa0b5054c5\n\nChange-Id: I3a9d7e295163da53babfe5d539d04166eed3224a\n"
    },
    {
      "commit": "aa0b5054c52e10a9e4b5d5dd9daa90d707164af0",
      "tree": "59747422782ab2cf7f5304a4b9faa06794786bd2",
      "parents": [
        "df3b922fcf056bb76665f9c06f0c19c48ef937f9",
        "69cb22f4d73bf432d2b0bb78b74801c94b0824b5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 29 17:59:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 29 17:59:27 2017 +0000"
      },
      "message": "Merge changes from topic \u0027no-bionic-prebuilts\u0027\n\n* changes:\n  Build the versioner even on unbundled branches.\n  Revert \"Revert \"Run the versioner as part of the build.\"\"\n"
    },
    {
      "commit": "79c33a1b5b40317f58072319443998bea564b09b",
      "tree": "f7468954db36b7b1b3a14bc4ddf555655b6fc33f",
      "parents": [
        "448e702fd39bf154b6dad2dd4753656136ecc68e",
        "df3b922fcf056bb76665f9c06f0c19c48ef937f9"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 28 20:48:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 28 20:48:35 2017 +0000"
      },
      "message": "Merge \"linker: log only real dlerrors\"\nam: df3b922fcf\n\nChange-Id: I4608d63d8be71adaad664fbe685d0ec51ec19a27\n"
    }
  ],
  "next": "df3b922fcf056bb76665f9c06f0c19c48ef937f9"
}
