)]}'
{
  "log": [
    {
      "commit": "fee514e7149cf1b4223633252db02d54e9369676",
      "tree": "83f55be7bbd00fe4ee15f956a0b6a1ab6c65d1ba",
      "parents": [
        "66ae134614cbac430d12fde8b6d51cd02ae432a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 17 11:57:50 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 17 11:57:50 2020 -0700"
      },
      "message": "Make it clearer that math.h isn\u0027t fdlibm.\n\nIt was originally based on fdlibm, but it\u0027s been through two different\nprojects since then, and `git blame` shows basically nothing remaining\nfrom those days. Seems worth leaving something to explain the unusual\ncopyright header though!\n\nTest: treehugger\nChange-Id: I8e7252a755704b866e7f36c8e97adc021fa3cdad\n"
    },
    {
      "commit": "a1e3f2c50253c67f3ed647ae64a066751dc4b857",
      "tree": "ffd279a7c6f929f5bc4bc60a5e8cdaec596de45e",
      "parents": [
        "bba9153c5c4de2251a004a50f0be6681504e7af4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 10 18:26:08 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 11 08:56:58 2020 -0700"
      },
      "message": "Expose a function to reset the stack protector for the zygote.\n\nThis is already covered by the existing test by virtue of being used for\nall threads.\n\nBug: http://b/168258494\nTest: treehugger\nChange-Id: I5c872fd7f30a4c79de1d70e7702f4b12d4e94cd3\n"
    },
    {
      "commit": "bba9153c5c4de2251a004a50f0be6681504e7af4",
      "tree": "15c0c2ad4c1e84f7e0c74239a423d4d955a8b9d3",
      "parents": [
        "ba4b40602ad07381ca0c65023abab82fa81d0e07",
        "38d290a11d92dc227a719af2635a50a9a92cb703"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Sep 10 23:02:03 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 10 23:02:03 2020 +0000"
      },
      "message": "Merge \"Implement a new mechanism to let Scudo access the TLS slot\""
    },
    {
      "commit": "38d290a11d92dc227a719af2635a50a9a92cb703",
      "tree": "f75ac7fa624eb3e092f7179df8094a6f9e9290c9",
      "parents": [
        "3936985e75eace1adeeb8d64d4c98e737318d284"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Sep 09 14:37:03 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Sep 10 13:55:24 2020 -0700"
      },
      "message": "Implement a new mechanism to let Scudo access the TLS slot\n\nAn upcoming change to Scudo will change how we use the TLS slot\nin tsd_shared.h, which will be a little easier to deal with if\nwe can remove the code path that calls pthread_getspecific and\npthread_setspecific. The only known user of this code path is Fuchsia.\n\nWe can\u0027t eliminate this code path by making Fuchsia use ELF TLS\nbecause although Fuchsia supports ELF TLS, it is not supported within\nlibc itself. To address this, Roland McGrath on the Fuchsia team has\nproposed that Scudo will optionally call a platform-provided function\nto access a TLS slot reserved for Scudo. Android also has a reserved\nTLS slot, but the code that accesses the TLS slot lives in Scudo.\n\nWe can eliminate some complexity and duplicated code by having Android\nimplement the same mechanism that was proposed for Fuchsia, which is\nwhat this change does. A separate change to Scudo will make use of it.\n\nBug: 163630045\nChange-Id: I4678105c9c47a23feb5a5e80a314416de4556d9c\n"
    },
    {
      "commit": "8e5fc5b0379fa659d5def8582a1991d6d47cdd13",
      "tree": "1b338acf9363948520c42f27c2766584a534d1dc",
      "parents": [
        "7e0816a0a48d0dd96b4ffad5abd1506d478cbe67"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 03 12:31:07 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 08 09:27:02 2020 -0700"
      },
      "message": "NGREG !\u003d ELF_NGREG.\n\nExcept they are the same on arm32/arm64, so we hadn\u0027t really noticed. x86\nand x86-64 are quite different though, presumably by historical accident.\n\nFix the definitions and add some static asserts.\n\nBug: https://github.com/android/ndk/issues/1347\nTest: treehugger\nChange-Id: Ic27b172066cf3443749463b9b73c912d204f9516\n"
    },
    {
      "commit": "a5744e213f4467091a84c1988215d7e1b59c24cc",
      "tree": "36d5023d7e53b9f990e42b29f784216a08bcf54b",
      "parents": [
        "159bb3f86bf2903c0f14fc867c124f88dad775ca"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Sep 01 22:35:56 2020 +0000"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Sep 02 16:12:21 2020 +0000"
      },
      "message": "Add benchmark for property mapping\n\nThis benchmarks mapping property prefixes to property contexts with\ntwo algorithms: the \u0027Legacy\u0027 method used before Android P and the\n\u0027Trie\u0027 used afterwards (the code in this directory).\n\nIt uses input mappings from both Oreo and the latest in AOSP (\u0027S\u0027).\nNote that there is nearly a 10x increase in the number of mappings in\nS as there was in Oreo, which was predicted when the trie was\ndesigned.\n\nResults on cuttlefish:\n-----------------------------------------------------------\nBenchmark                 Time             CPU   Iterations\n-----------------------------------------------------------\nLegacyLookupOreo     683576 ns       673538 ns         1060\nLegacyLookupS       5683109 ns      5596982 ns          124\nTrieLookupOreo       299851 ns       295696 ns         2378\nTrieLookupS          584831 ns       576801 ns         1204\n\nThe results show that the legacy look up uses 8.3x more CPU time to\nhandle the number of mappings added through S, whereas the Trie lookup\nuses less than 2x more CPU time, showing that the trie scales better\nwith added mappings.\n\nTest: run this benchmark\nChange-Id: I35c3aa4429f049e327a891f9cbe1901d8855d7ba\n"
    },
    {
      "commit": "d065c0489ed053fab047c88edde3335f7a5e961a",
      "tree": "742aceb1105a46504f739f4a4594e5ecce6321af",
      "parents": [
        "984b4e9ae1d99c86785c7e98a3fa28a60ca46962"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 01 19:02:44 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 01 19:11:28 2020 -0700"
      },
      "message": "Incorporate upstream\u0027s strptime %Z/%z support.\n\nI made toybox use strptime %Z recently (so that it can parse the default\nPOSIX date(1) output), forgetting that bionic\u0027s strptime(3) doesn\u0027t\nsupport %Z. Neither does glibc, for that matter; the toybox change works\non glibc effectively by accident --- glibc just ignores the next word\nwhen parsing %Z and assumes that the current time zone ($TZ) is\nappropriate. Which it is for the only obvious use case of \"round trip\ndate(1) output\".\n\nThe related %z is potentially quite a bit more useful in general (parsing\nany valid RFC822 time zone), though sadly not useful for the toybox case\nthat prompted.\n\nEvery time I touch this file I promise that I\u0027ll actually get us back in\nsync with upstream, and every time I fail to get round to it. Maybe\n2020 or 2021 will finally be the year...\n\nAlso add corresponding tests.\n\nBug: https://b/167455975\nTest: treehugger\nChange-Id: I13a7fb7e3ad01ae855750b9314d2eec661fe034f\n"
    },
    {
      "commit": "1e1c7845aab0542306f61d8e8c880aca096ea336",
      "tree": "52b7a55510ae7546065f536023a9bd29bde112cd",
      "parents": [
        "1e0d28b9c27ee5ea5dda08b6a2048dbce8ccd8cf"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Mon Aug 24 15:19:52 2020 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Tue Aug 25 02:26:30 2020 +0000"
      },
      "message": "bionic_systrace: moving global static variables\n\nSome global static variables are only used within a single function,\nso moving them inside the function which requires them. This also\nensures those static variables of class types are initialized before\nthey are being used.\n\nFor example, this is needed for CachedProperty(), as some of the\nmember method, e.g., CachedProperty().Get(), might be invoked,\ne.g., in __libc_preinit(), before the constructor is invoked.\nThis happens after we added property trace points in commit\nId2b93acb2ce02b308c0e4889f836159151af3b46.\n\nFor g_lock, we don\u0027t move them because it can be initialized by setting\nits memory to 0. And it\u0027s used in two functions.\n  https://android.googlesource.com/platform/bionic/+/refs/heads/master/libc/private/bionic_lock.h\n\nBug: 147275573\nTest: atest CtsBionicTestCases\nTest: adb shell perfetto -o /data/misc/perfetto-traces/test_trace -t 10s bionic sysprop\nChange-Id: I99565ce2442d34f33830778915c737eed834f8b3\n"
    },
    {
      "commit": "1e0d28b9c27ee5ea5dda08b6a2048dbce8ccd8cf",
      "tree": "dbf196ba87327b12fff7e21eebfafd4a8f605bee",
      "parents": [
        "3d59029a12c31b2233009a7bf185f65010ae2aea",
        "d37113311c9541876bf3e268f2cace272515a694"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Aug 21 23:34:20 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 21 23:34:20 2020 +0000"
      },
      "message": "Merge \"async_safe: don\u0027t call libc\u0027s socket.\""
    },
    {
      "commit": "d37113311c9541876bf3e268f2cace272515a694",
      "tree": "7d112b9d4060481950d02ab151b2187f0133e1cd",
      "parents": [
        "95dbcfaf045edfb17c48fd3e46fe2e3a278dc148"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 20 16:27:01 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Aug 21 14:23:57 2020 -0700"
      },
      "message": "async_safe: don\u0027t call libc\u0027s socket.\n\nLike with close, socket is no longer a simple syscall, so we can get\nrecursive calls that deadlock.\n\nBug: http://b/165206592\nTest: bionic-unit-tests on cuttlefish\nTest: treehugger\nChange-Id: I2ba77d733d1ebf08a91afd6ca179e7ae6ae3866e\n"
    },
    {
      "commit": "d0ecf0b30d180a52735ee677c48456176260e9cb",
      "tree": "f65c6c4c099257bb2137bf3c739909ea2e93e9b7",
      "parents": [
        "3ec750e035db74f954ee25c5f9f4357490fe2224"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Mon Apr 13 13:07:43 2020 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Aug 19 12:47:01 2020 +0800"
      },
      "message": "Adding system property tracing\n\nIntroducing a new systrace tag, TRACE_TAG_SYSPROP, for use with\nsystem property.\n\nFor property set, the tracing is added in __system_property_set() instead of\n__system_property_update() / __system_property_add() so we can record\ncontrol properties like ctl.*, sys.powerctl.*, etc.., which won\u0027t be\nupdated via the latter two functions.\n\nBug: 147275573\nTest: atest CtsBionicTestCases\nTest: adb shell perfetto -o /data/misc/perfetto-traces/test_trace -t 10s bionic\nTest: adb shell perfetto -o /data/misc/perfetto-traces/test_trace -t 10s sysprop\nTest: adb shell /data/benchmarktest64/bionic-benchmarks/bionic-benchmarks \\\n      --benchmark_filter\u003dBM_property --bionic_cpu\u003d4, then compares the results\n      of property benchmarks before and after the change, didn\u0027t see\n      significant difference.\n\nChange-Id: Id2b93acb2ce02b308c0e4889f836159151af3b46\nMerged-In: Id2b93acb2ce02b308c0e4889f836159151af3b46\n(cherry picked from commit 26970c34937e2339876d6ba335a56769d6f0d75e)\n"
    },
    {
      "commit": "3936985e75eace1adeeb8d64d4c98e737318d284",
      "tree": "9237d67781fe515508d577a7ba09660204de2a45",
      "parents": [
        "1c502d46b35892dd00728c31b00e9c5fa99fb2eb",
        "03d89a706846e85f63721d452c43fd37be05f2ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 13 21:58:58 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 13 21:58:58 2020 +0000"
      },
      "message": "Merge \"Disable HWASAN on ifunc resolvers.\""
    },
    {
      "commit": "1c502d46b35892dd00728c31b00e9c5fa99fb2eb",
      "tree": "bb9ee6151781e6b70dd1f1acf3df13cb8a0536c8",
      "parents": [
        "d4d7efc1f8971824b580443745a3c32652c58031",
        "7cebf835f310650f67b254295a685918681656fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 13 21:27:09 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 13 21:27:09 2020 +0000"
      },
      "message": "Merge \"Various coverage improvements.\""
    },
    {
      "commit": "03d89a706846e85f63721d452c43fd37be05f2ac",
      "tree": "f0a973fd1d80ede5652a444c52678a89b15cbf5a",
      "parents": [
        "b5f301eaafdc23f05fe5558fb0406a0ab04fc807"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Aug 12 19:21:15 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Aug 13 13:01:44 2020 -0700"
      },
      "message": "Disable HWASAN on ifunc resolvers.\n\nWe can\u0027t have HWASAN enabled in these resolvers because they\nmay be called before HWASAN is initialized.\n\nWe were previously getting away with HWASAN being enabled on these\nfunctions because ANDROID_EXPERIMENTAL_MTE was not defined, which\nlet the compiler simplify away any HWASAN instrumentation in the\nresolvers. But with this build flag enabled (which is currently the\ncase in FVP, and eventually everywhere once the MTE kernel patches\nland) the resolvers end up containing an HWASAN instrumented load of\nthe _hwcap2 field.\n\nBug: 135772972\nChange-Id: Iac79d02ddc81630c955e107eb7f78389aeb33879\n"
    },
    {
      "commit": "d4d7efc1f8971824b580443745a3c32652c58031",
      "tree": "cc3f587c137ca18755a10d5e4ec00fecd629edf9",
      "parents": [
        "aadcb078907f23ba719f0ca180aad4f425cf1b0f",
        "d500751443dbd841445f019428099aae42bac007"
      ],
      "author": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Thu Aug 13 19:58:03 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 13 19:58:03 2020 +0000"
      },
      "message": "Merge \"Add a thread-properties API (Based on proposal at https://sourceware.org/glibc/wiki/ThreadPropertiesAPI)\""
    },
    {
      "commit": "7cebf835f310650f67b254295a685918681656fc",
      "tree": "daf485447fccb691750149c465b2c629adf6e305",
      "parents": [
        "a4110def5cec22306313a34fff64b5810c9b1792"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 14:25:41 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 15:52:14 2020 -0700"
      },
      "message": "Various coverage improvements.\n\nMostly from extra test cases, but also:\n\n* Move the fgets size \u003c 0 assertion into fgets.\n\n* Use ELF aliases for strtoq/strtouq rather than duplicating code.\n\n* Don\u0027t check uname() succeeded, since it can\u0027t fail.\n\nTest: treehugger\nChange-Id: I2e6b3b88b0a3eb16bd68be68b9bc9f40d8043291\n"
    },
    {
      "commit": "aadcb078907f23ba719f0ca180aad4f425cf1b0f",
      "tree": "7cd3652ab2730e9507b8e2ef0119de792d2df578",
      "parents": [
        "d4da7b17a2d2f3a7095a84bbb40a416e0b97f104",
        "fce31870886ca101bf359508f0ce6be076433da4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 22:13:11 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 12 22:13:11 2020 +0000"
      },
      "message": "Merge \"Cleanup for #inclusivefixit.\""
    },
    {
      "commit": "d4da7b17a2d2f3a7095a84bbb40a416e0b97f104",
      "tree": "87270c7960c73e65819dccc14fc97c21be8ee046",
      "parents": [
        "944fc8d38f5798048d53bb905cf70fd7e5b7abc7",
        "dc503f65ec5414f0658b5bfabde1bef75e725cf6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 12 22:01:27 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 12 22:01:27 2020 +0000"
      },
      "message": "Merge \"Create per-API versions of the CRT objects.\""
    },
    {
      "commit": "dc503f65ec5414f0658b5bfabde1bef75e725cf6",
      "tree": "4086520beb136e306fe2f6e7a811a601f4fab3ac",
      "parents": [
        "f08e70a0d9a02cbec89be682d665c2c2896c968f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 15 17:22:18 2020 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 11 14:14:31 2020 -0700"
      },
      "message": "Create per-API versions of the CRT objects.\n\nTest: treehugger\nBug: http://b/159925977\nChange-Id: I3ad629f9370503b26f4a73787bccb3f669c41a0a\n"
    },
    {
      "commit": "d8f46916b6d1b26bc351a631ca5a6fe099e4b029",
      "tree": "7a3a386ccb33a69ed00fd3cf29eaf3e07b36e9d2",
      "parents": [
        "f08e70a0d9a02cbec89be682d665c2c2896c968f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 07 13:54:49 2020 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 11 13:50:04 2020 -0700"
      },
      "message": "Add api-level.h to dac, improve docs.\n\nWe don\u0027t list most of bionic on dac since it would be overwhelming for\nthe current layout, but this file in particular seems useful,\nespecially __ANDROID_API__. Unfortunately, c2devsite doesn\u0027t include\nmacro documentation. Until then, it\u0027s still useful to include the\nfunctions defined in this header.\n\nI\u0027ve also elaborated a bit in the __ANDROID_API__ documentation, since\nthe existing phrasing led to confusion over whether it was closer to\nminSdkVersion or compileSdkVersion. In practice these are identical\nfor the NDK, but if we switch to weakly-linked APIs via the\navailability attribute that would change.\n\nTest: built docs, looked at them\nBug: None\nChange-Id: I5cf78a6143b5c15790c369bdf888611e4c1189db\n"
    },
    {
      "commit": "d500751443dbd841445f019428099aae42bac007",
      "tree": "2c55d14b68aad215315d927885a12c427c58b451",
      "parents": [
        "f08e70a0d9a02cbec89be682d665c2c2896c968f"
      ],
      "author": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Tue Jul 14 17:37:04 2020 -0400"
      },
      "committer": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Tue Aug 11 16:51:43 2020 +0000"
      },
      "message": "Add a thread-properties API\n(Based on proposal at https://sourceware.org/glibc/wiki/ThreadPropertiesAPI)\n\nThis includes API to:\n - locate static and dynamic TLS\n - register thread-exit and  dynamic TLS creation/destruction callbacks\n\nChange-Id: Icd9d29a5b2f47495395645e19d3b2c96826f19c8\n"
    },
    {
      "commit": "f08e70a0d9a02cbec89be682d665c2c2896c968f",
      "tree": "7837d33f60e0ae0badde9a70b42ad7aa0749328a",
      "parents": [
        "5ca9a152454ced44a2c79816e0b05a7ed35670b8",
        "9a1d3976f195e815649e103b5b930bacb02029b0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 10 15:41:13 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 10 15:41:13 2020 +0000"
      },
      "message": "Merge \"Reimplement our no-op utmp.h functions more simply.\""
    },
    {
      "commit": "9a1d3976f195e815649e103b5b930bacb02029b0",
      "tree": "7a93427efd7de5f1955b2d20d0e9d4ac761411ca",
      "parents": [
        "eebb1ec687cb162c02b74fe5f409f88b53773ae5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 07 15:55:02 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 07 17:07:31 2020 -0700"
      },
      "message": "Reimplement our no-op utmp.h functions more simply.\n\nNow we\u0027re being marked down for our poor coverage, we may as well remove\nmore broken cruft. Despite the amount of effort that seems to have gone\ninto pututline(), it wasn\u0027t working with the other utmp.h functions (in\nparticular, utmpname()), and wasn\u0027t declared in the header file!\n\nTest: treehugger\nChange-Id: I1a583984189c751168c11c01431433f96f8c548b\n"
    },
    {
      "commit": "2dbea434d103567e911f068f73170d7808e071da",
      "tree": "4ed53c7969e81d7ddb948edb3eab2042047b02dc",
      "parents": [
        "422b2044ea4b5ce7375330814074d141423c32f9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 14 14:19:22 2019 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 07 13:10:51 2020 -0700"
      },
      "message": "Make swab(3) inline prior to API 28.\n\nTest: make checkbuild\nBug: https://stackoverflow.com/q/54392471/632035\nChange-Id: Iaeb55231ea2395d7e1e31be63034f5db19025060\n"
    },
    {
      "commit": "422b2044ea4b5ce7375330814074d141423c32f9",
      "tree": "cf388611419cc481cc411d144ae53f2feb50296d",
      "parents": [
        "cc8f1ea9e14c88e813ef901cfe3e0c62273e60d2",
        "5633caa285899527bffddb32cf1e33906a63edcd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 07 20:01:17 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 07 20:01:17 2020 +0000"
      },
      "message": "Merge \"Switch to musl memmem (via OpenBSD).\""
    },
    {
      "commit": "cc8f1ea9e14c88e813ef901cfe3e0c62273e60d2",
      "tree": "9f137e2fed5180595b32f9cc8c90c59a7ec1c16d",
      "parents": [
        "6900a09fe7db47acbf995b09ef79c17417d121c3",
        "f69030095de19470aa6c0b5ea469ac77a2e0407e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 07 05:52:52 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 07 05:52:52 2020 +0000"
      },
      "message": "Merge \"Allow native_bridge to intercept __get_thread()-\u003estack_top\""
    },
    {
      "commit": "5633caa285899527bffddb32cf1e33906a63edcd",
      "tree": "aa1510ef1cab9132be19da9c9f7b0a9babc31481",
      "parents": [
        "0f4bdb04fb4b803bbf19850c86cc9270d64a06b9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 06 14:32:43 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 06 14:33:48 2020 -0700"
      },
      "message": "Switch to musl memmem (via OpenBSD).\n\nSimilar to the musl strstr. This patch also increases test coverage for\nmemmem, again similar to the strstr tests.\n\nTest: treehugger\nChange-Id: I7f4a2ab93a610cb692994d06d2512976e657ae9f\n"
    },
    {
      "commit": "eebb1ec687cb162c02b74fe5f409f88b53773ae5",
      "tree": "4881f5d066869d9ed611e10cba2fd55143a336ef",
      "parents": [
        "7f65348eb0e5f559eafeb98981d9613f529cf771",
        "8177cdf1781bd9ebc6cc2db5baa570d6fa8d53b1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 06 16:31:03 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 06 16:31:03 2020 +0000"
      },
      "message": "Merge \"Update to v5.8 kernel headers.\""
    },
    {
      "commit": "e41012fe2e91b267ff5c3af72bee55f0d26fe4fe",
      "tree": "8503b5cc503f2425a8b35c25a1d34f338aae93a8",
      "parents": [
        "159b140661b032f6f9b2706d9def471e6c115aa9",
        "8035caa311a286e14ace1027c4e4b945b0cd02c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 05 23:23:48 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 05 23:23:48 2020 +0000"
      },
      "message": "Merge \"Enable coverage for libc.\""
    },
    {
      "commit": "8035caa311a286e14ace1027c4e4b945b0cd02c3",
      "tree": "df682d9e32f96a2a8206f526cd88a4ae0f38055d",
      "parents": [
        "0f4bdb04fb4b803bbf19850c86cc9270d64a06b9"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Jun 09 12:48:10 2020 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Aug 05 14:58:40 2020 -0700"
      },
      "message": "Enable coverage for libc.\n\nBug: http://b/157081822\n\n- Disable coverage for libtest_check_rtld_next_from_library to make\ndlfcn.rtld_next_from_library to pass.\n- The coverage runtime sets an environment variable to prevent\nclobbering of the coverage data on disk.  Include that variable as well\nwhen checking `printenv` output.  This is done at runtime by checking\nfor LLVM_PROFILE_FILE environment variable.\n- dl.preinit_system_calls still fails after this change.\n\nTest: bionic tests with libc coverage turned on.\n\nChange-Id: I3ea2b0800886d8c0984969a4ee8bfb0da03c33b0\n"
    },
    {
      "commit": "8177cdf1781bd9ebc6cc2db5baa570d6fa8d53b1",
      "tree": "0e9d89aa921d19b0645ed35677ba562681c64030",
      "parents": [
        "7591bb5ee187f6eac38ad310efe05066f79b0c1d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 03 11:53:55 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 04 13:50:49 2020 -0700"
      },
      "message": "Update to v5.8 kernel headers.\n\nKernel headers coming from:\n\nGit: https://android.googlesource.com/kernel/common/\nBranch: android-mainline\nTag: android-mainline-5.8\n\nTest: NA\nChange-Id: I2231c877589820fc09800a200cf4ac62ba74b04c\n"
    },
    {
      "commit": "7591bb5ee187f6eac38ad310efe05066f79b0c1d",
      "tree": "6a4061c9eacacc48173a47b2f5bf63fa9343093f",
      "parents": [
        "d9fc1a72d9abdef841340d3b9df4b20aa88aec8f",
        "fb65ee4c47f374fd75e6e994f32edc4224c6442a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Aug 04 17:47:36 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 04 17:47:36 2020 +0000"
      },
      "message": "Merge \"SCUDO fill options only when USE_SCUDO\""
    },
    {
      "commit": "a9208f3ac2e046300cdedfe7aee78bd0d4ce7bc6",
      "tree": "b4bc3c3c1856d80596155c7f2c50db415f681344",
      "parents": [
        "95dbcfaf045edfb17c48fd3e46fe2e3a278dc148"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Jul 24 17:29:52 2020 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Tue Aug 04 11:08:05 2020 +0800"
      },
      "message": "Moving bionic_systrace.cpp out of libc_bionic_ndk\n\nWe\u0027ll be enabling system tracing in libsystemproperties, which requires\nusing bionic_systrace.cpp from libc_bionic_ndk. However, libc_bionic_ndk\nalready depends on libsystemproperties.\n\nIntroducing a new library libc_bionic_systrace for bionic_systrace.cpp,\nwhich can be used by both libc_bionic_ndk and libsystemproperties.\n\nBug: 147275573\nTest: atest CtsBionicTestCases\nTest: adb shell perfetto -o /data/misc/perfetto-traces/test_trace -t 10s bionic\nChange-Id: I7306f922f212fa1c911583e1922e33612bfeada6\n"
    },
    {
      "commit": "61be80182cb9bb668e0449d0fe04a88cec19e529",
      "tree": "353206797eaf5f1931d1e50ba4d8f3bd3ccc45ad",
      "parents": [
        "89f907cfe444cc0f78de683549ec1350da36e39e"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Sat Aug 01 12:23:35 2020 +0200"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Sat Aug 01 13:33:01 2020 +0200"
      },
      "message": "Fix __clone_for_fork attributes\n\nAvoid name mangling and ensure no export.\n\nBug: 162625883\nTest: bionic-unit-tests\nChange-Id: If7700772e0a8c7a52be890d55ecdac33185f6b78\n"
    },
    {
      "commit": "f69030095de19470aa6c0b5ea469ac77a2e0407e",
      "tree": "6fd9dd3c2b75ac377326809bb34fbbe5d5ec9481",
      "parents": [
        "89f907cfe444cc0f78de683549ec1350da36e39e"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Sat Aug 01 10:49:00 2020 +0200"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Sat Aug 01 13:29:03 2020 +0200"
      },
      "message": "Allow native_bridge to intercept __get_thread()-\u003estack_top\n\nBug: 158584334\nTest: bionic-unit-tests --gtest_filter\u003dandroid_unsafe_frame_pointer_chase*\nChange-Id: Ib58372991027846eb35c7e393de321910fa92997\n"
    },
    {
      "commit": "907e0aebd29c65bbcfa2ed7f1583e71eebaa2c33",
      "tree": "c389d815aa4259f99409008a1a0932fce2d15984",
      "parents": [
        "0cfe54966b8814165eae22b1bb90aa72941ec181",
        "26b06073f6874ee719422f4986738f6bc622448c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 23:47:05 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 23:47:05 2020 +0000"
      },
      "message": "Merge \"Sync with upstream OpenBSD.\""
    },
    {
      "commit": "0cfe54966b8814165eae22b1bb90aa72941ec181",
      "tree": "a250ffada19237665cd933aa986479c5e58f9cba",
      "parents": [
        "cde09224eb87d6670631232432ccff34b45076a1",
        "79c91ae43b541c7fb0a2165859142b272093538f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 31 21:14:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 21:14:34 2020 +0000"
      },
      "message": "Merge \"Sync with upstream NetBSD.\""
    },
    {
      "commit": "26b06073f6874ee719422f4986738f6bc622448c",
      "tree": "7a3771275a9a482322458fdab15a434ac5df442b",
      "parents": [
        "b1d27cab96c7aa31470ed2a1a8b284f9422cef25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 11:00:10 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 13:01:38 2020 -0700"
      },
      "message": "Sync with upstream OpenBSD.\n\nTest: treehugger\nChange-Id: I1fc649ba5d79a3d95242c6b2240dbb05c85d30e9\n"
    },
    {
      "commit": "79c91ae43b541c7fb0a2165859142b272093538f",
      "tree": "f92c3a4490d6313fb264cf71af0397f8de509dbc",
      "parents": [
        "b1d27cab96c7aa31470ed2a1a8b284f9422cef25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 12:59:48 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 12:59:48 2020 -0700"
      },
      "message": "Sync with upstream NetBSD.\n\nTest: treehugger\nChange-Id: Ia88698f032c017fabc8d24bab12f33ed0b55e65e\n"
    },
    {
      "commit": "fb65ee4c47f374fd75e6e994f32edc4224c6442a",
      "tree": "fee60e9b2b6e0478fd208e1556ddd8d12d023a05",
      "parents": [
        "9c6d60d073db079a87fbeb5de3e72ac12838a480"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jul 31 00:18:38 2020 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jul 31 17:45:44 2020 +0000"
      },
      "message": "SCUDO fill options only when USE_SCUDO\n\nFor vanity reasons, this CL should be reverted after b/158870657, since\nwe want to make sure zero/pattern fill always happen when they are\nrequested.\n\nBug: 131355925\nBug: 158870657\nTest: check build on normal devices hits USE_SCUDO branch with #error\nChange-Id: I22d19dbc75004c8f7437e1247226bc3275cd4df5\n"
    },
    {
      "commit": "cf346532fccbe35666b827fbbfd2cb951dd00dc2",
      "tree": "c1ab59c29e63dea1700f24edb6bfad28c9d0687f",
      "parents": [
        "b1d27cab96c7aa31470ed2a1a8b284f9422cef25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 10:35:03 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 31 10:35:03 2020 -0700"
      },
      "message": "More cleanup for #inclusivefixit.\n\nFound manually with grep, since the script seems to miss stuff.\n\nTest: treehugger\nChange-Id: I5933cbade9792801d4a0bec1ccb077efa6ad8fbc\n"
    },
    {
      "commit": "3025f128f3cdeb168a915cb51af84c4dac841e4a",
      "tree": "8754aa33dbc07d012c754bbadea153a93788ca23",
      "parents": [
        "5b2e331211d0f2b60f1400b20ec7ef853af26814",
        "8844879212852a70918df1c9ebcac4d574f1fcd9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 29 16:38:06 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 29 16:38:06 2020 +0000"
      },
      "message": "Merge \"Add support for new scudo mallopt options.\""
    },
    {
      "commit": "8844879212852a70918df1c9ebcac4d574f1fcd9",
      "tree": "3aedf7fcb684f452d9353fa5b187a1cb706403d9",
      "parents": [
        "4d3802baa4321b64ae3952b12aea48228a24c8d6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 28 14:15:31 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 28 18:20:32 2020 -0700"
      },
      "message": "Add support for new scudo mallopt options.\n\nBug: 162092537\n\nTest: Ran new unit tests.\nChange-Id: I4b7d17a9e98166c03cd153eb9e9d847693914ea3\n"
    },
    {
      "commit": "72ac49dbd8cda30c48a5734a973e44ad5c74d932",
      "tree": "7f3629506f671b5fcb90ff83d32b1b524ba928c8",
      "parents": [
        "4d3802baa4321b64ae3952b12aea48228a24c8d6",
        "9dd11412a6e29a477a3da028683dff60a133703e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 29 01:12:56 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 29 01:12:56 2020 +0000"
      },
      "message": "Merge \"Remove pylintrc.\""
    },
    {
      "commit": "fce31870886ca101bf359508f0ce6be076433da4",
      "tree": "2a11e57c4def6ece3d6bb422d183a9ec7edb0b08",
      "parents": [
        "9c6d60d073db079a87fbeb5de3e72ac12838a480"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 12:06:23 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 28 12:12:20 2020 -0700"
      },
      "message": "Cleanup for #inclusivefixit.\n\nThis was initially just to try on \"pty\" and \"tty\" for size, while\ndiscussing with other projects to try to align on vocabulary, but -- in\nthe implemention and tests at least -- but these work out so well that\nI\u0027m tempted to go with them anyway if we can\u0027t come to a concensus. We\ncan always come back and change them again later.\n\nWhat I really like is that you pass the pty to functions like ptsname()\nand grantpt() with a \u0027p\u0027 in the name, and the tty to functions like\nttyname() and tcsetattr() with just \u0027t\u0027s.\n\nThe use of \"parent\" and \"child\" in forkpty() seems helpful too.\n\nAlso fix the documentation of forkpty(), which wasn\u0027t quite right.\n\nTest: treehugger\nChange-Id: Ic010c4b669f6528591c653e3701f4e41e0d0df9e\n"
    },
    {
      "commit": "15786e407fd9d22ec1c71ff922e5aa0d3c05a8ec",
      "tree": "e2bb61382101278c65233cb719720cf0e311a0f5",
      "parents": [
        "9c6d60d073db079a87fbeb5de3e72ac12838a480"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jul 28 10:56:12 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jul 28 10:56:12 2020 -0700"
      },
      "message": "Cleanup for #inclusivefixit.\n\nTest: build\nChange-Id: Ib2f264feae69fbbda5fe1e1c315b6116ecf520fa\n"
    },
    {
      "commit": "9dd11412a6e29a477a3da028683dff60a133703e",
      "tree": "aefa22f0723db4ee7062c47d712ebd4c89ec1591",
      "parents": [
        "9c6d60d073db079a87fbeb5de3e72ac12838a480"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 27 13:25:38 2020 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 27 13:40:28 2020 -0700"
      },
      "message": "Remove pylintrc.\n\nConsidering none of the files in this directory are pylint clean I\ndon\u0027t think this is being used. They also seem to use a mix of styles\nso we need to either unify or split things into subdirectories if we\nwant to use pylint here.\n\nTest: None\nBug: http://b/161896447\nChange-Id: I5bc298bd64d44cc10d3d28121666e7893222ea96\n"
    },
    {
      "commit": "3f3161093bdaec580acc8edd3efdc2a6e5e7d7b9",
      "tree": "e5a35b1a50f3be8429627c4129c72868e99c4d31",
      "parents": [
        "6ba173a3f66341e06b8f90e60fd7eea25cb8da54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 23 13:39:54 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 23 13:43:23 2020 -0700"
      },
      "message": "Cleanup for #inclusivefixit.\n\nTest: treehugger\nChange-Id: Iec1af942b5dee37f08ad390afe9fbdb79c47c085\n"
    },
    {
      "commit": "6ba173a3f66341e06b8f90e60fd7eea25cb8da54",
      "tree": "e9a2fedf55835052b36beaf2fc40a98d2eccc8a5",
      "parents": [
        "9b7338c6bbf58c0e3dfb35d1808d348ea08cf936",
        "68ae6ad12e4f89526638f167c380d0b28b3bdeac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 22 19:26:37 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 22 19:26:37 2020 +0000"
      },
      "message": "Merge \"Changes for #inclusivefixit.\""
    },
    {
      "commit": "9b7338c6bbf58c0e3dfb35d1808d348ea08cf936",
      "tree": "5c9c56085ccf91ca8c46ddeb9d031db701d31fb0",
      "parents": [
        "4378ced55dbb8112e06a152d857eb7a58b962585",
        "2b76a94c6883bca5aa117f4a882c2b53e0b40e2e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jul 22 09:50:10 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 22 09:50:10 2020 +0000"
      },
      "message": "Merge \"Track name changes in the tzdata format\""
    },
    {
      "commit": "68ae6ad12e4f89526638f167c380d0b28b3bdeac",
      "tree": "e18075751c1f0d08d94d7c6be14e1a18b560b285",
      "parents": [
        "c79ea239415963d4a38752d0f3efe50531c8e04f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 21 16:11:30 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 21 16:34:58 2020 -0700"
      },
      "message": "Changes for #inclusivefixit.\n\nTest: treehugger\nChange-Id: I7ff0496c5c2792a41781e74634247f55b0548213\n"
    },
    {
      "commit": "8e20ac441388564a3acd51b0097fc63e7903664d",
      "tree": "6b4f84c0e9114d0667738dce9fa7c10c8095a5d2",
      "parents": [
        "a96099e13068278e54afa637c088496d56c85b62"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Mon Jul 20 11:18:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Tue Jul 21 19:14:12 2020 +0200"
      },
      "message": "Resolve interface flags using SIOCGIFFLAGS ioctl\n\nNormally, getifaddrs() gets its information about interface flags from\nRTM_NEWLINK messages. With the ability for non-system apps to send\nRTM_GETLINK messages going away, resolve these flags by performing a\nSIOCGIFFLAGS ioctl call instead.\n\nThis fixes a bug where the flags were erroneously copied over from an\nifaddrmsg\u0027s ifa_flags.\n\nBug: 141455849\nTest: atest bionic-unit-tests-static\nTest: Connect to wireless network.\nTest: Call getifaddrs() from a non-system app targeting API R+, verify\nthat the interface flags are correct.\n\nChange-Id: I552f3b9d21072f59ee6f0890f47cb1bdf3cfcf20\n"
    },
    {
      "commit": "c618960288e51d5e44686c4402be093e76f15b15",
      "tree": "6843d710b736adcb884cee818bfb00724499fb8e",
      "parents": [
        "b76e8e610c92891546a45b41acc5a92a60f65053"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Jun 26 14:27:58 2020 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Jun 26 14:27:58 2020 +0200"
      },
      "message": "Improve diagram in malloc_heapprofd.\n\nInclude the functions that cause the state transitions.\n\nChange-Id: I262e74c58e12316996451c418ab222f4512d005c"
    },
    {
      "commit": "b76e8e610c92891546a45b41acc5a92a60f65053",
      "tree": "67cb2898f147b55b0a6a54cf2d45b745a5b0952d",
      "parents": [
        "d381b26576e6f7a2bb3978e996cb99dd70af68d1",
        "c9889fdf15897e70af011e597f0f2259c7e579ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 25 19:11:08 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 25 19:11:08 2020 +0000"
      },
      "message": "Merge \"strings.h: undef ffs/ffsl/ffsll.\""
    },
    {
      "commit": "c9889fdf15897e70af011e597f0f2259c7e579ff",
      "tree": "a3b3b38a5a74ac7aaf21ffc6562869cbf63d51ab",
      "parents": [
        "c17236ee78e49af1266783fb55c91f69f053689f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 25 08:46:06 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 25 08:46:06 2020 -0700"
      },
      "message": "strings.h: undef ffs/ffsl/ffsll.\n\nProtect against software that #defines these, such as mesa3d.\n\nTest: treehugger\nChange-Id: I22e937423967676ea332956289419d48bb7c2cd3\n"
    },
    {
      "commit": "d381b26576e6f7a2bb3978e996cb99dd70af68d1",
      "tree": "4074dc8635a96a35cf338bfbe4cd732b7474edfd",
      "parents": [
        "536b7ec5ac0828855b30f5d4058cb92ee3b26e5c",
        "ef707f90561d0891b18a135b25287b2568434bae"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 24 03:16:47 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 24 03:16:47 2020 +0000"
      },
      "message": "Merge \"Remove references to libc_scudo.\""
    },
    {
      "commit": "536b7ec5ac0828855b30f5d4058cb92ee3b26e5c",
      "tree": "a2168c61008679523e1e9d0a3ab817cc0b0da567",
      "parents": [
        "fffb59149e59d9a0e3b536ea3a80bc0afb3c6e1a",
        "b477ac74e7d98f958dfb927d3909305de58ea1dd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 23 19:44:54 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 19:44:54 2020 +0000"
      },
      "message": "Merge \"Revert \"Disallow vmsplice(2) for all zygote-spawned processes.\"\""
    },
    {
      "commit": "b477ac74e7d98f958dfb927d3909305de58ea1dd",
      "tree": "476df9275aa1402085207d231162a49867240378",
      "parents": [
        "3d1bd8efbe1e739a1976705083b0b4f3a290dc7e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 23 17:53:35 2020 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 23 17:53:35 2020 +0000"
      },
      "message": "Revert \"Disallow vmsplice(2) for all zygote-spawned processes.\"\n\nThis reverts commit 3d1bd8efbe1e739a1976705083b0b4f3a290dc7e.\n\nReason for revert: http://b/159712722\n\nThe original test (`atest --test-mapping packages/providers/MediaProvider`) passed in AOSP, but there\u0027s a new use of vmsplice() in rvc-dev.\n\nBug: http://b/157591659\nBug: http://b/159712722\nChange-Id: Icc9b752ca4fa21f7e18c409b55f3977b7460bfbe\nTest: treehugger\n"
    },
    {
      "commit": "ef707f90561d0891b18a135b25287b2568434bae",
      "tree": "ce21b7c098b7893acedf2d85964dfbff4379699d",
      "parents": [
        "c17236ee78e49af1266783fb55c91f69f053689f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 08 16:32:31 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 22 15:27:52 2020 -0700"
      },
      "message": "Remove references to libc_scudo.\n\nAs scudo is now the default native allocator, there is no need to\nkeep this library around.\n\nTest: Builds and walleye boots.\nChange-Id: Id2918544651348854956d1348d2a634f6425b952\nMerged-In: Id2918544651348854956d1348d2a634f6425b952\n(cherry picked from commit 941ad56299dccd6c7b1cc2d7d3ebcc0af37908a9)\n"
    },
    {
      "commit": "528e29d91cbe07df64a744643bd5f418aa861ad5",
      "tree": "3dbbdc3f8eee6a1f0de0189faed673d06447dc25",
      "parents": [
        "c17236ee78e49af1266783fb55c91f69f053689f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 22 12:55:12 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 22 12:55:12 2020 -0700"
      },
      "message": "Simplify tzdata fallback logic.\n\nIt\u0027s a historical accident that we try all the other files even if a\nhigher-priority file doesn\u0027t contain the sought-for olson id. Stop\ndoing that.\n\nAlso remove a TODO that has never been warranted, and add one that it\nwill be many years before anyone can do anything about it, but by that\ntime the historical knowledge may have been lost.\n\nBug: http://b/159613340\nTest: treehugger\nChange-Id: I873579268753c84b0bb721ea56f71ba64506d45a\n"
    },
    {
      "commit": "3d1bd8efbe1e739a1976705083b0b4f3a290dc7e",
      "tree": "9a65ac94c5cb0faccc66d98ec9e42862737e2e00",
      "parents": [
        "cd1c8b0e84ccd08d636b134a3adb405c6d1443fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 19 15:49:19 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 19 15:49:19 2020 -0700"
      },
      "message": "Disallow vmsplice(2) for all zygote-spawned processes.\n\nBug: http://b/157591659\nTest: treehugger\nTest: atest --test-mapping packages/providers/MediaProvider\nChange-Id: I6adfc6060f6382e70383f10fce4e65b09acd1dd0\n"
    },
    {
      "commit": "ad4b47c4290d6291e4280707688ce54c9bf9b72c",
      "tree": "ddb2bac208a330c9f8f9427577f2960dbd3e528c",
      "parents": [
        "da45ea668737d8a23f985b33b45ba26c948622eb",
        "c5db38a4bb0a63a828726f3198fdca5fce1aa039"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 16 15:38:39 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 15:38:39 2020 +0000"
      },
      "message": "Merge \"Don\u0027t look for licenses in .md files and pylintrc files.\""
    },
    {
      "commit": "da45ea668737d8a23f985b33b45ba26c948622eb",
      "tree": "f93f9257a9061982709386776615a1c8f377986b",
      "parents": [
        "31e3ec3e10a9f1330747788fcb5e587f952b04f9",
        "5e93ee2b0237f7778a5901ea470dd5eb812c1ccb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 16 00:35:59 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 00:35:59 2020 +0000"
      },
      "message": "Merge \"Update libc/NOTICE.\""
    },
    {
      "commit": "c5db38a4bb0a63a828726f3198fdca5fce1aa039",
      "tree": "38e843d4b095b79c21f5b2be4a230c6a3737154e",
      "parents": [
        "31e3ec3e10a9f1330747788fcb5e587f952b04f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 15 17:26:58 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 15 17:26:58 2020 -0700"
      },
      "message": "Don\u0027t look for licenses in .md files and pylintrc files.\n\nAlso be quiet about public domain files unless asked to be verbose.\n\nTest: ./libc/tools/generate-NOTICE.py\nChange-Id: Ia7e4d42870b2ef4b0b77a11093eefa4f117bebaf\n"
    },
    {
      "commit": "31e3ec3e10a9f1330747788fcb5e587f952b04f9",
      "tree": "d7cbde88141688d7786da28a50040d650715bc53",
      "parents": [
        "43b06e570163cc73584192cc983eadc479f8d155",
        "8c936b4e6c5ffc5d55b93e59587d95066abf9b0e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 15 20:17:28 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 15 20:17:28 2020 +0000"
      },
      "message": "Merge \"Use more inclusive language.\""
    },
    {
      "commit": "8c936b4e6c5ffc5d55b93e59587d95066abf9b0e",
      "tree": "3c4c54acb8b47cdbe4951e7380d4c1e1096c6ade",
      "parents": [
        "4ea659a7c6abdae1873e72627a06a8d2aa8c02fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 15 11:18:43 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 15 11:18:43 2020 -0700"
      },
      "message": "Use more inclusive language.\n\nOne turns out not to be used at all, and the pylintrc even uses the more\nintention-revealing term in the machine readable part, just not the\ncomment!\n\nTest: treehugger\nChange-Id: I4db7f1cf4fa1aa8ee601857e4e4c400e2119887c\n"
    },
    {
      "commit": "5e93ee2b0237f7778a5901ea470dd5eb812c1ccb",
      "tree": "798a8311db6ba50f49a019ceeacdb13b243eaa9a",
      "parents": [
        "4ea659a7c6abdae1873e72627a06a8d2aa8c02fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 15 11:03:27 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 15 11:03:27 2020 -0700"
      },
      "message": "Update libc/NOTICE.\n\nSomeone skipped the presubmit hooks :-(\n\nTest: N/A\nChange-Id: I434a76ffc0aec7661f335def490daf54e0d97c12\n"
    },
    {
      "commit": "dbb8670dfdcc677f7e3b9262e93800fa14c4e417",
      "tree": "fc37d407c1d8842746fbdf3f1fbf2f9166b4952c",
      "parents": [
        "4ea659a7c6abdae1873e72627a06a8d2aa8c02fd"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 15 09:29:07 2020 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 15 10:12:17 2020 -0700"
      },
      "message": "Use more inclusive language for seccomp filter\n\nblacklist and whitelist are replaced with blocklist and allowlist\nrespectively.\n\nTest: CtsSeccompHostTestCases\nChange-Id: I39d9eda89038d1addbdaed59284a254a34cea1c6\n"
    },
    {
      "commit": "2dced5bfbb389cdde31276c1ea7646c201668066",
      "tree": "6a21e511da25f8cbe7abbfc92c174cbb87a84913",
      "parents": [
        "dc39f6e23b2f744746f1312bbc811d4a78545501",
        "cdb4a26d29fce473261dceaf4610372fb26d5e64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 11 22:53:50 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 22:53:50 2020 +0000"
      },
      "message": "Merge \"Update upstream OpenBSD gdtoa.\""
    },
    {
      "commit": "cdb4a26d29fce473261dceaf4610372fb26d5e64",
      "tree": "804c0c127e949749ada67b410c9acfc65f13e120",
      "parents": [
        "86a8696cfb7813964df988d0f4bf278bf3344a6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 05 16:56:53 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 11 12:57:37 2020 -0700"
      },
      "message": "Update upstream OpenBSD gdtoa.\n\nAlso add a test for the bug that this fixes.\n\nBug: http://b/152588929\nTest: treehugger\nChange-Id: I58055b3ebaef457721bb4f5d8a8710025122b2e7\n"
    },
    {
      "commit": "dc39f6e23b2f744746f1312bbc811d4a78545501",
      "tree": "957dbf4b8d5f2a74d05b60b770f9aa5004f88701",
      "parents": [
        "86a8696cfb7813964df988d0f4bf278bf3344a6c",
        "2361d4ef8001afa506ec3d4fb852823783b0e76a"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jun 11 19:30:15 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 19:30:15 2020 +0000"
      },
      "message": "Merge \"Adopt remaining MTE string routines.\""
    },
    {
      "commit": "86a8696cfb7813964df988d0f4bf278bf3344a6c",
      "tree": "a2f13a741bc69974f53e42f98aae609d574de6bd",
      "parents": [
        "7ea9c1630a713953091c73f4aadcbbc47ea3cfe3",
        "3205cddff06f0b59c1de05f594992d96f7194da3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 16:01:49 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 16:01:49 2020 +0000"
      },
      "message": "Merge \"linker: CHECK() or async_safe_fatal() rather than abort().\""
    },
    {
      "commit": "2361d4ef8001afa506ec3d4fb852823783b0e76a",
      "tree": "0bd42cdf73dc2607f91fb0298a0d34d43cef4d25",
      "parents": [
        "f78faebccddda1218452200b36bb279c8472b2ee"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Jun 03 16:55:37 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jun 11 08:52:26 2020 -0700"
      },
      "message": "Adopt remaining MTE string routines.\n\nARM has released the remaining MTE string routines, so let\u0027s start\nusing them. The strnlen implementation is now compatible with MTE,\nso it no longer needs to be an ifunc.\n\nBug: 135772972\nChange-Id: I9de7fb44447aa1b878f4ad3f62cb0129857b43ad\n"
    },
    {
      "commit": "3205cddff06f0b59c1de05f594992d96f7194da3",
      "tree": "5bf325b5b1a0c0a69bcb2734ea55103e77d42b98",
      "parents": [
        "79686ca145b5e54e3de4e409a82d72bdc7f22e88"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 10 14:48:06 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 10 14:49:28 2020 -0700"
      },
      "message": "linker: CHECK() or async_safe_fatal() rather than abort().\n\nIn particular, add the strerror() output if mprotect() fails.\n\nFix the CHECK macro so that you can make assertions involving operator%\nwithout that being confused for a printf format specifier.\n\nBug: https://issuetracker.google.com/158645318\nTest: treehugger\nChange-Id: I6817f8ca5f094c52dc2c9067bfac90385a8743f5\n"
    },
    {
      "commit": "7ea9c1630a713953091c73f4aadcbbc47ea3cfe3",
      "tree": "8cef2c513a34a02535b6e793d8a7f177e0b0d856",
      "parents": [
        "79686ca145b5e54e3de4e409a82d72bdc7f22e88",
        "8e0707d82c8a18767bfa5951850f05a14941f788"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@google.com",
        "time": "Wed Jun 10 16:11:32 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 10 16:11:32 2020 +0000"
      },
      "message": "Merge \"Move exit.c from stdlib to bionic subdirectory.\""
    },
    {
      "commit": "8e0707d82c8a18767bfa5951850f05a14941f788",
      "tree": "a91491084f629696eddba878340477b0aca72ce9",
      "parents": [
        "15cbad3f59b822e972e31b06ebaf45e806f165f2"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@google.com",
        "time": "Tue Jun 09 21:57:05 2020 +0200"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@google.com",
        "time": "Wed Jun 10 16:38:05 2020 +0200"
      },
      "message": "Move exit.c from stdlib to bionic subdirectory.\n\nTest: make\n\nChange-Id: I2182d5a7c97abc0335e88d2d9dd9f77bc7e7f633\n"
    },
    {
      "commit": "e0a14d4c8a727269aabccfcd53348bd7556500cc",
      "tree": "fc6632dcf764de6be025309f3901fd1d8614e53f",
      "parents": [
        "9f2e171900f08c1b1099a8b5c5842856e5fbb987"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 09 10:42:19 2020 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 09 16:03:42 2020 -0700"
      },
      "message": "fortify: remove `static`\n\nWhen glancing at libc.so, I noticed we had five copies of\n`__fortify_fatal` sitting around. LLVM can\u0027t inline variadic functions;\nallowing everything to reference the same one seems best to me. This\nsaves us a few hundred bytes. Whoopee.\n\nBug: None\nTest: TreeHugger\nChange-Id: I99188d49cd46d792e3167cb961f13b3c1b65bd61\n"
    },
    {
      "commit": "9f2e171900f08c1b1099a8b5c5842856e5fbb987",
      "tree": "303d3db704ea83bd750d1c0c4b52c39ce8c1a221",
      "parents": [
        "4dd8760cc41787f6fa561af656709ba919541d1d",
        "9253757ff23eba4c55f160f3997a9977f007bd28"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 08 17:25:01 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 08 17:25:01 2020 +0000"
      },
      "message": "Merge \"Remove dead code.\""
    },
    {
      "commit": "4dd8760cc41787f6fa561af656709ba919541d1d",
      "tree": "c61c6bd077666d499001eca1a244cbe5a822b8c7",
      "parents": [
        "86345218ced518e85a7813a1a73493afc879e93a",
        "1e381a242996639e8fd8100aceb38d39099d835d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 08 17:12:04 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 08 17:12:04 2020 +0000"
      },
      "message": "Merge \"Factor out error reporting in WriteProtected.\""
    },
    {
      "commit": "1e381a242996639e8fd8100aceb38d39099d835d",
      "tree": "cc927294c9f33e91d57a9699893ce839efd1d566",
      "parents": [
        "700f753c50971a573bfd84cf7d64483b94fcfe2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 08 08:41:27 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 08 08:41:27 2020 -0700"
      },
      "message": "Factor out error reporting in WriteProtected.\n\nPartly to buff our coverage numbers, but also for improved consistency\nin error reporting.\n\nTest: treehugger\nChange-Id: Iffc32833a35f9e9535c1bc3e0f7cb3c4bbba5f7f\n"
    },
    {
      "commit": "9253757ff23eba4c55f160f3997a9977f007bd28",
      "tree": "9d1ce0010bbf5550f2d2655f977eebdfaf8f1d7f",
      "parents": [
        "700f753c50971a573bfd84cf7d64483b94fcfe2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 08 08:33:54 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 08 08:33:54 2020 -0700"
      },
      "message": "Remove dead code.\n\npirama made me do this.\n\nTest: treehugger\nChange-Id: I3af9157e246ae4f3d4dc388332dc63b730066f91\n"
    },
    {
      "commit": "cea8a4f18a80d5e282006d7a7e481fe05d58592a",
      "tree": "ee9eb4f418474b9881d1d4871a27908cc3fb66bb",
      "parents": [
        "7ce3f2cb39deb3d4bb881a4f52dcfe5260a14099",
        "3a4c2ffff80402f6c250f1491302aa7d65411349"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 08 05:03:33 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 08 05:03:33 2020 +0000"
      },
      "message": "Merge changes I3c697924,I0b019cd0\n\n* changes:\n  Move set_cached_pid() to __clone_for_fork()\n  Remove WEAK_FOR_NATIVE_BRIDGE for fork\n"
    },
    {
      "commit": "b13650d7877d7159a0c9fafcb91b546b28f1381a",
      "tree": "bf9ec12b4573534d6fd3bd4b15d1d48852fe07ad",
      "parents": [
        "32900a1d0542d5ef18ac70afd7111d3158eb11fd",
        "430527b4cd0f23b2be9d3f4e88c801ea930e1b2d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 05 21:21:38 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 05 21:21:38 2020 +0000"
      },
      "message": "Merge \"Update the generate script.\""
    },
    {
      "commit": "32900a1d0542d5ef18ac70afd7111d3158eb11fd",
      "tree": "6be74e9215c775ac3ec94e0887dd02150a1eceda",
      "parents": [
        "3b23cc7f728dd5403ca11e1abb871d230269caba",
        "a1b1bfd1d16ec1d6bea797dd81618a4a7484ab1a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 05 15:39:19 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 05 15:39:19 2020 +0000"
      },
      "message": "Merge \"Use a template for the exec family.\""
    },
    {
      "commit": "430527b4cd0f23b2be9d3f4e88c801ea930e1b2d",
      "tree": "093ebb2ce7a2dfaece54b18e2689016967a082a1",
      "parents": [
        "f78faebccddda1218452200b36bb279c8472b2ee"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 03 13:41:00 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 04 12:32:09 2020 -0700"
      },
      "message": "Update the generate script.\n\nThe arm kvm.h file has been deprecated, so nobody should be including it.\nTherefore, remove the hack to copy the file out of the tools directory.\n\nAlso, update to remove the arm kvm.h file.\n\nTest: Ran generate and update script and verified only the arm kvm.h\nTest: was deleted.\nTest: Builds and boots on a walleye.\nChange-Id: I95dcc8877bdb2da2858b0b9d0aa95d1d2072cf9a\n"
    },
    {
      "commit": "a1b1bfd1d16ec1d6bea797dd81618a4a7484ab1a",
      "tree": "463668357c059e6c5bf6e4a4d47cf216e5545cb8",
      "parents": [
        "700f753c50971a573bfd84cf7d64483b94fcfe2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 04 08:04:06 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 04 08:04:06 2020 -0700"
      },
      "message": "Use a template for the exec family.\n\nThis means that execle() doesn\u0027t have to drag in all the path code and\nshell script special case code from its relatives, for branches that\nwill never be taken. Specifically, it means that they disappear from the\nmonstrously large linker binary after this change.\n\nA drop in the ocean of bloat, yes, but you have to start somewhere.\n\nBug: http://b/25200716\nTest: treehugger, objdump\nChange-Id: I21126823d869cee07bf7320bc0a65ea2aaee65a1\n"
    },
    {
      "commit": "3a4c2ffff80402f6c250f1491302aa7d65411349",
      "tree": "2fc041b78c73a06a1951e8478a2032485d245639",
      "parents": [
        "520398ffe90a45e2f2a85f56230055f9f2f6bf02"
      ],
      "author": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Mon Jun 01 18:43:55 2020 -0700"
      },
      "committer": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Wed Jun 03 17:16:30 2020 -0700"
      },
      "message": "Move set_cached_pid() to __clone_for_fork()\n\nBug: 145028007\nTest: bionic-unit-tests\nChange-Id: I3c697924f2a3ef1804a688dd1fe9669f6b7a71bf\n"
    },
    {
      "commit": "520398ffe90a45e2f2a85f56230055f9f2f6bf02",
      "tree": "f495ce9eaf31ddb0256105a850a06b53d688aa91",
      "parents": [
        "41127dca3d08e5eb350b678ee03eae30ab779921"
      ],
      "author": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Mon Jun 01 18:43:55 2020 -0700"
      },
      "committer": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Wed Jun 03 17:00:48 2020 -0700"
      },
      "message": "Remove WEAK_FOR_NATIVE_BRIDGE for fork\n\nBug: 145028007\nTest: bionic-unit-tests\nChange-Id: I0b019cd08c9d7426a953bd199f2ecd6dd42db00e\n"
    },
    {
      "commit": "41127dca3d08e5eb350b678ee03eae30ab779921",
      "tree": "932358a80e247c8599ca3b4fd942204a054e66f8",
      "parents": [
        "f78faebccddda1218452200b36bb279c8472b2ee"
      ],
      "author": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Mon Jun 01 18:43:55 2020 -0700"
      },
      "committer": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Wed Jun 03 17:00:41 2020 -0700"
      },
      "message": "Narrow native bridge to clone_for_fork\n\nWe are removing native bridge copy of fork.cpp, but need to\nreplace call to clone() when it\u0027s done for bionic\u0027s fork.\n\nThe code here will run all pre-/post-clone routines for *guest*,\nwhile native bridge implementation will need to run the\ncorresponding *host* routines.\n\nBug: 145028007\nTest: bionic-unit-tests\nChange-Id: Ic5524e743caa287d7aaa8dc7e5d34acd1c7e1170\n"
    },
    {
      "commit": "af09c709d5b88d7599fbfe85ee96c616366f7ef2",
      "tree": "26017bf4b9e2a3e210dc030f10316501998d15ea",
      "parents": [
        "6a642f7760597c0f1e3bddc6f3ac9e96d5b0e39a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 01 20:29:29 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 02 10:58:28 2020 -0700"
      },
      "message": "Update to v5.7 kernel headers.\n\nKernel headers coming from:\n\nGit: https://android.googlesource.com/kernel/common/\nBranch: android-mainline\nTag: android-mainline-5.7\n\nUpdate the generate_uapi_headers.sh where the types.h file is now in\nthe right place, but kvm.h is not.\n\nTest: Booted cuttlefish/bonito.\nTest: Ran bionic-unit-tests on cuttlefish/bonito.\nChange-Id: Ice9ce370a658e320b80f564b34a4431927fcf100\n"
    },
    {
      "commit": "09e394f92ae4204d8a56346672934adbb5cc297f",
      "tree": "5293e0f25ddbd80287dd35e8faf76f6f45cf5784",
      "parents": [
        "700f753c50971a573bfd84cf7d64483b94fcfe2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 29 15:36:16 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 29 15:36:16 2020 -0700"
      },
      "message": "clock: buff our coverage numbers slightly.\n\nclock_gettime() with known arguments can\u0027t fail (and we ignore its\nreturn value in most other places already).\n\nTest: treehugger\nChange-Id: I2374ae5ba1598a01d4c4f689b9c75c4e7dc926b6\n"
    },
    {
      "commit": "ad3be7e649e755c0895dbae378a5c88ae3bddb90",
      "tree": "1ad2ffc7cb1e5a07a7ae3fcfa48a2f54ed002eaa",
      "parents": [
        "642b374e64531bda31ea93fb4553c7ba316f8d7b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 26 11:14:17 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 26 15:12:06 2020 -0700"
      },
      "message": "Ignore SCUDO_OPTIONS across a security boundary.\n\nAdd SCUDO_OPTIONS to the list of the environment variables that should\nnot be preserved across a security boundary.\n\nBug: 157484128\n\nTest: Builds and boots.\nChange-Id: Id8644608114ad2fd49baedbdbbe1c899768bd54d\n"
    },
    {
      "commit": "642b374e64531bda31ea93fb4553c7ba316f8d7b",
      "tree": "7f84b5902e049da7bed8046c3155b77e82a02f0e",
      "parents": [
        "3c9cd8a29d1f632f04e95397baff452d68cd46e9",
        "1541800aa7f2bfcdf1a48d6240d5b2f110130290"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu May 21 20:49:11 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 21 20:49:11 2020 +0000"
      },
      "message": "Merge \"Define mte_supported() on non-aarch64.\""
    },
    {
      "commit": "3c9cd8a29d1f632f04e95397baff452d68cd46e9",
      "tree": "839ce81fcfc93e5fcd464cc83c13f609f27c88bd",
      "parents": [
        "867b46a2ca6d8ebd9477878ce55c81de020b74cd",
        "9bf7817dd29d15ea49c88436db4067d87fc7e6c4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 21 16:13:37 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 21 16:13:37 2020 +0000"
      },
      "message": "Merge \"Fix deadlock/timeout in thread unwinding.\""
    },
    {
      "commit": "2b76a94c6883bca5aa117f4a882c2b53e0b40e2e",
      "tree": "04b331df3d57c805bd9cb3c19fc8b778aeb8ad4d",
      "parents": [
        "867b46a2ca6d8ebd9477878ce55c81de020b74cd"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu May 21 14:53:58 2020 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu May 21 14:59:19 2020 +0100"
      },
      "message": "Track name changes in the tzdata format\n\nThe tzdata format has changed:\n\nFirstly, there is now a \"final_offset\", which serves as a pointer to the\nbeginning of the section after the last known section. The pointer means\nthat file size is no longer a factor when reading the last section and\nnew sections could be added to the end of the file in future in a\nbackwards compatible way.\n\nSecondly, since nothing uses zone.tab on Android it is being removed and\nthe zonetab_offset is replaced by final_offset.\n\nThe net effect for bionic is zero besides some comment / name changes.\n\nTest: build only\nChange-Id: Ia315083879c891f2d3fc84cf48e304c323ca89f2\n"
    },
    {
      "commit": "9bf7817dd29d15ea49c88436db4067d87fc7e6c4",
      "tree": "83df3be7fc9aa5b879d22b9db6361baf7c83c17f",
      "parents": [
        "ba198d508497ffeb146d61c5ec5fb66d84e864f3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 20 15:37:30 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 20 18:18:54 2020 -0700"
      },
      "message": "Fix deadlock/timeout in thread unwinding.\n\nWhen malloc debug is enabled, using libbacktrace to unwind can\nresult in a deadlock. This happens when an unwind of a thread\nis occuring which triggers a signal to be sent to that thread. If\nthat thread is interrupted while a malloc debug function is\nexecuting and owns a lock, that thread is then stuck in the signal\nhandler. Then the original unwinding thread attempts to do an\nallocation and gets stuck waiting for the same malloc debug lock.\n\nThis is not a complete deadlock since the unwinder has timeouts,\nbut it results in truncated unwinds that take at least five\nseconds to complete.\n\nOnly the backtrace signals needs to be blocked because it is the only\nknown signal that will result in a thread being paused in a signal\nhandler.\n\nAlso, added a named signal in the reserved signal list for the\nspecial bionic backtrace signal.\n\nBug: 150833265\n\nTest: New unit tests pass with fix, fail without fix.\nChange-Id: If3e41f092ebd40ce62a59ef51d636a91bc31ed80\n"
    },
    {
      "commit": "11623dd60dd0f531fbc1cbf108680ba850acaf2f",
      "tree": "91890979ca57d42f0bc46f34efc686f467cd74d3",
      "parents": [
        "ba198d508497ffeb146d61c5ec5fb66d84e864f3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue May 19 14:31:45 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue May 19 18:40:50 2020 -0700"
      },
      "message": "sigaction: don\u0027t call interposable symbol.\n\nEnsure we don\u0027t call sigchain\u0027s sigaction64 from bionic\u0027s sigaction by\nextracting sigaction64 to a static function.\n\nTest: treehugger\nChange-Id: I16226c6ac580ece7000c335beb1d3b76429d2a06\n"
    },
    {
      "commit": "acadd09c66e1e5966ac771cb338f1ad660aed4c0",
      "tree": "bc11de4fe811b802c698f972cb1eb16ac09ddd0c",
      "parents": [
        "57a1c3908ff5a2e427f5d45992d0b463fd71b87a"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Wed May 06 13:49:55 2020 +0200"
      },
      "committer": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Mon May 18 11:20:30 2020 +0200"
      },
      "message": "Speed up seccomp with priority list.\n\nAllow to provide a list of prioritized syscalls (e.g., syscalls that we\nknow occur often) which are checked before other syscalls in seccomp.\n\nWhen constructing the bpf seccomp filter, traverse prioritized syscalls\nin a linear list before checking all other syscalls in a binary tree.\n\nBug: 156732794\nTest: make, inspect generated *_system_policy.cpp files\nTest: simpleperf on futex/ioctl-heavy app seems to show 5-10% less time\nspent in seccomp call\n\nChange-Id: I509343bcd32ada90c0591785ab5cb12d2a38c31e\n(cherry picked from commit ce84677733c18bc442f7f1b2f1840117c904db70)\n"
    },
    {
      "commit": "1beacd440b86a35fcd83bb47ee62ffaa1b1de9ed",
      "tree": "10dcb6624010d968b165606ae8570ad3088d1771",
      "parents": [
        "960b8ed0cdfc3bdfa1edcc9ef4513fe6ffd0d7e4"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed May 13 16:55:10 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed May 13 16:55:10 2020 +0900"
      },
      "message": "libc_scudo: Set min_sdk_version to apex_inherit\n\nSwitched min_sdk_version from 29(hard-coded) to \"apex_inherit\".\nFrom the build system perspective, nothing changes.\n\nThis change is to sync with internal code because it\u0027s been changed\nwhile cherry-picking.\n\nBug: 145796956\nTest: m\nChange-Id: I567ddad0bd54087cdf9a30cbe42e239977a028dd\n"
    },
    {
      "commit": "1541800aa7f2bfcdf1a48d6240d5b2f110130290",
      "tree": "cf994e8ecdeb876663327ca5c65618e896a01821",
      "parents": [
        "f76ef3669002e802bad2bd04225b89ae5ee9d862"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue May 12 16:02:50 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue May 12 16:03:50 2020 -0700"
      },
      "message": "Define mte_supported() on non-aarch64.\n\nIt turns out that we need this on non-aarch64 more than I thought\nwe would, so let\u0027s start defining it everywhere.\n\nAlso expose platform headers to sanitizer-status.\n\nBug: 135772972\nChange-Id: Ia7fd8a9bca0c123c4ca2ecd5f250f3a628a5513b\n"
    }
  ],
  "next": "e3bc50d44f40c311ad0dcb380f8d0d1f6a7b231b"
}
