)]}'
{
  "log": [
    {
      "commit": "9d512402d4a07053f179bf33d78a9beda1424306",
      "tree": "11b140506ac2f8325f61b95a20bc6c5e98821372",
      "parents": [
        "38d00b80a072374792bb159e558195eeb8cbd271"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 16:34:37 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:21:12 2020 -0700"
      },
      "message": "fdtrack: add tests for individual wrappers.\n\nAdd tests for all of our existing wrappers (with one commented out,\nbecause it\u0027s unexpectedly generating multiple events).\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I552692aef952237c2eee0dabec61b7ea7fd230e3\n"
    },
    {
      "commit": "38558bad85008368613a362d82289d0370e88357",
      "tree": "bf242562c1f90ada778c4ed4846396860cf88f65",
      "parents": [
        "1ddfe48a9ca6097ca3956fbcafaf43f20c27a4bb",
        "19b2ce8f38f3a7ce724f36efd82c4895f660a2d0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 14 22:57:21 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 14 22:57:21 2020 +0000"
      },
      "message": "Merge \"Fix ifunc_test for hwasan builds.\""
    },
    {
      "commit": "19b2ce8f38f3a7ce724f36efd82c4895f660a2d0",
      "tree": "dade8b2c37b0835f8318fdbb93004a5b2a11515a",
      "parents": [
        "a924442816161dd4699f1fbc401ae3e4c3eea738"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 13 14:09:26 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 13 14:16:17 2020 -0700"
      },
      "message": "Fix ifunc_test for hwasan builds.\n\nThis actually breaks *all* the tests, because the bionic-unit-tests\nbinary crashes while running this ifunc before hwasan is set up.\n\nA longer term fix would be to have the compiler insert a call to\n__hwasan_init at the start of any ifunc resolvers.\n\nBug: 135772972\nTest: ran tests on a hwasan build\nChange-Id: I424b3035e1f76aa4b98c11346825b9ed140584ba\n"
    },
    {
      "commit": "03581d7aa9848e66775bb2eb0fa3be576dc2a030",
      "tree": "eebfc3779b511bfb80bd0bdcba535747a73d1b8f",
      "parents": [
        "e31b510f92adc21fcfbb19674ff58716dd4fdb3c",
        "0816c9050f465d85e4a6b3c0bc7ab84b6c852a2e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 10 23:04:55 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 10 23:04:55 2020 +0000"
      },
      "message": "Merge changes I6c9c2bf5,I23991692\n\n* changes:\n  Tighten pwd/grp iteration tests.\n  Cleanup some trivial TODOs.\n"
    },
    {
      "commit": "e31b510f92adc21fcfbb19674ff58716dd4fdb3c",
      "tree": "344dbae58598369b2d5e8074a1ac1ff359450cfa",
      "parents": [
        "7edce006b1503508adb592992f8e7e2e069312d3",
        "4eb02e2ccd547c769b1679153b444a9eeb834de4"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Apr 10 22:36:19 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 10 22:36:19 2020 +0000"
      },
      "message": "Merge \"Reenable signal-frame-unwind test on x86\""
    },
    {
      "commit": "0816c9050f465d85e4a6b3c0bc7ab84b6c852a2e",
      "tree": "89ddcaef1a009ea08f6a761171bc4a08555dc37e",
      "parents": [
        "6f2e810198b4529ae179d3e662d3cf7ce76ae829"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 10 13:00:42 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 10 13:00:42 2020 -0700"
      },
      "message": "Tighten pwd/grp iteration tests.\n\nPreviously, these tests would fail if vendors modified\nprivate/android_filesystem_config.h to add their custom AIDs, but we\ndid not have a good alternative that vendors could use, so we added a\nspecial case to ignore the vendor AID ranges.\n\nWe\u0027ve had a proper solution since P for this range, so it\u0027s long past\ntime to remove this special case.\n\nTest: add system, vendor, odm, product, and system_ext AIDs to\n      config.fs, ensure that they\u0027ve taken effect on cuttlefish,\n      pass these unit tests\nChange-Id: I6c9c2bf5e895c25805222da018188b269777171c\n"
    },
    {
      "commit": "6f2e810198b4529ae179d3e662d3cf7ce76ae829",
      "tree": "72a2c601ca27d0b6a7405b414f53cff435bd9192",
      "parents": [
        "753994ab5aa5488966888eee3086be1535055c18"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 10 10:50:09 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 10 11:46:03 2020 -0700"
      },
      "message": "Cleanup some trivial TODOs.\n\n1) \"fix the system properties design\" is written for the old protocol,\n   so we\u0027ve already changed the design.  There are no other further\n   planned changes.\n2) \"don\u0027t drag in all the macros, just the types.\" is not likely to\n   happen or be particularly impactful.\n3) \"Find a location suitable for these functions ...\" is refering to\n   legacy code.  More likely that this code will be removed before we\n   find a serious reason to fix this TODO.\n4) \"(73062966) We still don\u0027t have a good way ...\" is stale; we fixed\n   this bug and added the appropriate mechanism.\n\nTest: n/a\nChange-Id: I23991692cdeb81ad00844a6a1680900ff384208b\n"
    },
    {
      "commit": "4eb02e2ccd547c769b1679153b444a9eeb834de4",
      "tree": "302ac3a5666a003f963893791c3254bfdc61cacf",
      "parents": [
        "a924442816161dd4699f1fbc401ae3e4c3eea738"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Apr 09 16:46:53 2020 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Apr 09 16:46:53 2020 -0700"
      },
      "message": "Reenable signal-frame-unwind test on x86\n\nThe test was failing due to a kernel vDSO that was linked without\n--eh-frame-hdr. The kernel bug is fixed for at least the goldfish and\ncuttlefish devices.\n\nhttps://android.googlesource.com/kernel/common/+/3d4b1ffc7edb1f963b0223469b0e8b699a197c1f\nhttps://android.googlesource.com/kernel/common/+/b66f198bf30853d7efd2e4fc34cefd9ab8f09a38\n\nBug: http://b/132763120\nTest: bionic unit tests, on goldfish and cuttlefish\nChange-Id: I5e1d819b604a4baf5b9208f0b19471f9abbcfe75\n"
    },
    {
      "commit": "e7042a740e206f147d9905b23b8fca0e6d9d7d1a",
      "tree": "181c3723a667580d30b4722fcccc34880e270929",
      "parents": [
        "a924442816161dd4699f1fbc401ae3e4c3eea738"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 03 11:56:53 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Apr 07 09:21:41 2020 +0100"
      },
      "message": "Remove unnecessary jni.h\n\nDiscovered after removing implicit jni.h include path.\n\nBug: 152482542\nTest: lunch aosp_x86_64 \u0026\u0026 m checkbuild\nChange-Id: I5fcb33b110c8f5ee9db3c910eaaa3e6018979a45\n"
    },
    {
      "commit": "bf8a50f5972b700ece71ddb8ac256577d7b18f38",
      "tree": "23ae8cbb0c49ee9e7e7ddf9e51483b5018d2650b",
      "parents": [
        "a12013177991927a713e9489f939f88da926585a",
        "f322483b3f8a6e05db5c3fc7974601032a03ba0a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 02 17:40:17 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 02 17:40:17 2020 +0000"
      },
      "message": "Merge \"Fix possible issue with cfi_basic test.\""
    },
    {
      "commit": "f322483b3f8a6e05db5c3fc7974601032a03ba0a",
      "tree": "5b0d9d54a23c6b257493341d676b1b97d37c7ad4",
      "parents": [
        "df3dc8039d350c17b88e1a91a5ff443f4cb890cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 01 16:59:57 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 02 05:48:05 2020 +0000"
      },
      "message": "Fix possible issue with cfi_basic test.\n\nIt\u0027s possible for malloc to return a pointer that is not going to\ncrash with __cfi_slowpath. It\u0027s possible to modify the cfi code\nto avoid this problem, but I\u0027m not convinced that this will be any\nbetter at catching problems. So I\u0027m just modifying the test so that\nit will eventually allocate a pointer that does not overlap.\n\nThis previous version of the test failed on jemalloc svelte config,\nbut there is nothing that would not result in a failure on scudo\nleading to a failure every once in a while.\n\nBug: 142556796\nBug: 140079007\n\nTest: Ran bionic unit tests with jemalloc and scudo.\nChange-Id: Iff45bd950d2eb33ff56dc700a2d739b5b578e090\n"
    },
    {
      "commit": "3c5dff4b1dc1143527201cfc2ab72e0139af715f",
      "tree": "3edc3e87c6913f1f4195c4953cd02cae4cfdebd1",
      "parents": [
        "df3dc8039d350c17b88e1a91a5ff443f4cb890cc"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Mar 31 17:34:03 2020 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Mar 31 17:34:03 2020 -0700"
      },
      "message": "Explain why unit tests need bootstrap bionic\n\nThe question of why the unit tests need the bootstrap bionic came up\nwhile I was working on http://b/152572170.\n\nTest: none\nChange-Id: I08651200e2193c6ea4d3a734b59f022d69e5f154\n"
    },
    {
      "commit": "e7221986c81dc2a45f4928f1ce25e666f834062d",
      "tree": "e4521fd33141df80d0445cc126a5b4c105c9303c",
      "parents": [
        "9268f77bd77c36ed529b4866e641448989003213",
        "96272df35cbc89c696dcacc0796519a89d9e2212"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Sat Mar 28 10:15:32 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 28 10:15:32 2020 +0000"
      },
      "message": "Merge \"dynamic libc: ignore ART profiling signal by default.\""
    },
    {
      "commit": "ca885cf249f96cd70b39a8f3e7032279ed092b59",
      "tree": "d4f21874e75d8f96ef106ab2ba0be61e6c28721a",
      "parents": [
        "2ec66b6a6a9e320cb80afc6ecd33310cc8cd9d9b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 27 17:04:30 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 27 17:04:30 2020 -0700"
      },
      "message": "Remove bionic-unit-tests-scudo.\n\nThis is not used at all any more since we\u0027ve switched to scudo.\n\nTest: Builds.\nChange-Id: Iff0b7d4a5ea12103a68ad038de2d82bf5f864285\n"
    },
    {
      "commit": "96272df35cbc89c696dcacc0796519a89d9e2212",
      "tree": "4c2d8c2d3b30fe82de4e08d57cf43da2481c6e72",
      "parents": [
        "8d1849930f10e6b1a6b9c5885def5a08cee44040"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Mar 24 15:59:27 2020 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 27 19:22:00 2020 +0100"
      },
      "message": "dynamic libc: ignore ART profiling signal by default.\n\nThese solves the issue that targetting non-profilable apps crashed them.\nThere is still a race condition between starting the app and the SIG_IGN\nbeing installed, but that will be fixed in follow-ups.\n\nThis also does not cover programs that statically link libc, but those are\nrare.\n\nThis might be reverted if we find a more general solution to\nb/151835887.\n\nBug: 151328035\nTest: java profile sysui, doesn\u0027t crash\nTest: atest CtsBionicTestCases\n\nChange-Id: I6b99352ed50afe15a609f7ddb85312c2676ddf11\n"
    },
    {
      "commit": "e05c449cd860b68e6339f71c98dd01748c22c01e",
      "tree": "34d4c7822c9dc93943f5e1974bddd117a5f65261",
      "parents": [
        "4b466292d0a02d38f03ea2912cc9dd5b13a145e6",
        "4a6899ce0c0fc900354f44af400fb66ec29440e0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 26 21:14:36 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 26 21:14:36 2020 +0000"
      },
      "message": "Merge \"Add ffsl(3), ffsll(3).\""
    },
    {
      "commit": "4a6899ce0c0fc900354f44af400fb66ec29440e0",
      "tree": "ce91e984c6372ae2cb401ad58fc763a89ac19899",
      "parents": [
        "8d1849930f10e6b1a6b9c5885def5a08cee44040"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 25 10:34:46 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 26 11:43:05 2020 -0700"
      },
      "message": "Add ffsl(3), ffsll(3).\n\nPOSIX added these GNU extensions for issue 8.\n\nI\u0027ve made these always inline without the usual \"until API level X\"\nproviso because they\u0027re single instructions that the compiler can inline\nand there\u0027s really no point providing these if they add function call\noverhead --- everyone should just use __builtin_ffs() and friends\ninstead in that case.\n\nBug: https://austingroupbugs.net/view.php?id\u003d617\nTest: treehugger\nChange-Id: I33fc4b8648ea25917329e81c1b4c60eb9a66d667\n"
    },
    {
      "commit": "a1ab838acc6b54f080a744cc6329f9fc8bb18c5a",
      "tree": "f96facfff4c14aef634eaeef84d3c682a1e60895",
      "parents": [
        "2c1b058aaa15df19d01506114877ecf252e157ab",
        "376106436c6d6bd3f839a2150b40db20b279eaba"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Mar 26 01:21:19 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 26 01:21:19 2020 +0000"
      },
      "message": "Merge \"Increase iteration count for ordering test\""
    },
    {
      "commit": "376106436c6d6bd3f839a2150b40db20b279eaba",
      "tree": "df6cfba9b4a237184a29303f29052e15ab0a9950",
      "parents": [
        "2a069b24df1efffde894b186a669b8b95d4f1fc2"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Mar 25 12:50:21 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Mar 25 12:50:21 2020 -0700"
      },
      "message": "Increase iteration count for ordering test\n\nThis should make it less likely that the writer finishes before the\nreader even starts. It makes the test run longer, but devices have\ngotten faster suince this test was written.\n\nBug: 152218463\nTest: Treehugger\nChange-Id: I409e59071991095fb17e067760f2a5f29ede0ba2\n"
    },
    {
      "commit": "8d1849930f10e6b1a6b9c5885def5a08cee44040",
      "tree": "59683be82b272c2f1ec4e3ca10a1d873a4e612bc",
      "parents": [
        "0ebbed2347c772920473a22a41aea1734d6b9c7d",
        "50fca4d2bd2ded88237b07136ac6e0bc1dc1fdad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 21 01:36:16 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 21 01:36:16 2020 +0000"
      },
      "message": "Merge \"Rewrite sigwait tests in the style of the sigwaitinfo tests.\""
    },
    {
      "commit": "50fca4d2bd2ded88237b07136ac6e0bc1dc1fdad",
      "tree": "e25e56c4a235edb85e3e74d94a0fa6af836c986b",
      "parents": [
        "69046e084236393ce6a65e5e6c7feba8776e5664"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 20 16:25:54 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 20 16:27:57 2020 -0700"
      },
      "message": "Rewrite sigwait tests in the style of the sigwaitinfo tests.\n\nI can\u0027t reproduce locally, but treehugger is seeing 6% flake in the\nsignal.sigwait64_SIGRTMIN test. It\u0027s the only test in the file with a\nsleep() in it, which always makes me suspicious, and we aren\u0027t having\ntrouble with the (in principle) very similar sigwaitinfo() tests, so\nswitch over to their style.\n\nBug: http://b/149934069\nTest: treehugger\nChange-Id: I2a1193b0cbec50f6548badf7dc7175bb6a49e45f\n"
    },
    {
      "commit": "2528dab7419a63f57fe20027886ba7dd3857aba8",
      "tree": "bc87267e77806577a67579079356c53584a6ea33",
      "parents": [
        "2a069b24df1efffde894b186a669b8b95d4f1fc2"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Mar 12 18:29:52 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 20 15:35:54 2020 -0700"
      },
      "message": "Clean up untag_address.\n\nWe had two copies of this function, one (not quite correct) in tests/utils.h\nand another in bionic/macros.h. Delete the former and have the users include\nthe latter.\n\nAlso, create an overload of the function that takes a uintptr_t, which will\nbe useful for out-of-process scenarios such as the MTE support in debuggerd.\n\nBug: 135772972\nChange-Id: Ia3c2652c97797663146b3f05fa786afe09f7ea97\n"
    },
    {
      "commit": "140220bd232bf886b5862fcb735ded7ddae59735",
      "tree": "0ab2c162f8e8517813fd329d973a8b89aa498aad",
      "parents": [
        "bd6a5570bb1921f82599cdc7dd887befbed90a5c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Mar 12 17:09:38 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 00:18:42 2020 +0000"
      },
      "message": "Disable branch protection for arm64.\n\nThis causes failures in signal handler tests, because it looks like clang\ndoesn\u0027t understand how to enable the stack protection in a signal handler.\nClang winds up scribbling on the real stack.\n\nBug: 149934069\nBug: 151372823\n\nTest: Ran all unit tests on bonito/taimen and the signal handler tests pass.\nChange-Id: If73f55e7505b6d7f35b340be0b03c798b21e2829\n"
    },
    {
      "commit": "afa983c8d44400d45c1f0e2b8e90a8be04acf6f7",
      "tree": "f0fc789f6d271b57058cff9518f44793db175f92",
      "parents": [
        "1a1888f801e1efc4232a3e709d959232659af0c6"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Feb 04 15:46:15 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Mar 06 21:04:32 2020 -0800"
      },
      "message": "Rewrite __cxa_atexit / __cxa_finalize\n\nSimplify:\n - Use a single memory-mapped region to hold the table of destructors.\n   Double its capacity each time it is expanded.\n - Add a recompaction pass at the end of __cxa_finalize that shifts\n   entries forward and uses madvise to clean pages.\n\nBug: http://b/148055738\nTest: bionic-unit-tests\nChange-Id: Ieb9da2b88640a8a5277d217b43826b5b7e246781\n"
    },
    {
      "commit": "b274746dd3ad15580d66950e023552f664f1cb26",
      "tree": "e34867c12ac967b7b38a8463babfc111a2c43329",
      "parents": [
        "93517d1a27db3414e6f3b0b3fc91144903837329",
        "edaf03ea183ed5cbb2724e6cb5f90ebf943af65c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 04 18:29:33 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 18:29:33 2020 +0000"
      },
      "message": "Merge \"Remove `return` after `GTEST_SKIP`.\""
    },
    {
      "commit": "edaf03ea183ed5cbb2724e6cb5f90ebf943af65c",
      "tree": "59fa6c9b42971e207cabc62e18190728d9a615e4",
      "parents": [
        "33318f51972de2a7973efb7d9d2f00de567d2e3c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 28 18:27:09 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 28 18:27:09 2020 -0800"
      },
      "message": "Remove `return` after `GTEST_SKIP`.\n\nTest: treehugger\nChange-Id: I5efc31f82a979fcd8d3051c72ed8e6201b3b0d1b\n"
    },
    {
      "commit": "c00691aa9e5737d863387080338ac16f761232bb",
      "tree": "ecb54ba4dd76250a9ca87732f8ab3e8c87515a03",
      "parents": [
        "0dd87c37d48c6b95d216a392e2bd0d4f68769bdf",
        "b8d13487887a3751c2cf46c834c7888e0ee18205"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 28 01:28:37 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 28 01:28:37 2020 +0000"
      },
      "message": "Merge \"Handle the alternate signal stack correctly in android_unsafe_frame_pointer_chase.\""
    },
    {
      "commit": "b8d13487887a3751c2cf46c834c7888e0ee18205",
      "tree": "f2d482d43ac122b0415061023f80972a1a8629d9",
      "parents": [
        "c4f9c9d1710fd7ba2e252e8b3268e179bf8bc5fe"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Feb 26 19:01:13 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Feb 27 10:44:15 2020 -0800"
      },
      "message": "Handle the alternate signal stack correctly in android_unsafe_frame_pointer_chase.\n\nIf an alternate signal stack is set and the frame record is in bounds of\nthat stack, we need to use the top of the alternate signal stack for bounds\nchecking rather than the normal stack.\n\nBug: 150215618\nChange-Id: I78b760d61b27da44f8e0cfee3fe94a791011fe58\n"
    },
    {
      "commit": "d901ec69644db8458d987af257dd78d724b4a0ae",
      "tree": "b7d99b3e4114a56b3f9edaf77176c299d88aeb60",
      "parents": [
        "6cf75230d9feae269a823c7dd43433baf1b71465"
      ],
      "author": {
        "name": "Tamas Petz",
        "email": "tamas.petz@arm.com",
        "time": "Tue Feb 25 11:25:48 2020 +0100"
      },
      "committer": {
        "name": "Tamas Petz",
        "email": "tamas.petz@arm.com",
        "time": "Thu Feb 27 12:58:13 2020 +0100"
      },
      "message": "[unit tests] Add \u0027-mbranch-protection\u003dstandard\u0027 flag to arm64\n\nThis change adds standard branch protection to bionic unit tests\nfor arm64 targets. For more information see\nhttps://developer.arm.com/search#q\u003dbranch-protection\n\nBoth Armv8.3-A Pointer Authentication (using the A-key) hint-space\ninstructions and Armv8.5-A Branch Target Identification hint-space\nlanding pads are added to the generated code.\n\nTest: 1. Tested on flame\n      2. Tested on FVP\n\nChange-Id: Ice991c538a9101448dea64c357f3f6bfb93877eb\n"
    },
    {
      "commit": "33318f51972de2a7973efb7d9d2f00de567d2e3c",
      "tree": "73449053c31e0966e79426588380bc351edd4f19",
      "parents": [
        "521dab3b365cd87284fdb0e3534069902b31d875",
        "733cedd1c4696ea74dab34d629ef7ac28ecc2200"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 25 16:37:09 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 25 16:37:09 2020 +0000"
      },
      "message": "Merge \"Add a libc wrapper for statx(2).\""
    },
    {
      "commit": "c5d9036f80d0361a5ad711ab9047ba5747145c02",
      "tree": "a045be6afb94bee06d36e28ecceb5c1c9331f38e",
      "parents": [
        "fcbdba22ab1c84825bd1e4cd18f8298c87991a5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 09:52:14 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 09:52:14 2020 -0800"
      },
      "message": "Make the HWCAP/HWCAP2 constants available from \u003csys/auxv.h\u003e.\n\nNoticed by ARM when adding BTI support to the linker.\n\nTest: treehugger\nChange-Id: If3b87d0bd4682ff478b7805251fc9a88a7f439f9\n"
    },
    {
      "commit": "733cedd1c4696ea74dab34d629ef7ac28ecc2200",
      "tree": "6f24227b01f5bfea254d364bd90ee5a1067d4408",
      "parents": [
        "fcbdba22ab1c84825bd1e4cd18f8298c87991a5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 21 23:21:28 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Feb 23 11:36:53 2020 -0800"
      },
      "message": "Add a libc wrapper for statx(2).\n\nBug: http://b/127675384\nBug: http://b/146676114\nTest: treehugger\nChange-Id: I844edc12f62717e579870a040cf03dfe60dc280b\n"
    },
    {
      "commit": "45819dde10da8fb28a4ce9e6fc17f852839cd2c9",
      "tree": "eff1d1c5f125f17676aa2f5231cf526371d71de8",
      "parents": [
        "f2549c8369d7da5bc62e9d171211eff8fa46b9bd"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 09 11:00:43 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Feb 20 15:25:08 2020 -0800"
      },
      "message": "Allow android_mallopt(M_SET_HEAP_TAGGING_LEVEL) to control scudo heap tagging.\n\nThe tag level may now be async, which is now the default. When the tag level\nis set to none, memory tagging is disabled in the allocator using the new\nAPI proposed in https://reviews.llvm.org/D70762 .\n\nBug: 135772972\nChange-Id: I847f5822a70913c446ed9ffa13792177bbfc96af\n"
    },
    {
      "commit": "c8cef93f240551dcaa7389c0d160cdce5254c230",
      "tree": "185f74781dbee0be7406e987caaa7deafa73b821",
      "parents": [
        "3597b0676b6b9c886ced9fb5d0e6e74379965c91"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 14 19:19:32 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Feb 18 13:13:57 2020 -0800"
      },
      "message": "Allow nested usage of ScopedDisableMTE.\n\nAn upcoming change to scudo will cause us to start calling\nandroid_unsafe_frame_pointer_chase() from within the allocator. Since this\nfunction uses ScopedDisableMTE, this would otherwise make it unsafe to use\nthe allocator from within ScopedDisableMTE. This seems like an unreasonable\nrestriction, so make ScopedDisableMTE save the PSTATE.TCO state in the\nconstructor and restore it in the destructor.\n\nBug: 135772972\nChange-Id: I47e18d5fb2929efd5a58676488180cd85731007b\n"
    },
    {
      "commit": "c65b55cded2369064458a772db2ed2dcf0e6d871",
      "tree": "a8f0bd042830d5aa587a47fbad3ac42284019df4",
      "parents": [
        "fb28c278b726a2281cef89cf25b5e9a2a5503b31",
        "3e928edc77751943f157ad7aba01b2453633e2c7"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Feb 14 14:42:49 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 14:42:49 2020 +0000"
      },
      "message": "Merge \"Remove XOM properties.\""
    },
    {
      "commit": "3e928edc77751943f157ad7aba01b2453633e2c7",
      "tree": "a3f4e8fc47e08f173edf8803447e84b29735b8fb",
      "parents": [
        "38d115c7f091021c06364c1692ab95f9e97accd2"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Feb 11 13:58:13 2020 -0500"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Feb 13 14:20:44 2020 -0500"
      },
      "message": "Remove XOM properties.\n\nXOM is no longer supported by the build system, so remove these\nproperties.\n\nBug: 123034666\nBug: 147300048\nTest: Build succeeds.\nChange-Id: I77efc98241f45b1a78b1cca5560f64eef5ef22f4\n"
    },
    {
      "commit": "6a65ccdf5213cf3b9e80eba11ef8a0f40240272b",
      "tree": "1f667a8bdfb7d35fc014517e2724cb16486423d4",
      "parents": [
        "97d053283f4c100baed8677f7a7af98a976a2e2f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 13 09:48:14 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 13 09:48:14 2020 -0800"
      },
      "message": "Remove mips test workarounds.\n\nThe mips/mips64 targets were never able to pass these tests, and the\nsupported architectures don\u0027t need any of these workarounds.\n\nTest: treehugger\nChange-Id: I640a8b7a98ae13d9d9cdb09b0fbef61d31d4c79a\n"
    },
    {
      "commit": "cce88c0a03c369be98f38594c36c7edb40cefd23",
      "tree": "bcc698c97d16e4df446452dd2ba7636a90846713",
      "parents": [
        "06ea3cf8830106103c4e3037f19d86ea76969e09"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 12 17:41:01 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 12 17:41:01 2020 -0800"
      },
      "message": "Update malloc_info test for scudo.\n\nScudo implemented malloc_info for the primary allocator, so add some\nsmall amount of validation.\n\nTest: Ran the malloc_info tests and verified they pass.\nChange-Id: Ib7c609e46cc1ed73fa5c042df92fa9b568880f21\n"
    },
    {
      "commit": "242387d0cf6ba5e25d23b81f80915fc712ef8700",
      "tree": "13ab3a156d2fa0fe12669be598cdfa729e6f9502",
      "parents": [
        "d129786e122f4a7136fe4b8b1b3fdc5525897532"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Feb 11 16:08:17 2020 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Feb 11 16:08:17 2020 -0800"
      },
      "message": "[GWP-ASan] [malloc-tests] Scan GWP-ASan regions in maps.\n\nGWP-ASan is part of the native allocator, and may allocate some memory.\nWhen GWP-ASan is enabled, the malloc tests need to look inside of\nGWP-ASan regions as well for native allocations.\n\nBug: 135634846\nTest: atest bionic-unit-tests\nChange-Id: Ibb78f9c9e7e96a437cffce013facd18708799b0e\n"
    },
    {
      "commit": "892d0286c43e239bc8dba5765dd0e2dc8c7479c1",
      "tree": "31652d07d987acbb44d0c9ca34e11168bf3bb895",
      "parents": [
        "6fa2f4f2ff13deffce0e254a72e9d57bbee9000d"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 30 14:49:11 2020 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Fri Feb 07 01:40:05 2020 +0000"
      },
      "message": "[Elf TLS] [GWP-ASan] Update ELF TLS test.\n\nGWP-ASan introduces two Initial-Exec thread-local variables into\nlibc.so. This causes the ELF TLS test to understandably fail, and needs\nto be patched up.\n\nBug: 148606979\nTest: atest bionic-unit-test\nChange-Id: I77500a00edb55cb7bcd3cd3faffb76d2339ab42c\n"
    },
    {
      "commit": "f7c40da307be6a9cbe2287306d9b7c25f16bb09b",
      "tree": "1668d082d974bde3fd646f0b9e26a61630560b5b",
      "parents": [
        "2968695188152dbdc7529e56d6acbe4f77cbd2b4",
        "22fa3dde076bf6dbe432acdbede7693d0544564e"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Feb 04 21:46:15 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 04 21:46:15 2020 +0000"
      },
      "message": "Merge changes from topic \"import-lib-access\"\n\n* changes:\n  Ignore symbols of imported libs\u0027 dependencies\n  Comment two linker namespace functions\n  Rename dlsym_handle_lookup:6 to dlsym_handle_lookup_impl\n"
    },
    {
      "commit": "22fa3dde076bf6dbe432acdbede7693d0544564e",
      "tree": "4a4b6aac84b51fb871d2e924703f50186e32165e",
      "parents": [
        "e503383c92e89190a59508e741dcdc62491c7269"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 31 14:47:48 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Feb 03 14:20:40 2020 -0800"
      },
      "message": "Ignore symbols of imported libs\u0027 dependencies\n\nWhen a library is present in a namespace via the secondary_namespaces\nlist (i.e. the executable, LD_PRELOAD, DF_1_GLOBAL, or\nandroid_create_namespace inheritance), then we want to search that\nlibrary\u0027s symbols, but not the symbols of its dependencies. Otherwise,\nwe want to search the dependencies to handle cross-NS dependency.\n\nBug: http://b/148569846\nTest: bionic unit tests\nChange-Id: If798d69de28ed5c0f1a155e4ff85c7e08934e531\n"
    },
    {
      "commit": "5f45c18a7fd77a1a9daf453c6dea9fceddf0184c",
      "tree": "0d37e47fa38981e5f895a290c3d09a834b60abd4",
      "parents": [
        "bdb678c9bdad161d033b236f261ba1cb299fada2"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jan 14 17:59:41 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Feb 03 10:30:45 2020 -0800"
      },
      "message": "Add an android_unsafe_frame_pointer_chase function.\n\nThis function will be used by Scudo and GWP-ASan to efficiently collect\nstack traces for frames built with frame pointers.\n\nBug: 135634846\nBug: 135772972\nChange-Id: Ic63efdbafe11dfbb1226b5b4b403d53c4dbf28f3\nMerged-In: Ic63efdbafe11dfbb1226b5b4b403d53c4dbf28f3\n"
    },
    {
      "commit": "4fe5b783a46fced8fa355a5a9a187528eecde3cc",
      "tree": "087b02d08e29a405f11df52e6e4c5e49291eea7a",
      "parents": [
        "bd2ac8d33510df712087fcb3317f7a6b4654e3b1",
        "6f1fd6881756504780095baf9fd7f835eb0396f7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 31 00:00:44 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 31 00:00:44 2020 +0000"
      },
      "message": "Merge \"Add some MTE-related helpers.\""
    },
    {
      "commit": "759625072270f5b6940dae40c8039867a08eff12",
      "tree": "e0a1227301a6b67509badba95a91998d5c04e18d",
      "parents": [
        "97271920bf831610819ddfa44e4e2cc0815afd6e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 28 13:24:33 2020 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Move fdtrack APIs to LLNDK.\n\nTest: logcat -c; fdtrack_test; logcat -d\nChange-Id: Ib6f75a7c8bbc4d6efa0708dcbbfe4ad3c0641022\n"
    },
    {
      "commit": "97271920bf831610819ddfa44e4e2cc0815afd6e",
      "tree": "0ba61ad31242b38becb89cab8702df68328a1e71",
      "parents": [
        "7ef4c774da59bbf942b5652b1f68e46cac2e5099"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 06 13:15:00 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Add a tool to track down fd leaks.\n\nAdd a hook that\u0027s called upon file descriptor creation to libc, and a\nlibrary that uses it to capture backtraces for file descriptor creation,\nto make it easier to hunt down file descriptor leaks.\n\nCurrently, this doesn\u0027t capture all of the ways of creating a file\ndescriptor, but completeness isn\u0027t required for this to be useful as\nlong as leaked file descriptors are created with a function that is\ntracked. The primary unhandled case is binder, which receives file\ndescriptors as a payload in a not-trivially-parsable byte blob, but\nthere\u0027s a chance that the leak we\u0027re currently trying to track down\nisn\u0027t of a file descriptor received over binder, so leave that for\nlater.\n\nBug: http://b/140703823\nTest: manual\nChange-Id: I308a14c2e234cdba4207157b634ab6b8bc539dd9\n(cherry picked from commit b7eccd4b1577c101132e52d4a5313d5322dcae2d)\n"
    },
    {
      "commit": "6f1fd6881756504780095baf9fd7f835eb0396f7",
      "tree": "b0486912f68f2830d90c8705545eb37f2b00aaad",
      "parents": [
        "58f3cba940963796442181646ab30b836f61b6be"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Jan 29 16:27:31 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 30 10:56:50 2020 -0800"
      },
      "message": "Add some MTE-related helpers.\n\nmte_supported() lets code efficiently detect the presence of MTE, and\nScopedDisableMTE lets code disable MTE RAII-style in a particular region\nof code.\n\nBug: 135772972\nChange-Id: I628a054b50d79f67f39f35d44232b7a2ae166afb\n"
    },
    {
      "commit": "09e77f35ab8d291bf88302bb9673aaa518c6bcb0",
      "tree": "8cd94a94db1ab872266022a3ad2b746d0b215e36",
      "parents": [
        "945001da54637082fb30ea2a8bc50beb24442ffa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 19:20:45 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 19:36:14 2020 -0800"
      },
      "message": "_FILE_OFFSET_BITS\u003d64 support for fcntl.\n\nOn Android, fcntl is always implemented by fcntl64(2). This means that\nan LP32 binary can `fcntl(F_SETLK, struct flock)` (because fcntl64(2)\npasses through to the 32-bit fcntl(2) to handle F_SETLK), and it can\nalso `fcntl(F_SETLK64, struct flock64)`. What it can\u0027t do before this\npatch is set _FILE_OFFSET_BITS\u003d64 and then `fcntl(F_SETLK, struct\nflock)` where that `struct flock` is actually implicitly `struct\nflock64`.\n\nMove the kernel uapi structs out of the way, define them ourselves based\non __LP64__ and _FILE_OFFSET_BITS, and fix up the relevant F_ constants.\n\n(Also add a .clang-format to turn off clang-format in libc/include/.)\n\nBug: N/A\nTest: treehugger (and strace!)\nChange-Id: Iccd6c83d9133e1efcf93a7b49a6ae0f1bbd3d58b\n"
    },
    {
      "commit": "201dcf491bf74fe589e93584f97f3908c353af4b",
      "tree": "357a5bbd07cf84d8fc9c4e161c1ae6c29bc33ad8",
      "parents": [
        "0e0b473a4c01ec6b739ac7aa9eccb63005fa3da2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 29 13:09:31 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 29 14:40:37 2020 -0800"
      },
      "message": "Add a disabled test to verify alloc after fork.\n\nThe alloc after fork is a test that should pass, but jemalloc\ndoesn\u0027t right now. Leave the test disabled until the native\nallocator can pass this.\n\nTest: Ran the test 1000 times on glibc to verify it passes.\nTest: On device, verified it does not run.\nChange-Id: I482af4db2fee81c947ac081c7a6f25a2aff80350\n"
    },
    {
      "commit": "35a09a3493283cb2d08c1f5ac0e550e40b626305",
      "tree": "4d23aed20dd247814e5a45ed548dc83864151205",
      "parents": [
        "ee12e47788ec0398b18fb60d4db7a9d72cbea8d2",
        "6dd1f587c8d354c011a51748c587d3fab55b1b50"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 16:44:20 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 29 16:44:20 2020 +0000"
      },
      "message": "Merge \"Test all four supported relocation encodings.\""
    },
    {
      "commit": "6dd1f587c8d354c011a51748c587d3fab55b1b50",
      "tree": "9dbf923ce484396c44e8db7cd1d733fa94962b2b",
      "parents": [
        "a2132f23b8056f00d46e67db03d257d4bce2881a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 28 12:18:35 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 28 17:59:23 2020 -0800"
      },
      "message": "Test all four supported relocation encodings.\n\nTest (a) that we can load the library, but also (b) that readelf thinks\nit contains the relocation encoding we were expecting. Do this for all\nfour of RELR, ANDROID_RELR, relocation packer, and the original ELF\nrelocation encoding.\n\nBug: http://b/147452927\nTest: treehugger\nChange-Id: I5fab72f99d46991c1b206a1c15c76e185b7148b3\n"
    },
    {
      "commit": "ee12e47788ec0398b18fb60d4db7a9d72cbea8d2",
      "tree": "9c171e55fc629b584ad3098a5a4d73a35ea9f58c",
      "parents": [
        "a2132f23b8056f00d46e67db03d257d4bce2881a",
        "b874c339cdfc5e162bb735f2af8181edfb512858"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 28 20:26:47 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 20:26:47 2020 +0000"
      },
      "message": "Merge \"Use platform signal name.\""
    },
    {
      "commit": "1d8f6f2f5d180db07158e9d75c50adabd2826f30",
      "tree": "8af545e4ff6561c1d2de2395123fcb5f6fa1a9dc",
      "parents": [
        "f62865767f480e45f042b09bbc7604d5bebdd9ed",
        "6663f5525dafc31de1891d7e0fa6da88c4c7dc4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 27 18:10:13 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 27 18:10:13 2020 +0000"
      },
      "message": "Merge \"Modernize SHT_RELR support.\""
    },
    {
      "commit": "b874c339cdfc5e162bb735f2af8181edfb512858",
      "tree": "866cd1eee7cfb734642f03aeff570efab718c53f",
      "parents": [
        "f62865767f480e45f042b09bbc7604d5bebdd9ed"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 21 16:39:05 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 27 09:36:34 2020 -0800"
      },
      "message": "Use platform signal name.\n\nTest: Compiles and test passes.\nChange-Id: I8d19431ded97f5a8e7baa0c85b9496eddd36a25a\n"
    },
    {
      "commit": "6663f5525dafc31de1891d7e0fa6da88c4c7dc4b",
      "tree": "20be89b877823e6c2c3521037aa4a21f6bcb0345",
      "parents": [
        "5b9cc3144239511ec9062a3ff47dc20202848388"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 14:36:10 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 15:39:01 2020 -0800"
      },
      "message": "Modernize SHT_RELR support.\n\nUntil now we\u0027ve only supported RELR with our own OS-private-use\nconstants. Add support for the official numbers (while maintaining\nsupport for the historical numbers).\n\nAdd tests to ensure we continue to support both indefinitely.\n\nWe can\u0027t yet flip the build system over to using the official constants\nbecause the old GNU binutils objcopy we still use in most cases (for the\nmini-debug section) only supports the historical constants.\n\nBug: http://b/147452927\nTest: treehugger\nChange-Id: If214fce7fade4316115947e90b78ab40864b61f2\n"
    },
    {
      "commit": "7d66bf9d901f5db995c991e07c0c4b89f73be01b",
      "tree": "6657a4c551776959816b5bf13e81650045ec374b",
      "parents": [
        "3ff4245c70a0cd340a5231f7f1f7d98608a47b53"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 24 14:26:10 2020 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 24 14:28:45 2020 -0800"
      },
      "message": "Fix new clang compiler warning\n\nBug: 148287059\nTest: make\nChange-Id: I24972955454fa40fc565744e2caaaa636caa44c2\n"
    },
    {
      "commit": "3ff4245c70a0cd340a5231f7f1f7d98608a47b53",
      "tree": "ece6fabb44f7340285c65dc73f2a83b198d92ea8",
      "parents": [
        "8fe1fcd804add7a79a4f7dca44a9b624d031b99b",
        "3b21ada5f1bd98b337143ee5d5baba7373bfdbb1"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jan 24 00:26:32 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 24 00:26:32 2020 +0000"
      },
      "message": "Merge \"Add tagged pointers to bionic.\""
    },
    {
      "commit": "8fe1fcd804add7a79a4f7dca44a9b624d031b99b",
      "tree": "d2de101136cc01f7d683f8f41a803a5103d80b81",
      "parents": [
        "51aa2cfe798e062d0f563d039bb427b527bdef8d",
        "22fb267ad6f95ab083abb56e914f8081552108a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 23 20:34:15 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 23 20:34:15 2020 +0000"
      },
      "message": "Merge \"Reimplement realpath.\""
    },
    {
      "commit": "3b21ada5f1bd98b337143ee5d5baba7373bfdbb1",
      "tree": "7e5bf3c1ae9008eccc61f7f6eefef9b0039af1b5",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jan 07 15:47:47 2020 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Jan 23 10:37:24 2020 -0800"
      },
      "message": "Add tagged pointers to bionic.\n\nThis patch introduces tagged pointers to bionic. We add a static tag to\nall pointers on arm64 compatible platforms (needs requisite\ntop-byte-ignore hardware feature and relevant kernel patches).\n\nWe dynamically detect TBI-compatible devices (a device with the TBI feature and\nkernel support) at process start time, and insert an implementation-dependent\ntag into the top byte of the pointer for all heap allocations. We then check\nthat the tag has not been truncated when deallocating the memory.\n\nIf an application incorrectly writes to the top byte of the pointer, we\nterminate the process at time of detection. This will allow MTE-incompatible\napplications to be caught early.\n\nBug: 135754954\nBug: 147147490\n\nTest: cd bionic \u0026\u0026 atest .\nChange-Id: Ie424325ba1e3c4443040ac265aeaa28d9e405d28\n"
    },
    {
      "commit": "75064c177fc11b032b4d68b60e6265f2c6c52d9b",
      "tree": "7606da424e6caeae2ab13eecf3097a385324711b",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 20:46:12 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 23 08:28:48 2020 -0800"
      },
      "message": "Initialize __progname correctly.\n\nsetprogname() does a basename, but we were initializing __progname\ndirectly. Stop doing that, and add some tests.\n\nTest: treehugger\nChange-Id: I06f306ade4161b2f0c7e314a3b1b30c9420117b7\n"
    },
    {
      "commit": "22fb267ad6f95ab083abb56e914f8081552108a7",
      "tree": "6c29afacad5803924a83a0430ea509eaa76a0564",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 01 08:07:25 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 18:30:50 2020 -0800"
      },
      "message": "Reimplement realpath.\n\nUse O_PATH like musl to let the kernel do the hard work, rather than the\ntraditional BSD manual scheme.\n\nAlso add the most obvious missing tests from reading the man page, plus\na non-obvious test for deleted files.\n\nBug: http://b/131435126\nTest: treehugger\nChange-Id: Ie8a8986fea55f045952a81afee377ce8288a49d5\n"
    },
    {
      "commit": "5c9efd1d66b06035f1e857235ad81f8d51d124ae",
      "tree": "9bb242303fd7c25917f59b2f6cf536b2f4f113e1",
      "parents": [
        "a547762ae30c0f9e85c464a0ed21f21e0999eb55",
        "ce4c42e09fb9039df7c6a5b7306119279a694897"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 21 13:57:45 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 21 13:57:45 2020 +0000"
      },
      "message": "Merge \"Revert \"Add tagged pointers to bionic.\"\""
    },
    {
      "commit": "ce4c42e09fb9039df7c6a5b7306119279a694897",
      "tree": "13e38338ea7bc859b295b923be6a7acd73edbebc",
      "parents": [
        "43d5f9d4dd83d15a859d9be1359c4a4a47381fea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 21 13:56:21 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 21 13:57:26 2020 +0000"
      },
      "message": "Revert \"Add tagged pointers to bionic.\"\n\nThis reverts commit 43d5f9d4dd83d15a859d9be1359c4a4a47381fea.\n\nBug: 135754954\nBug: 147147490\n\nExempt-From-Owner-Approval: clean revert\n\nReason for revert: Breaks ART gtest, see:\nhttps://ci.chromium.org/p/art/builders/ci/angler-armv8-non-gen-cc/561\n\nThe crash happens on mprotect of a page, the test crashes with ENOMEM.\n\nChange-Id: I52eea1abbfaf8d8e2226f92d30aa55aba3810528\n"
    },
    {
      "commit": "a547762ae30c0f9e85c464a0ed21f21e0999eb55",
      "tree": "14e063647250715cfb6f57b64b79fdf9cf2f0026",
      "parents": [
        "3460b6c2658d05f0faed8ae3e941403c6e1bdf1a",
        "4bcfe3c33025ae15a64464594b45612585268dc3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Jan 21 04:52:16 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 21 04:52:16 2020 +0000"
      },
      "message": "Merge \"Convert more bionic tests to Android.bp\""
    },
    {
      "commit": "3460b6c2658d05f0faed8ae3e941403c6e1bdf1a",
      "tree": "755db21d2d12727fc7d6df3c7d01eb6dc32cc027",
      "parents": [
        "0bf9aed92ef5ca25344016a0ec847664f4db6bfb",
        "43d5f9d4dd83d15a859d9be1359c4a4a47381fea"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Jan 20 23:31:27 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 20 23:31:27 2020 +0000"
      },
      "message": "Merge \"Add tagged pointers to bionic.\""
    },
    {
      "commit": "4bcfe3c33025ae15a64464594b45612585268dc3",
      "tree": "4182a070bb2ce2cec84658e47f4deb71d6e929d1",
      "parents": [
        "ac951d785e9a57f53c3e0a58dd3d66a245f3821c"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 19 14:55:34 2019 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jan 16 10:12:46 2020 -0800"
      },
      "message": "Convert more bionic tests to Android.bp\n\nBug: 122332847\nBug: 130734182\nTest: mmm bionic/tests; same files installed before \u0026 after\nTest: m cts; same files in cts before \u0026 after\nTest: `objdump -x \u003cfiles\u003e | grep NEEDED` is identical\nTest: `objdump -x \u003cfiles\u003e | grep RUNPATH` difference make sense\n      (additional lib64 entries from soong, minimal reorder)\nTest: treehugger\nChange-Id: I6eea4c3f9c0040efeba64e2b47c7b573767cd386\n"
    },
    {
      "commit": "f5421dde7f6c9d2c79f840e474072fab31478d25",
      "tree": "b2614818288500d7adebe17ca37352fa980031db",
      "parents": [
        "b72fed164ed633525e0376087e51daa4652f8e16",
        "f32494c9857e4c95766078ab5b87cf342e6428d4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 16 17:20:26 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 16 17:20:26 2020 +0000"
      },
      "message": "Merge \"Add new malloc align tests.\""
    },
    {
      "commit": "b72fed164ed633525e0376087e51daa4652f8e16",
      "tree": "4be0bd67d4bb77165314c7495b79a02f5f3cfaf3",
      "parents": [
        "c9bde27fbb7f60246532c20d06a08b8af6d95790",
        "175c8867b05ec14a8da1fd528c2bf17c4e67c280"
      ],
      "author": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Thu Jan 16 16:04:08 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 16 16:04:08 2020 +0000"
      },
      "message": "Merge \"allow for heapprofd\u0027s signal to be multiplexed\""
    },
    {
      "commit": "43d5f9d4dd83d15a859d9be1359c4a4a47381fea",
      "tree": "95339c5cb5d055b8fd2b216b46e6264180c4fc36",
      "parents": [
        "d2b8149ddad8b21ce535fb02ff752c85c7aa9d43"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jan 07 15:47:47 2020 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 15 15:03:00 2020 -0800"
      },
      "message": "Add tagged pointers to bionic.\n\nThis patch introduces tagged pointers to bionic. We add a static tag to\nall pointers on arm64 compatible platforms (needs requisite\ntop-byte-ignore hardware feature and relevant kernel patches).\n\nWe dynamically detect TBI-compatible devices (a device with the TBI feature and\nkernel support) at process start time, and insert an implementation-dependent\ntag into the top byte of the pointer for all heap allocations. We then check\nthat the tag has not been truncated when deallocating the memory.\n\nIf an application incorrectly writes to the top byte of the pointer, we\nterminate the process at time of detection. This will allow MTE-incompatible\napplications to be caught early.\n\nBug: 135754954\nBug: 147147490\n\nTest: cd bionic \u0026\u0026 atest .\nChange-Id: I6e5b809fc81f55dd517f845eaf20f3c0ebd4d86e\n"
    },
    {
      "commit": "175c8867b05ec14a8da1fd528c2bf17c4e67c280",
      "tree": "ac5536a5465cb98d1810c204dd6762544abdbc5a",
      "parents": [
        "a04764bd286cf86f28d65487e1b6d6d36c9671e8"
      ],
      "author": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Thu Jan 02 19:54:57 2020 +0000"
      },
      "committer": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Wed Jan 15 22:55:03 2020 +0000"
      },
      "message": "allow for heapprofd\u0027s signal to be multiplexed\n\nThis patch refactors heapprofd_malloc to make it easier to reuse the\nreserved signal for multiple purposes. We define a new generic signal\nhandler for profilers, which dispatches to more specific logic based on\nthe signal\u0027s payload (si_value).\n\nThe profiler signal handler is installed during libc preinit, after\nmalloc initialization (so races against synchronous heapprofd\ninitialization need not be considered). In terms of code organization, I\ncopied the existing approach with a loosely referenced function in\nbionic_globals.h. Do tell if you\u0027d rather a different approach here.\n\nThe profileability of a process is quite tied to the malloc\nfiles/interfaces in bionic - in particular, it\u0027s set through\nandroid_mallopt. I do not change that, but instead introduce a new\nandroid_mallopt option to be able to query profileability of the\nprocess (which is now used by the new profiler signal handler). As part\nof that, gZygoteChildProfileable is moved from heapprofd_malloc to\ncommon (alongside gZygoteChild).\n\nI\u0027ve removed the masking and reraising of the heapprofd signal when\nracing against malloc_limit init. We\u0027re ok with taking a simpler\napproach and dropping the heapprofd signal in such an unlikely race.\n\nNote: this requires a corresponding change in heapprofd to use sigqueue()\ninstead of kill(), as the latter leaves the si_value uninitialized(?) on\nthe receiving side.\n\nBug: 144281346\nChange-Id: I93bb2e82cff5870e5ca499cf86439860aca9dfa5\n"
    },
    {
      "commit": "f32494c9857e4c95766078ab5b87cf342e6428d4",
      "tree": "96de5427ea523ff10a269de185160a4b8f50a855",
      "parents": [
        "fee43f6e89e94d1a7b3ff2363492f7970cb38c28"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 08 14:19:10 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 15 09:22:21 2020 -0800"
      },
      "message": "Add new malloc align tests.\n\nBug: 146576216\n\nTest: Ran the test on jemalloc and glibc.\nTest: Ran the test on scudo and verified that failed without the align\nTest: change.\nChange-Id: I31a96f8672c6bce2423210300288a13df1eda42a\n"
    },
    {
      "commit": "06f39d36a4a0d7feb9bce700ef9e0d78b0297219",
      "tree": "f9be05dff8cc59883ff840e6957b5ee0bcff85c4",
      "parents": [
        "7909f4c667aaa1a869077a793ebd9a5bb7537d2b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jan 14 14:06:23 2020 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jan 14 14:11:16 2020 -0800"
      },
      "message": "stack_protector_DeathTest: work w/ local reorder\n\nBefore, the helper method for this test had two local variables:\n    char buf[128];\n    volatile char* p;\n\nThen the test wrote zeros into the buffer and one past the buffer end.\nThis relied on the fact that the compiler constructed the stack frame\nwith \u0027p\u0027 first and then the buffer (and also optimized away the \u0027size\u0027\nvariable).\n\nHowever, some compiler options (namely -ftrivial-auto-var-init\u003dpattern)\nresult in the stack frame being reordered so that \u0027p\u0027 is actually after\nbuf, and the test cannot pass.\n\nFixes: 132780819\nTest: bionic-unit-tests-static (w/ w/o flag)\nChange-Id: Icc87c02add211c2afb7c96ae22701ec27990364c\n"
    },
    {
      "commit": "5dc31300ff926c7ffdd56f95c080e9b0d6122666",
      "tree": "ad74f1b195684a8afc71b2c1e0e1946db7efd348",
      "parents": [
        "7bc71075eabaf037397065c0374a536c7eba52e2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 08:48:10 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 07 08:48:10 2020 -0800"
      },
      "message": "Explicitly test printf %s with nullptr.\n\nI haven\u0027t found a bug, but tests are good.\n\nBug: https://github.com/landley/toybox/issues/163\nChange-Id: I57149800099abc699cc841b69a5a72aeac7c2bcc\n"
    },
    {
      "commit": "95c6cd753f028b1afc0c6a800a3dd6bd85a5a6a0",
      "tree": "3d785e53e88c0b5864a8129c7b13e31f5d0e9caf",
      "parents": [
        "508d270886e90fac23ce51f81864d009307f13ae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "message": "Stop using the __ANDROID_API_x__ constants.\n\nHistorically we\u0027ve made a few mistakes where they haven\u0027t matched the\nright number. And most non-Googlers are much more familiar with the\nnumbers, so it seems to make sense to rely more on them. Especially in\nheader files, which we actually expect real people to have to read from\ntime to time.\n\nTest: treehugger\nChange-Id: I0d4a97454ee108de1d32f21df285315c5488d886\n"
    },
    {
      "commit": "4ea64e91e8cdce8cc706ced5ab221a14d4c158ea",
      "tree": "74b8dcd1c98753655b044212920d0a8ae8e644e3",
      "parents": [
        "0530f5ffd70195ebedfa3051b5907a3fe0356579",
        "ad865d7b3dbe0ad31418e1ca8f0ee79bccc1d529"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 17 19:22:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 17 19:22:04 2019 +0000"
      },
      "message": "Merge \"Fix dlext.ns_anonymous test for native bridge\""
    },
    {
      "commit": "ad865d7b3dbe0ad31418e1ca8f0ee79bccc1d529",
      "tree": "3ac308014a66736130e846c46bab62f03023335e",
      "parents": [
        "573ddbab3f7333ba7ce95976c3531f35bead1a2a"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 17 18:54:17 2019 +0100"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 17 18:54:17 2019 +0100"
      },
      "message": "Fix dlext.ns_anonymous test for native bridge\n\nThe executable flag might not be present for the executable segment\nif the code is being handled by native bridge implementation. Old\nheuristics for this case was to assume first segment is executable.\nThis doesn\u0027t stand any more. Instead, look for segment that contains\nthe function test is going to call.\n\nTest: bionic-unit-tests --gtest_filter\u003ddlext.ns_anonymous\nChange-Id: I960bebba86e225d739b73f6d093e145fff17b4a8\n"
    },
    {
      "commit": "4d9264c593e763909eb82fa1d2475300b07ce3c7",
      "tree": "8a0e0acd64b469138488c53aace1940217b3f02e",
      "parents": [
        "b29173cd648e81be6b33af9e0f1dae522ea8025d"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 17 14:17:07 2019 +0100"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 17 18:03:06 2019 +0100"
      },
      "message": "Fix signal.sigwait64_SIGRTMIN test\n\n\u0027kill(pid, sig)\u0027 sends signal to arbitrary thread within a process, thus\ntest was occasionally sending signal to the killing thread, not to the\nwaiting thread. Use \u0027tgkill(pid, tid, sig)\u0027 instead.\n\nTest: bionic-unit-tests --gtest_filter\u003dsignal.sigwait64_SIGRTMIN\nChange-Id: I80377295e2362cb87eb4fb4de2489c51c520ea77\n"
    },
    {
      "commit": "b29173cd648e81be6b33af9e0f1dae522ea8025d",
      "tree": "c76c66f4b6f42d04acbcabebbc963eb00630c5e7",
      "parents": [
        "838ca10715d8c66aee9cf849c5056b6f3a38e47c"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Dec 16 16:57:29 2019 +0100"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Dec 16 17:01:11 2019 +0100"
      },
      "message": "Increase sleep time in sigwait64_SIGRTMIN test\n\nWith previous sleep time, if unlucky, newly started thread can send\nsignal before main thread starts sigwait.\n\nTest: bionic-unit-tests --gtest_filter\u003dsignal.sigwait64_SIGRTMIN\nChange-Id: I63d7825a695988e388903c7951e2435cb69773a1\n"
    },
    {
      "commit": "d4299c3f0fb5b4add513b326817f6ce5f49e1fb5",
      "tree": "828531761ef4588a4315126aba4f3c09bb386551",
      "parents": [
        "84b6d82327467cf2ac313835b6865026f9d316ac",
        "0f67214c50d8e63e80b6e36f3e8f34e66d1eeb3e"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Dec 11 20:32:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 11 20:32:04 2019 +0000"
      },
      "message": "Merge changes I052011f2,I40f42464\n\n* changes:\n  dl_test: update error message\n  dl_test: use GTEST_SKIP() in a few places\n"
    },
    {
      "commit": "bd1c63065e8c1a2cea46ef59c9a3b74aefbd1f33",
      "tree": "d10ceac6660d6ae5e2bc7e1a002f516e6dfe18a7",
      "parents": [
        "ccf0307f768c14d81faad464e81b37da1582f96e"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Dec 11 15:30:16 2019 +0100"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Dec 11 15:42:04 2019 +0100"
      },
      "message": "Fix sys_ptrace_test feature check on arm64\n\nThe code was checking PTRACE_GETREGSET output even in case of error.\nThis seems not correct. Though ptrace can still write some output in\ncase of EINVAL, implementation should still check updated iov_len before\nreading it.\n\nChange the code to avoid checking output in case of error at all.\n\nTest: bionic-unit-tests --gtest_filter\u003dsys_ptrace.watchpoint_stress\nChange-Id: I7b1ca18ac64f81055ff89f56b453aff0ce8e1057\n"
    },
    {
      "commit": "0f67214c50d8e63e80b6e36f3e8f34e66d1eeb3e",
      "tree": "116eca4718adda9fc9d432451bbd872c4a1f159a",
      "parents": [
        "55f9a24acc8d5243e1046b8e84818bfde7f061ba"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 10 14:50:11 2019 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 10 14:50:11 2019 -0800"
      },
      "message": "dl_test: update error message\n\nBug: http://b/145998177\nTest: atest CtsBionicTestCases on a non-debuggable, user build\nChange-Id: I052011f274edc331aa63fc6cd7666af2aebc2ad0\n"
    },
    {
      "commit": "55f9a24acc8d5243e1046b8e84818bfde7f061ba",
      "tree": "10a1e68f8840b9f385d92289cb024f7b1ed42217",
      "parents": [
        "27a8c60f045f939ab1cb7157313778966ed29404"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 10 14:45:20 2019 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 10 14:45:20 2019 -0800"
      },
      "message": "dl_test: use GTEST_SKIP() in a few places\n\nBug: none\nTest: bionic unit tests\nChange-Id: I40f42464359576ffbd55d0f56347c6c45daf73f9\n"
    },
    {
      "commit": "9416e0275789b9a14e816e6fefb3d9cfeb4942f5",
      "tree": "8f0f5674ed2ded8e6460e5965fd70ec447fbbd63",
      "parents": [
        "05dbd9653ba048ac5753130c1cc60144e7034047",
        "c6b38aefa71b773d4b077ba2db2af7c3604b9cd6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 02 20:12:56 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 02 20:12:56 2019 +0000"
      },
      "message": "Merge \"Sync with upstream OpenBSD strstr().\""
    },
    {
      "commit": "595c38184120e286670aa1ae60b6ae35c62147b7",
      "tree": "00e27a32e7a9059f1a59ac027fd76d7a28630888",
      "parents": [
        "1134b695bc3e8b7cdebf4d7d8238a58891a09045"
      ],
      "author": {
        "name": "Dmytro Chystiakov",
        "email": "dmytro.chystiakov@intel.com",
        "time": "Tue Oct 01 11:28:49 2019 -0700"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Nov 26 15:32:02 2019 +0100"
      },
      "message": "Fix linker path for emulated architecture\n\ndl#exec_linker* tests are failing on devices with emulated\narchitecture due to hardcoded path to linker.\n\nTest: bionic-unit-tests --gtest_filter\u003ddl.exec_linker*\nBug: b/141914915\n\nChange-Id: Id6d8d3ee7114e70b07e44034aa62dce0a3e0760e\nSigned-off-by: Dmytro Chystiakov \u003cdmytro.chystiakov@intel.com\u003e\n"
    },
    {
      "commit": "c6b38aefa71b773d4b077ba2db2af7c3604b9cd6",
      "tree": "782074f038c271448de7624fa4a5aee0cdb97c81",
      "parents": [
        "1134b695bc3e8b7cdebf4d7d8238a58891a09045"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 22 11:15:42 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 22 11:16:23 2019 -0800"
      },
      "message": "Sync with upstream OpenBSD strstr().\n\nBug: http://b/124855136\nTest: treehugger\nChange-Id: I6cbeb82bc0e418f50e6c171ac4e38e335c448db8\n"
    },
    {
      "commit": "8a0cdb15a1f6bbce41dcb185237f8723e6b101fd",
      "tree": "7db1fcdfcc891d33d32c8add93efdb6d6131420b",
      "parents": [
        "2a8bca749533dcefabff497d4f7346a35601a702"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 21 13:27:57 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Nov 19 14:20:26 2019 -0800"
      },
      "message": "fortify: allow diagnostics without run-time checks (attempt #2)\n\nIn configs like ASAN, we can\u0027t use _chk functions. This CL builds off of\nprevious work to allow us to still emit diagnostics in conditions like\nthese.\n\nWasn\u0027t 100% sure what a good test story would look like here. Opinions\nappreciated.\n\nBug: 141267932\nTest: checkbuild on internal-master. TreeHugger for x86_64.\nChange-Id: I65da9ecc9903d51a09f740e38ab413b9beaeed88\n"
    },
    {
      "commit": "db602e8a477622864a72787893554150315d5c09",
      "tree": "b4054f94f0f540eb223afb01f1c79383b0a6e172",
      "parents": [
        "5e85d1b290877201174fdb2f09226b5bd34b80a9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 15 09:04:27 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 15 09:24:35 2019 -0800"
      },
      "message": "sysconf(_SC_ARG_MAX): go back to imitating the kernel.\n\nFor reasons explained in the code comment, go back to roughly our old\ncode. The \"new\" tests are just the old tests resurrected.\n\nThis also passes the current toybox xargs tests, which were the\nmotivation for going back on our earlier decision.\n\nTest: bionic and toybox tests\nChange-Id: I33cbcc04107efe81fdbc8166dc9ae844e471173e\n"
    },
    {
      "commit": "afe44cc483ea5a55822123f3c61229045fb3e81f",
      "tree": "0b9edbed97d30cd3709983e9fba85a3ec6e8af7a",
      "parents": [
        "e5c900f011c915a46752c5ff1d9eb876f9777f07",
        "b481a2e743102efc6b18cc586aa979a70e575d64"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 20:43:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 12 20:43:29 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Make system property reads wait-free\"\"\""
    },
    {
      "commit": "b481a2e743102efc6b18cc586aa979a70e575d64",
      "tree": "25b69c933cd0ca4d776d7845ad22a8692157a0cd",
      "parents": [
        "de39d9242ae38733c33173957386db0b8060e52a"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 20:41:55 2019 +0000"
      },
      "committer": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 20:41:55 2019 +0000"
      },
      "message": "Revert \"Revert \"Make system property reads wait-free\"\"\n\nThis reverts commit de39d9242ae38733c33173957386db0b8060e52a.\n\nReason for revert: This revert is not needed\n\nChange-Id: I34af8e5d75c724f6c4066fafbfc6bc7d58377601\n"
    },
    {
      "commit": "1b28efa2d16af2a0b19c7dbde4ac215ce5e211ed",
      "tree": "f137e86e1a6d667a58f53ca20e1d11bf62535ad4",
      "parents": [
        "985e6785166d509bf6e1bdb2d884da7a6cf9ba00",
        "de39d9242ae38733c33173957386db0b8060e52a"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 18:26:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 12 18:26:48 2019 +0000"
      },
      "message": "Merge \"Revert \"Make system property reads wait-free\"\""
    },
    {
      "commit": "de39d9242ae38733c33173957386db0b8060e52a",
      "tree": "2a7e44d156dac92caacf04f9c6c9c3540638a03f",
      "parents": [
        "0cf90556de2bde53a1957c5946036b2fe2e4e429"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 18:24:06 2019 +0000"
      },
      "committer": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 18:24:06 2019 +0000"
      },
      "message": "Revert \"Make system property reads wait-free\"\n\nThis reverts commit 0cf90556de2bde53a1957c5946036b2fe2e4e429.\n\nReason for revert: Device boot failures - 144355953\n\nChange-Id: Icd4fc8c7a1d06d688a6d37e6f1c1aa45563f711b\n"
    },
    {
      "commit": "985e6785166d509bf6e1bdb2d884da7a6cf9ba00",
      "tree": "a370b5c368f7b9faca00abaafbc0595c185baa2d",
      "parents": [
        "ebe5bfefe1a01fbd5c64bdbb5a9ad06bd1a72e2d",
        "0cf90556de2bde53a1957c5946036b2fe2e4e429"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 12 17:14:30 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 12 17:14:30 2019 +0000"
      },
      "message": "Merge \"Make system property reads wait-free\""
    },
    {
      "commit": "0cf90556de2bde53a1957c5946036b2fe2e4e429",
      "tree": "25b69c933cd0ca4d776d7845ad22a8692157a0cd",
      "parents": [
        "5d9ba9ea702a4d20b99639996b8bd27f121d5bd7"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Tue Oct 29 15:40:16 2019 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Mon Nov 11 11:17:00 2019 -0800"
      },
      "message": "Make system property reads wait-free\n\nRight now, when we read a system property, we first (assuming we\u0027ve\nalready looked up the property\u0027s prop_info) read the property\u0027s serial\nnumber; if we find that the low bit (the dirty bit) in the serial\nnumber is set, we futex-wait for that serial number to become\nnon-dirty. By doing so, we spare readers from seeing partially-updated\nproperty values if they race with the property service\u0027s non-atomic\nmemcpy to the property value slot. (The futex-wait here isn\u0027t\nessential to the algorithm: spinning while dirty would suffice,\nalthough it\u0027d be somewhat less efficient.)\n\nThe problem with this approach is that readers can wait on the\nproperty service process, potentially causing delays due to scheduling\nvariance. Property reads are not guaranteed to complete in finite time\nright now.\n\nThis change makes property reads wait-free and ensures that they\ncomplete in finite time in all cases. In the new approach, we prevent\nvalue tearing by backing up each property we\u0027re about to modify and\ndirecting readers to the backup copy if they try to read a property\nwith the dirty bit set.\n\n(The wait freedom is limited to the case of readers racing against\n*one* property update. A writer can still delay readers by rapidly\nupdating a property --- but after this change, readers can\u0027t hang due\nto PID 1 scheduling delays.)\n\nI considered adding explicit atomic access to short property values,\nbut between binary compatibility with the existing property database\nand the need to carefully handle transitions of property values\nbetween \"short\" (compatible with atomics) and \"long\" (incompatible\nwith atomics) length domains, I figured the complexity wasn\u0027t worth it\nand that making property reads wait-free would be adequate.\n\nTest: boots\nBug: 143561649\nChange-Id: Ifd3108aedba5a4b157b66af6ca0a4ed084bd5982\n"
    },
    {
      "commit": "28fb781ef73ee82d949150b0d3316447b74fe44a",
      "tree": "648c033a8422762b21015778795272c4fefe300a",
      "parents": [
        "ffad55954ba6ce33f6121c46eb7dd006f62d414b",
        "16269576668b4f3059c6f8f7a77d6a5d7ddf0e26"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 09 00:13:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 09 00:13:31 2019 +0000"
      },
      "message": "Merge \"linker: add more context to link failure error.\""
    },
    {
      "commit": "2fead5fd89d47dd73df1de21e11d8e562372aa1a",
      "tree": "ffa492d39c4627cd565f50e4b78b3e5569b66f95",
      "parents": [
        "03aa94c9a997aeeeb90bdd8990b9c8f59a844267",
        "f359548bf1cf41e1f5390276e84e259cbbf30667"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Nov 07 07:10:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 07 07:10:38 2019 +0000"
      },
      "message": "Merge \"Revert \"fortify: allow diagnostics without run-time checks\"\""
    },
    {
      "commit": "f359548bf1cf41e1f5390276e84e259cbbf30667",
      "tree": "a840aea69c0f9c489dcfbccd7cc8d09988684d2a",
      "parents": [
        "d7e11b88531665de59de466bbc9ee6c480b00a4f"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Nov 07 07:07:38 2019 +0000"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Nov 07 07:07:38 2019 +0000"
      },
      "message": "Revert \"fortify: allow diagnostics without run-time checks\"\n\nThis reverts commit d7e11b88531665de59de466bbc9ee6c480b00a4f.\n\nReason for revert: Breaks aosp_x86_64-eng. Will look into it and\nunbreak when it\u0027s not almost midnight. :)\n\nChange-Id: I21f76efe4d19c70d0b14630e441376d359a45b49\n"
    },
    {
      "commit": "d1dcb72882547cb506168815e6e2705825168bd3",
      "tree": "08c7e874bd080435683fd94acea30dcaf270cea5",
      "parents": [
        "7a3a5d8cd7e687fec74f091be3f8a27ab1b7f0e7",
        "d7e11b88531665de59de466bbc9ee6c480b00a4f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 07 01:34:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 07 01:34:11 2019 +0000"
      },
      "message": "Merge \"fortify: allow diagnostics without run-time checks\""
    },
    {
      "commit": "7a3a5d8cd7e687fec74f091be3f8a27ab1b7f0e7",
      "tree": "98c440507ba2faffff665c22be42dd196e5e10c5",
      "parents": [
        "b18158c3c91d8935d380215151a8d91810bae7c9",
        "ff88fb0d3adbc67a4f94f5ef7e2b5bcc7a96c8f3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 06 23:31:33 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 06 23:31:33 2019 +0000"
      },
      "message": "Merge \"Fix allocations escaping malloc debug.\""
    },
    {
      "commit": "b18158c3c91d8935d380215151a8d91810bae7c9",
      "tree": "e06382568650e15868d530dccc43fe5043356e2c",
      "parents": [
        "ca0d8990d313b7f1df2f704cdc31ead45ec08aff",
        "fd7216cc199f9211863dd53caa56e3be63153c4b"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Nov 06 21:54:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 06 21:54:00 2019 +0000"
      },
      "message": "Merge changes I01d061c4,I2e3f6ee7\n\n* changes:\n  Check that __system_property_set() doesn\u0027t leak FDs\n  clang-format: Add IncludeBlocks: Preserve\n"
    },
    {
      "commit": "ff88fb0d3adbc67a4f94f5ef7e2b5bcc7a96c8f3",
      "tree": "1a78e188d9e51383579f697cb5532846b841cd69",
      "parents": [
        "1994f28be2c0faf2b70b1ca8fff7d8d2fa68d922"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Nov 04 18:40:00 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 06 10:42:42 2019 -0800"
      },
      "message": "Fix allocations escaping malloc debug.\n\nWhen using a FILE object for some malloc debug functions, calling\nfprintf will trigger an allocation to be put in the object. The problem\nis that these allocations were not allocated by the malloc debug\nwrapper and they get freed during the fclose as if they are malloc\ndebug allocation. In most cases, the code will detect the bad pointer\nand leak the memory, but it might also cause a crash.\n\nThe fix is to avoid using fprintf so that no allocations are made\nin the object that survive and need to be freed in the fclose call.\n\nChange the MallocXmlElem.h to use a file decsriptor not a FILE object.\n\nAdd new unit and system tests to detect this case.\n\nBug: 143742907\n\nTest: Ran unit and system tests.\nTest: Ran bionic unit tests.\nChange-Id: I524392de822a29483aa5be8f14c680e70033eba2\n"
    }
  ],
  "next": "9a09137b0e676e99e8560b848c56447cd934007a"
}
