)]}'
{
  "log": [
    {
      "commit": "e657eb4f8abc2bb21571df1c0d0e0cbfaadce1c1",
      "tree": "ece8247ab16072e2fd1fca786be9050562bb3f60",
      "parents": [
        "332065d57e734b65f56474d136d22d767e36cbcd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 18 17:11:56 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 18 17:23:04 2021 -0800"
      },
      "message": "Fix some bionic death tests.\n\nThese were creating tombstones and spewing to the log.\n\nYou need TEST_F() rather than TEST(), and the modern style is apparently\nto use `using` rather than an empty subclass.\n\nBug: http://b/180605583\nTest: run tests, check logcat\nChange-Id: I1e639d34854aeff6f042c24643b769a6bcfab877\n"
    },
    {
      "commit": "aa8db1b9d1e8bba7eba26238e44713f02a3dd533",
      "tree": "0c55f7bf1fa5b9aa9e01c63573bd4bb6314a6393",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 15:05:44 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 15:06:50 2021 -0800"
      },
      "message": "Fix/update notices.\n\nAuto-generate NOTICE files for all the directories, and for each one\nindividually rather than mixing libc and libm together.\n\nTest: N/A\nChange-Id: I7e251194a8805c4ca78fcc5675c3321bcd5abf0a\n"
    },
    {
      "commit": "ef0ec82684ea52ee3a13db8df9103ca314ea17aa",
      "tree": "0f1e1eac8db14d78a10e31b7d2b97fcc92a5b40f",
      "parents": [
        "8460308d11ba6129bea6000cc4fc1a58795c82db",
        "cdace2f2275694075c03ac90a80c990387807588"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Feb 10 23:31:31 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 10 23:31:31 2021 +0000"
      },
      "message": "Merge \"Revert \"Disable signal frame unwinding tests on arm64\"\""
    },
    {
      "commit": "cdace2f2275694075c03ac90a80c990387807588",
      "tree": "ad0662b00c26bb779a4139d1ba7fbfb8696275d8",
      "parents": [
        "315969a67eb09607f278cd17ae1637bbf661a559"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Feb 10 07:08:18 2021 +0000"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Feb 10 07:08:18 2021 +0000"
      },
      "message": "Revert \"Disable signal frame unwinding tests on arm64\"\n\nThis reverts commit 315969a67eb09607f278cd17ae1637bbf661a559.\n\nReason for revert: r407598b has llvm.org/D90898, which should fix the test.\n\nChange-Id: I466e2122a700ba4df9160b57a5d3c94867472615\n"
    },
    {
      "commit": "6d5662d22a38ca6200d6b6dd919204bc93dbaba8",
      "tree": "3acd79e25463207e38f2f3e9964ae2ba0e982aac",
      "parents": [
        "3990193d7fcefce1837fac47b56094ee3e626d06",
        "f9cfecf3d4d848e247dc8bdc486ed227bff7315f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 08 20:07:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 08 20:07:12 2021 +0000"
      },
      "message": "Merge \"Fix freopen() where the path is null.\""
    },
    {
      "commit": "a988ed65e48884eda5b6a8ef962205a5a3cc6e87",
      "tree": "1c2cb29442ef2c420436902a7e02f713ebc9ec6c",
      "parents": [
        "eca47e72ef93a9d22101e567ac9c1da2e4d98d5e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 08 09:25:35 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 08 09:25:35 2021 -0800"
      },
      "message": "Remove obsolete `cpp_std: \"experimental\"`.\n\nThis is why I prefer being specific...\n\nTest: treehugger\nChange-Id: Ia2f2f5a2a4499df8ab4041c573b0ef78aecbaf3c\n"
    },
    {
      "commit": "f9cfecf3d4d848e247dc8bdc486ed227bff7315f",
      "tree": "00f1b5a19b7acaa16783ea14361d156a38a98989",
      "parents": [
        "15ade069b10f7f5291e48c01db2da4852dae04b7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 04 16:58:13 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 04 17:01:55 2021 -0800"
      },
      "message": "Fix freopen() where the path is null.\n\nThis has been in the standard since C99, but we\u0027ve never supported it\nbefore. It\u0027s apparently used by SPIRV-Tools.\n\nI tried implementing this the other way (with fcntl(2)) first, but\neventually realized that that\u0027s more complicated and gives worse\nresults. This implementation assumes that /proc is mounted, but so much\nof libc relies on that at this point that I don\u0027t think there\u0027s any\nrealistic case where the fcntl(2) implementation would be preferable,\nand there are many where it\u0027s not.\n\nThe fact that no-one\u0027s mentioned this until now suggests that it\u0027s not a\nheavily used feature anyway.\n\nI\u0027ve also replaced AssertCloseOnExec() with a CloseOnExec()\nboolean-valued function instead, because it\u0027s really annoying getting\nassertion failures that don\u0027t point you at the test line in question,\nand instead point to some common helper code.\n\nTest: treehugger\nChange-Id: Ia2e53bf2664a4f782581042054ecd492830e2aed\n"
    },
    {
      "commit": "11874f8f99979e660d1b3b23760cf6b64b324278",
      "tree": "9c51c7ad95754b8b862c419a95fd02b360e999fe",
      "parents": [
        "78ad991425e979f71632eeda0e755664cd8dc998"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 05 00:52:14 2021 +0000"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 05 00:52:20 2021 +0000"
      },
      "message": "Mark bionic-stress-test as not unit tests as it run forever\n\nThis timed out the invocation when trying to run all cc_test, excluding it from unit tests.\n\nChange-Id: I67758d5e49b607b7c10052bc193d885d9123bedf\nTest: presubmit\nBug: 179092189\n"
    },
    {
      "commit": "bfa368860619279b606c316487f7d40e99e18601",
      "tree": "c2efcded7667306680284efaf774fa1814ed8ab7",
      "parents": [
        "d8154a813d745ab23adf0414d31325de6b962926",
        "9cad8424ff7b0fa63b53cb9919eae31539b8561a"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Feb 01 23:32:24 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 01 23:32:24 2021 +0000"
      },
      "message": "Merge \"[MemInit] Remove old API, introduce new MemInit API.\""
    },
    {
      "commit": "f700de5f531e44434fd78bd678b027ad33403a56",
      "tree": "181f5758f3428b1ccf991699aade68d578d93587",
      "parents": [
        "cdebaffea49d88a1416c839f81d492b30f1539e6",
        "247892e0dc1802eb5c5e59c74256fd7b60f7ad19"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 27 22:57:07 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 27 22:57:07 2021 +0000"
      },
      "message": "Merge \"Do not run clang-tidy with fortify tests.\""
    },
    {
      "commit": "247892e0dc1802eb5c5e59c74256fd7b60f7ad19",
      "tree": "c6d443ee75ba3feaec24968670de113e31f3f9af",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 27 12:28:20 2021 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 27 12:28:20 2021 -0800"
      },
      "message": "Do not run clang-tidy with fortify tests.\n\n* When clang-tidy is called, its checks\n  gave different diagnostic messages.\n\nBug: 178534530\nTest: mm with WITH_TIDY\u003d1\nChange-Id: I5eec8239d5531f88caefca3c4032f9764deb9e09\n"
    },
    {
      "commit": "e91aebd4fea8d8a0e8a36c61b124be72a08d50ad",
      "tree": "36d682a135e9669f02f6c56b10b3fe6d03f4058d",
      "parents": [
        "cf81e7ca6a61cb69fd692ed4fc12d4615c0c1a24",
        "82c3c11c1870d4094acbd782df7c7f08ca4f2450"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 26 23:19:14 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 26 23:19:14 2021 +0000"
      },
      "message": "Merge \"Increase leniancy in an inherently flaky test.\""
    },
    {
      "commit": "82c3c11c1870d4094acbd782df7c7f08ca4f2450",
      "tree": "650fe1c5b3dbe14abf3a3167475e214ccff1a69e",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 11:31:29 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 11:31:29 2021 -0800"
      },
      "message": "Increase leniancy in an inherently flaky test.\n\nThe example in the bug was 6ms instead of 5ms. Try 10ms?\n\nBug: http://b/178437652\nTest: treehugger\nChange-Id: I192d602fa4f3499cbf072507245543d0435c5329\n"
    },
    {
      "commit": "cf81e7ca6a61cb69fd692ed4fc12d4615c0c1a24",
      "tree": "81ef15236265ba7a6a0c5f147ab876ff65adc35b",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5",
        "128ef8e981623d89b11f9947b1993c11b9e4b1cb"
      ],
      "author": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Tue Jan 26 19:29:37 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 26 19:29:37 2021 +0000"
      },
      "message": "Merge changes from topic \"proc_madvise_framework\"\n\n* changes:\n  Add bionic headers for process_madvise\n  Add a flag to distinguish shared VMAs\n"
    },
    {
      "commit": "9cad8424ff7b0fa63b53cb9919eae31539b8561a",
      "tree": "f7998255ede5ce02dc6406f7e40f9ac70b4c37ed",
      "parents": [
        "d65b31fad659b806401201adb3cd1dcbf38e61e3"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 20 16:03:27 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Jan 25 15:19:31 2021 -0800"
      },
      "message": "[MemInit] Remove old API, introduce new MemInit API.\n\nIntroduces new heap-zero-init API. We\u0027ve realised that it\u0027s better to be\nable to individually control MTE and heap zero-init. Having\nheap-zero-init not be controllable without affecting MTE affects our\nability to turn off heap-zero-init in zygote-forked applications.\n\nBug: 135772972\nTest: On FVP: atest -s localhost:5555 malloc#zero_init \\\nTest: malloc#disable_mte heap_tagging_level\nChange-Id: I8c6722502733259934c699f4f1269eaf1641a09f\n"
    },
    {
      "commit": "ee16c724f93ad5d32fd856f771b565c1b48c720b",
      "tree": "df791196e64d46dfd1a72ef3ca272ddcdb9e7e37",
      "parents": [
        "7032fec1420b567ae7f6f66963c70345316b5d0f",
        "058eb8fa4ef22f6cdc5a25bf42e4766fbf5812ce"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 22 23:48:49 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 22 23:48:49 2021 +0000"
      },
      "message": "Merge \"Ensure same order of global group members in all NS\u0027s\""
    },
    {
      "commit": "058eb8fa4ef22f6cdc5a25bf42e4766fbf5812ce",
      "tree": "c4dcd7b1955a848d40daec8618fb336e97fa3f51",
      "parents": [
        "fcd9c78534b865951eb70b02eb3a424f08ecd6a6"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Dec 17 22:59:04 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 22 03:27:43 2021 -0800"
      },
      "message": "Ensure same order of global group members in all NS\u0027s\n\nDuring \"step 1\" of find_libraries, the linker finds the transitive\nclosure of dependencies, in BFS order. As it finds each library, it\nadds the library to its primary namespace (so that, if some other\nlibrary also depends on it, find_loaded_library_by_soname can find the\nlibrary in the process of being loaded).\n\nLD_PRELOAD libraries are automatically marked DF_1_GLOBAL, and any\nDF_1_GLOBAL library is added to every linker namespace. Previously,\nthis secondary namespace registration happened after step 1. The result\nis that across different namespaces, the order of libraries could vary.\nIn general, a namespace\u0027s primary members will all appear before\nsecondary members. This is undesirable for libsigchain.so, which we\nwant to have appear before any other non-preloaded library.\n\nInstead, when an soinfo is added to its primary namespace, immediately\nadd it to all the other namespaces, too. This ensures that the order of\nsoinfo objects is the same across namespaces.\n\nExpand the dl.exec_with_ld_config_file_with_ld_preload and\ndl.exec_with_ld_config_file tests to cover the new behavior. Mark\nlib1.so DF_1_GLOBAL and use a \"foo\" symbol to mimic the behavior of a\nsignal API interposed by (e.g.) libsigchain.so and a ASAN preload.\n\nTest: bionic unit tests\nBug: http://b/143219447\nChange-Id: I9fd90f6f0d14caf1aca6d414b3e9aab77deca3ff\n"
    },
    {
      "commit": "370e963dec96785941eb702641545ecd4478e5eb",
      "tree": "88300844fdcc09b141fec9fb5b58c9bbef6fea9b",
      "parents": [
        "7cff764f3ca453c606da8a548a7b135a6709557d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 21 14:40:49 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 21 14:40:49 2021 -0800"
      },
      "message": "Remove a tautological #if guard.\n\nTest: treehugger\nChange-Id: Idc144c663f8bf10eec93f80f3dfedf73a095a42b\n"
    },
    {
      "commit": "73366636e1b516dceaef72999b2401a76eb8f41e",
      "tree": "b05330d1dc03000e77adeb97aa71daffe847d8e8",
      "parents": [
        "9f72aae9e33f2a2b30de0b666c164d3ce1edb9f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 18:08:25 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 18:08:25 2021 -0800"
      },
      "message": "Remove the now-unnecessary android_mallopt() options.\n\nThese are available from mallopt() now, and all callers have been\nswitched over.\n\nBug: http://b/135772972\nTest: treehugger\nChange-Id: I90c7a7573b261c27001a2dfd4589b23861ad613b\n"
    },
    {
      "commit": "9f72aae9e33f2a2b30de0b666c164d3ce1edb9f3",
      "tree": "30525e505fb48bdccc28a70ea2de4f0f42a0de43",
      "parents": [
        "e925485acdfdbef0894bf26e1d0595002b83c696",
        "315969a67eb09607f278cd17ae1637bbf661a559"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 15 23:02:20 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 15 23:02:20 2021 +0000"
      },
      "message": "Merge \"Disable signal frame unwinding tests on arm64\""
    },
    {
      "commit": "d02148c31af0025582c633cc3dac177022d6da56",
      "tree": "b92a7e724664b8e6ce725c62e65e5e18f09b243e",
      "parents": [
        "e925485acdfdbef0894bf26e1d0595002b83c696"
      ],
      "author": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Mon Nov 23 18:11:02 2020 -0800"
      },
      "committer": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Thu Jan 14 19:34:39 2021 -0800"
      },
      "message": "Add a flag to distinguish shared VMAs\n\nThis flag is required to filter out shared VMAs when compacting memory\nusing process_madvise.\n\nTest: atest bionic-unit-tests-static\nBug: 173258203\n\nChange-Id: I01fc0cc614b03128a5a9b0a6c8c5c2d829b701f9\n"
    },
    {
      "commit": "315969a67eb09607f278cd17ae1637bbf661a559",
      "tree": "55b54735235e3b189ba58e885814e5b429ef84c3",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 13 20:34:32 2021 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 14 17:33:38 2021 -0800"
      },
      "message": "Disable signal frame unwinding tests on arm64\n\nThe current libunwind.a LLVM prebuilt lacks the special arm64 signal\nframe unwinder (https://reviews.llvm.org/D90898), so disable the signal\nframe unwinding tests temporarily. (It\u0027s not clear who needs this\nfunctionality on Android -- typically crash dumping should use\nlibunwindstack instead of _Unwind_Backtrace.)\n\nBug: http://b/153025717\nTest: bionic unit tests\nChange-Id: I36644dfe4acbedd937768c3aaaad1010099d602c\n"
    },
    {
      "commit": "e925485acdfdbef0894bf26e1d0595002b83c696",
      "tree": "4849947e9733fa1fbb97686ea77ed18eda47b3ee",
      "parents": [
        "caf32c7697a444a49457619b86d87e265d14971b",
        "446b4dde724ee64a336a78188c3c9a15aebca87c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 00:49:45 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 15 00:49:45 2021 +0000"
      },
      "message": "Merge \"Make \"disable memory mitigations\" and \"set heap tagging level\" more available.\""
    },
    {
      "commit": "446b4dde724ee64a336a78188c3c9a15aebca87c",
      "tree": "4a91430432ee114aa75a82cc8c29e049ee7cce8b",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 14 13:34:20 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 14 13:34:20 2021 -0800"
      },
      "message": "Make \"disable memory mitigations\" and \"set heap tagging level\" more available.\n\nThese were only available internally via android_mallopt(), but they\u0027re\nlikely to be needed by more code in future, so move them into mallopt().\n\nThis change leaves the android_mallopt() options for now, but I plan on\ncoming back to remove them after I\u0027ve switched the handful of callers\nover to mallopt() instead.\n\nBug: http://b/135772972\nTest: treehugger\nChange-Id: Ia154614069a7623c6aca85975a91e6a156f04759\n"
    },
    {
      "commit": "df6b16eca02cb85c66d083b49135068f3159d528",
      "tree": "0d9091fdd85eea4897567dd091d30e3e07644f7b",
      "parents": [
        "51741fb38ef27b94245f5f37f798e3f7a05ce01b"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 12 16:07:50 2021 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jan 13 17:18:42 2021 -0800"
      },
      "message": "(NFC) Sort the list of test dependencies alphabetically.\n\nBug: not a bug\nTest: none\nChange-Id: I3ed42b9d26593fbd2dfe36d8aa7a72a8d6e82536\n"
    },
    {
      "commit": "51741fb38ef27b94245f5f37f798e3f7a05ce01b",
      "tree": "73228166301eeb4d236636cdff45f4accf0d8bbf",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jan 06 16:03:15 2021 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jan 13 17:18:42 2021 -0800"
      },
      "message": "Tests for memory tagging ELF notes.\n\nBug: b/135772972\nTest: bionic-unit-tests\n\nChange-Id: I9b151291d86ef10731eb97db6e68534d5372e06c\n"
    },
    {
      "commit": "7e20117a36c6cf7d3fbdee9b2ed4426c72185346",
      "tree": "100f96c73a64901a062ec4e0519bc278c2034827",
      "parents": [
        "e09fc24a94c1a196b8930f8f26c6f5f8c1a47d06"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Dec 21 14:08:38 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Jan 11 10:55:51 2021 -0800"
      },
      "message": "Remove ANDROID_EXPERIMENTAL_MTE.\n\nNow that the feature guarded by this flag has landed in Linux 5.10\nwe no longer need the flag, so we can remove it.\n\nBug: 135772972\nChange-Id: I02fa50848cbd0486c23c8a229bb8f1ab5dd5a56f\n"
    },
    {
      "commit": "89564397098823882ae0dcbffc9be87092f35445",
      "tree": "5901ef77476a3372f6c27a96ec46ef0b100837d6",
      "parents": [
        "0ed9f701222c1551f608b3440ff2c201a896a1cc",
        "aa4fd1891d6bd4ed36110f9ece583a21e1f1cd57"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Dec 11 15:01:07 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 11 15:01:07 2020 +0000"
      },
      "message": "Merge \"Add tests for FNM_LEADING_DIR\""
    },
    {
      "commit": "aa4fd1891d6bd4ed36110f9ece583a21e1f1cd57",
      "tree": "5cc6849e2747086d01c82f35263cbacfc29978d7",
      "parents": [
        "a80b3079a3d0ffe2d87d8e7c81b7fe966798729d"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Nov 23 12:54:54 2020 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Dec 10 08:07:28 2020 -0800"
      },
      "message": "Add tests for FNM_LEADING_DIR\n\nTest: these tests\nChange-Id: Id884fd08bbee06764330cf54f203603fa2643316\n"
    },
    {
      "commit": "12afdf0fa76ebb081769cea2f9dc2961cc04adb9",
      "tree": "89871b8ae0e64b3e0ae7d887a4371f1c60328e4a",
      "parents": [
        "a80b3079a3d0ffe2d87d8e7c81b7fe966798729d",
        "439ebbd3492ad3a8b8398fa80b0860baeb50a40e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 09 18:05:43 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 09 18:05:43 2020 +0000"
      },
      "message": "Merge \"Simplify and improve tempnam() and tmpnam().\""
    },
    {
      "commit": "439ebbd3492ad3a8b8398fa80b0860baeb50a40e",
      "tree": "5bcaa629808b35484cefbcda47d91c1dcbc21171",
      "parents": [
        "925431a072737d4c1bbf18f3da7ab24a25486870"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 18:51:42 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 08 22:26:06 2020 -0800"
      },
      "message": "Simplify and improve tempnam() and tmpnam().\n\nThey\u0027re both obsolescent in POSIX.1-2008, and you really shouldn\u0027t be\nusing them, but since we can\u0027t actually delete them...\n\nThis change makes them both obey $TMPDIR if set, and fall back to\n/data/local/tmp otherwise. That\u0027s as good as we\u0027ve managed for anything\nelse such as tmpfile(3).\n\nAlso add some tests.\n\nBug: http://b/174682340\nTest: treehugger\nChange-Id: Ieef99dcc2062f84b2b7cbae046787fdfe975e772\n"
    },
    {
      "commit": "6675ad3227e167c5a408d13c553fad1d180881e0",
      "tree": "c953ea2978f2458de9575af1ebf6d711dd3b9287",
      "parents": [
        "925431a072737d4c1bbf18f3da7ab24a25486870"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 20 16:51:21 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 02 14:36:13 2020 -0800"
      },
      "message": "Add trivial tests for fnmatch(3).\n\nThese cover the parts of fnmatch() that I think I understand. Missing\nFNM_LEADING_DIR because I still haven\u0027t understood that yet. All the\ndescriptions of its behavior that I\u0027ve seen are slightly (or very)\ninconsistent, and it seems like the implementations are genuinely\ndifferent too.\n\nTest: treehugger\nChange-Id: I1284c406639bef1bfe74db3cad45965c8ab29c2b\n"
    },
    {
      "commit": "9eb85bf70ccad3b80a7e9fb25ff1be017e71205d",
      "tree": "21ca8edc983eb615924abbc7e5f75fd35dc7a91e",
      "parents": [
        "7433096f06a22522c1723b6fef71fdea0f5eba96"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 02 13:35:28 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 18 10:24:29 2020 -0800"
      },
      "message": "Change the android_mallopt(M_SET_HEAP_TAGGING_LEVEL) API.\n\n- Make it apply to every thread, and thus remove the restriction\n  that it must be called while the program is single threaded.\n- Make it change TCF0 itself (on all threads), instead of requiring\n  callers to do it themselves, which can be error prone.\n\nAnd update all of the call sites.\n\nChange the implementation of\nandroid_mallopt(M_DISABLE_MEMORY_MITIGATIONS) to call\nandroid_mallopt(M_SET_HEAP_TAGGING_LEVEL) internally. This avoids\ncrashes during startup that were observed when the two mallopts\nupdated TCF0 unaware of each other.\n\nI wouldn\u0027t expect there to be any out-of-tree callers at this point,\nbut it\u0027s worth noting that the new interface is backwards compatible\nwith the old one because it strictly expands the set of situations in\nwhich the API can be used (i.e. situations where there are multiple\nthreads running or where TCF0 hadn\u0027t been updated beforehand).\n\nBug: 135772972\nChange-Id: I7746707898ff31ef2e0af01c4f55ba90b72bef51\n"
    },
    {
      "commit": "8589e0909ca11d27efb51d8044b2da94bc1abab8",
      "tree": "780632a0fdc2d4e507ec8fa8968d54a2717417a5",
      "parents": [
        "6fc751cca894fb496fb5d854260151bf443229ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 10 11:31:51 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 10 11:31:51 2020 -0800"
      },
      "message": "Disable failing test __cxa_demangle#cxa_demangle_fuzz_167977068.\n\nNot sure what the problem is yet, and can\u0027t guarantee I\u0027ll have time to\nlook this week, so let\u0027s disable this for now...\n\nBug: http://b/172465723\nTest: treehugger\nChange-Id: I052c2ed876504581cb89e49f1c65c3232d213eb5\n"
    },
    {
      "commit": "f266f26cb74a469dbfd9a899ebf8b9b92b59868a",
      "tree": "e08aad84c5351b3e5acf46098536a096b9ba3cba",
      "parents": [
        "56f1c406a5d5ac8068b9c0092eada0aae2d7c77d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 05 16:23:39 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 05 16:23:39 2020 -0800"
      },
      "message": "Improve __cxa_demangle#cxa_demangle_fuzz_167977068 diagnostics.\n\nBug: http://b/172465723\nTest: treehugger\nChange-Id: I253a164f95705bd0cebe06483011b08187072691\n"
    },
    {
      "commit": "e9eae5153948ec32abd36dfcbe889c4b1a024515",
      "tree": "91244e3a30a8d4258242873ee7d43bc10c72c453",
      "parents": [
        "718a5fd73e7aa8b1bc5bec9c2d194657653f92e0",
        "de30635eb67282b37454dc0d3f67507feb172967"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Nov 03 22:19:57 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 03 22:19:57 2020 +0000"
      },
      "message": "Merge \"Put __*_ARRAY__ symbols before prioritized init/fini funcs\""
    },
    {
      "commit": "718a5fd73e7aa8b1bc5bec9c2d194657653f92e0",
      "tree": "c8d85dabee9ec329cd9071b67e9b990bd59a8ff4",
      "parents": [
        "0c2350413e809afafc29e428abe5b36b50b5ca97",
        "413817f69cd9ee7b7e46e1e5e9ac6a14b8c15a17"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 03 18:40:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 03 18:40:34 2020 +0000"
      },
      "message": "Merge \"Add a couple of demangler tests.\""
    },
    {
      "commit": "de30635eb67282b37454dc0d3f67507feb172967",
      "tree": "8c9d46b1b7c0c245c33efb14ed919dfec88baae8",
      "parents": [
        "10c2875934c9f47b39c1ffd9a3ecbe63d59f3183"
      ],
      "author": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Fri Oct 23 09:55:33 2020 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Nov 02 17:28:41 2020 -0800"
      },
      "message": "Put __*_ARRAY__ symbols before prioritized init/fini funcs\n\nA constructor or destructor function with an integral priority is\nplaced in an .init_array or .fini_array section with the priority\nsuffixed to the section name:\n - __attribute__((constructor)) \u003d\u003d\u003e .init_array\n - __attribute__((constructor(42))) \u003d\u003d\u003e .init_array.42\n\nThe suffixed init/fini sections appear before the unsuffixed sections,\nso the prioritized functions appeared before the __{INIT,FINI}_ARRAY__\nsymbols and were dropped when the symbols were used.\n\nThe (static) linker doesn\u0027t recognize priority suffixes on\n.preinit_array.\n\nThis bug affected .init_array and .fini_array for static executables.\nFor dynamic executables, only .fini_array was affected, because\n.init_array is handled by the dynamic loader instead, which uses\nDT_INIT_ARRAY[SZ]. For DSOs, neither is affected, because the two\nsections are only handled by the dynamic loader.\n\nThis patch also fixes a minor inconsistency where dynamic init/preinit\nwere passed argc/argv/envp, but static were not.\n\nBug: http://b/170983066\nTest: bionic-unit-tests\nChange-Id: I0fffa776e5d9bdb6f8af06b4c1af148236742fef\n"
    },
    {
      "commit": "413817f69cd9ee7b7e46e1e5e9ac6a14b8c15a17",
      "tree": "fe2f9f64cf8659574924c2a700f09aeafe2e04a3",
      "parents": [
        "9aa6b15d799ac246e842552fca555920a93ce46b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 15:05:35 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 02 20:46:19 2020 +0000"
      },
      "message": "Add a couple of demangler tests.\n\nBug: http://b/152588929\nTest: treehugger\nChange-Id: I4528e464f969e9167d459f292b179d14381d0f2e\n"
    },
    {
      "commit": "7cda75f1d3e147a300d7ff4d690b13e36bff5c5d",
      "tree": "0d4390746ae35c223432964fce5041d3dc280bed",
      "parents": [
        "9aa6b15d799ac246e842552fca555920a93ce46b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 22 13:22:35 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 22 13:22:35 2020 -0700"
      },
      "message": "Add DoNotOptimize and use it in tests.\n\nBug: http://b/148307629\nTest: treehugger\nChange-Id: I3b1726ae55116f6553ea38fe163abdde179c21f0\n"
    },
    {
      "commit": "19f84868f457486b7170c9130c7526bd1c55c849",
      "tree": "86705970ed1ab4748be148108dc967d562b78aee",
      "parents": [
        "dcbc8ec29a148b0a3fdf675d91b77141325a3a36"
      ],
      "author": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Wed Sep 23 21:43:31 2020 -0400"
      },
      "committer": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Thu Oct 15 10:28:19 2020 -0400"
      },
      "message": "Fix bug in finding another thread\u0027s TCB.\n\nChange-Id: I06c86ca0c077b464fc6c9fbdf5b89889a26da5fb\n"
    },
    {
      "commit": "5d3aa86cd1fe2e8b1920003b14b9a0c91153b111",
      "tree": "e17b86fb2a85a913c20d5f91405ef524e7c0c1c8",
      "parents": [
        "4edf74ab1ae2da4bda80d19f4c014e983c74903d"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Sep 11 15:05:17 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Oct 08 14:02:36 2020 -0700"
      },
      "message": "Add an API for per-process disabling memory initialization.\n\nIntroduce an android_mallopt(M_DISABLE_MEMORY_MITIGATIONS) API call\nthat may be used to disable zero- or pattern-init on non-MTE hardware,\nor memory tagging on MTE hardware. The intent is that this function\nmay be called at any time, including when there are multiple threads\nrunning.\n\nDisabling zero- or pattern-init is quite trivial, we just need to set\na global variable to 0 via a Scudo API call (although there will be\nsome separate work required on the Scudo side to make this operation\nthread-safe).\n\nIt is a bit more tricky to disable MTE across a process, because\nthe kernel does not provide an API for disabling tag checking in all\nthreads in a process, only per-thread. We need to send a signal to each\nof the process\u0027s threads with a handler that issues the required prctl\ncall, and lock thread creation for the duration of the API call to\navoid races between thread enumeration and calls to pthread_create().\n\nBug: 135772972\nChange-Id: I81ece86ace916eb6b435ab516cd431ec4b48a3bf\n"
    },
    {
      "commit": "4edf74ab1ae2da4bda80d19f4c014e983c74903d",
      "tree": "779b3fc2615e6c7b0792a51fd61fc7f7089144fd",
      "parents": [
        "897fd6ecb3a7c8964cf50f8926bbaeb6e46449eb"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Oct 02 13:47:03 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Oct 02 15:46:31 2020 -0700"
      },
      "message": "Add an internal struct layout test.\n\nA downstream user of bionic has a test that requires the sizes and\noffsets of various fields in pthread_internal_t to be consistent\nbetween x86 and arm32, and between x86_64 and arm64, by checking that\nthe sizes and offsets match hardcoded constants. Since this test often\nmakes it difficult to update bionic\u0027s internal data structures, add\na test to bionic that does the same thing so that we can remove the\ndownstream test and make it easier to change internal data structures\nin bionic.\n\nChange-Id: Id5bd3f9fae00aa3b50d1b1267e782e26fe6c8369\n"
    },
    {
      "commit": "155901898d61b4914c9d3d2f91e6cf6d837705a8",
      "tree": "fd7dabccd69d18f78b83798939e0a1cbb8e0c0df",
      "parents": [
        "47250aca16be2787c5054f358849cf8cd66c4588",
        "978eb16cd400c67f756fb572a9c4ef54c758cf7a"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Sep 24 21:02:09 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 24 21:02:09 2020 +0000"
      },
      "message": "Merge \"Copy the M_THREAD_DISABLE_MEM_INIT constant value into malloc.h.\""
    },
    {
      "commit": "978eb16cd400c67f756fb572a9c4ef54c758cf7a",
      "tree": "d280b5ecd3cbf32d4c35eac3984622ec88f23228",
      "parents": [
        "f15d33e2f9171213b16f6d59a9823cc298295038"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Sep 21 15:26:02 2020 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 24 17:01:54 2020 +0000"
      },
      "message": "Copy the M_THREAD_DISABLE_MEM_INIT constant value into malloc.h.\n\nThis will allow platform and application developers to use it.\n\nBug: 163630045\nChange-Id: If9a361cb97aaf62d3fa124b60f64d51d609af48d\n"
    },
    {
      "commit": "379ed1ef62d4c3c340e7c92db6f995e014fa308b",
      "tree": "cf09345119b6ae95b57584b6dd0edbc486bced46",
      "parents": [
        "bfb889002bbf70123753fa4fe0f025e8b4039cee"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Sep 17 09:36:25 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Sep 21 10:09:25 2020 -0700"
      },
      "message": "Explicitly add the include path for android_filesystem_config.h\n\nandroid_filesystem_config.h is found since system/core/include is on\nthe include path for all projects and contains a symlink to the real\nandroid_filesystem_config.h.  This is fragile and the below bug seeks\nto remove this symlink and have users correctly depend on\nlibcutils_headers.\n\nIn bionic, libcutils_headers header library cannot be used due to\ncyclic dependencies, so it gets the actual include path instead, which\nis less bad than depending on the build system injecting the for all\nmodules.\n\nBug: 165825252\nTest: build\nChange-Id: Id43bdea9553b1174ceb3efc2a3ed505888619c62\n"
    },
    {
      "commit": "37c5ed3e50d28cba6d419c2e1c63f1ba77cba7c1",
      "tree": "ef9ee894d2f23b7adc4e33613178d4a5caabe689",
      "parents": [
        "66ae134614cbac430d12fde8b6d51cd02ae432a8"
      ],
      "author": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Fri Sep 18 15:09:01 2020 -0700"
      },
      "committer": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Fri Sep 18 15:09:01 2020 -0700"
      },
      "message": "Simplify native bridge skip check\n\nA follow-up to r.android.com/1430136.\n\nTest: CtsBionicTestCases\nBug: None\nChange-Id: I372bc0866b1d286637d3671f82be83cec1027bca\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": "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": "97ba12b9727d9448d68a23e45daf7cae724c975d",
      "tree": "a9acde0f7b6addbdfe0c783131c17c30c1ea17c6",
      "parents": [
        "3459e3fffa1b82d17bdf80123c82dea93b57bd08"
      ],
      "author": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Mon Aug 24 22:31:15 2020 -0400"
      },
      "committer": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Wed Aug 26 21:34:28 2020 -0400"
      },
      "message": "Updated __libc_get_static_tls_bounds test to be more meaningful\n\nChange-Id: I20b8716affd35f940f607d92f761736fba0a66fd\n"
    },
    {
      "commit": "62165a180883889c3bdd5c99fc3bdd91778b0c25",
      "tree": "a771f5fe05336a026519bc8e61bf3f1b3b814f72",
      "parents": [
        "3936985e75eace1adeeb8d64d4c98e737318d284"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Aug 18 01:38:14 2020 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Aug 18 01:40:41 2020 -0700"
      },
      "message": "Cast from const void * -\u003e const char * when using memchr().\n\nbionic/tests/fortify_test.cpp:207:31: error: format specifies type \u0027char *\u0027 but the argument has type \u0027void *\u0027 [-Werror,-Wformat]\n  ASSERT_FORTIFY(printf(\"%s\", memchr(myfoo.a, \u0027a\u0027, asize)));\n                         ~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nBug: http://b/155835175\nTest: atest for bionic\nChange-Id: I0fa4e63deadffb7391e66ab834ff11e4f1d6dba6\n"
    },
    {
      "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": "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": "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": "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": "6900a09fe7db47acbf995b09ef79c17417d121c3",
      "tree": "7a0c403ea6b69f86383943c033360212976d0096",
      "parents": [
        "eebb1ec687cb162c02b74fe5f409f88b53773ae5",
        "2e71c17778021dc0c87d2e4590a637f6919e5431"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 06 22:23:50 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 06 22:23:50 2020 +0000"
      },
      "message": "Merge \"Trivial strxfrm coverage improvement.\""
    },
    {
      "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": "2e71c17778021dc0c87d2e4590a637f6919e5431",
      "tree": "a248c9d5de6dda67147d20b00121344b34f7baa0",
      "parents": [
        "0f4bdb04fb4b803bbf19850c86cc9270d64a06b9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 06 13:53:40 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 06 13:53:40 2020 -0700"
      },
      "message": "Trivial strxfrm coverage improvement.\n\nTest: treehugger\nChange-Id: I450bd3324c3f0f8ab95cecebe0f57dc85acc2996\n"
    },
    {
      "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": "aff9a34bd8bb7b4d92a4cebd64a710e36ac0b3ca",
      "tree": "a95c7679349a7017a5b1b808394404ad843a2173",
      "parents": [
        "95dbcfaf045edfb17c48fd3e46fe2e3a278dc148"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Aug 03 15:29:12 2020 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Aug 03 16:17:00 2020 -0700"
      },
      "message": "Rename linker greylist to exempt-list\n\nUpdate a comment in android-changes-for-ndk-developers.md about the\nremoved debug.ld.greylist_disabled system property.\n\nUpdate language to comply with Android\u0027s inclusive language guidance\n\n  #inclusivefixit\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\nBug: http://b/162536543\nTest: bionic-unit-tests\nChange-Id: I760ee14bce14d9d799926c43d2c14fd8ffbc6968\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": "cab794c22fc86153588572aac615c537348772e8",
      "tree": "55bfeae8770348f39fb6a902e73accd162cb4899",
      "parents": [
        "9c6d60d073db079a87fbeb5de3e72ac12838a480"
      ],
      "author": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Mon Jun 15 18:22:10 2020 -0400"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Jul 28 19:01:00 2020 -0700"
      },
      "message": "Move prebuilt library dependencies of bionic-unit-tests to Blueprint\n\nTest: atest CtsBionicTestCases\nTest: m bionic-unit-tests \u0026\u0026 adb sync data \u0026\u0026 \\\n  adb shell /data/nativetest[64]/bionic-unit-tests/bionic-unit-tests\nChange-Id: I94b1eacfe496375853a476bd6c6702d09cfdbcce\n"
    },
    {
      "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": "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": "9c6d60d073db079a87fbeb5de3e72ac12838a480",
      "tree": "37dd49f12858826e924ada9f79801bf3942769ca",
      "parents": [
        "a83577ab1320045de5376ae24e6f26c38f13478d",
        "15027e048f96e8f0d21ec31dee1248460f074c31"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jul 24 22:10:28 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 24 22:10:28 2020 +0000"
      },
      "message": "Merge \"Specify sections to merge in segment_gap_outer.lds more precisely\""
    },
    {
      "commit": "15027e048f96e8f0d21ec31dee1248460f074c31",
      "tree": "eb7ecbaafe7d351d97e9ee937274e793030f380b",
      "parents": [
        "a96099e13068278e54afa637c088496d56c85b62"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 23 19:35:49 2020 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jul 24 10:57:48 2020 -0700"
      },
      "message": "Specify sections to merge in segment_gap_outer.lds more precisely\n\nhttps://reviews.llvm.org/D75225 changed the way that orphan sections are\nretained, breaking this test. The test relied on these sections being\nmerged in an implementation-defined order that no longer holds true. We\ncan use custom sections to place the symbols we want more precisely.\n\nBug: http://b/161943302\nTest: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter\u003ddlfcn.segment_gap --no_isolate\nChange-Id: I65656080e39be16833191cb92d3d4c41e409b216\n"
    },
    {
      "commit": "613334b3029234f84753556cf1349dccec943ca0",
      "tree": "7af2587912d58defb9d0708feb579a5d45ba5da8",
      "parents": [
        "6ba173a3f66341e06b8f90e60fd7eea25cb8da54",
        "cfd8f581fabdc88ec836c3b0804b0493a8b20ab8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 24 10:28:07 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 24 10:28:07 2020 +0000"
      },
      "message": "Merge \"Cleanup for #inclusivefixit.\""
    },
    {
      "commit": "cfd8f581fabdc88ec836c3b0804b0493a8b20ab8",
      "tree": "b27292e87a89d9f2f2fa73d1a78e8ae6caa96970",
      "parents": [
        "c79ea239415963d4a38752d0f3efe50531c8e04f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 23 13:40:39 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 23 13:41:53 2020 -0700"
      },
      "message": "Cleanup for #inclusivefixit.\n\nThe comment and pragma for GCC genuinely don\u0027t seem to be needed for\nClang.\n\nClarify the comment about the two ways in which clang_fortify_tests.cpp\nis used.\n\nTest: treehugger\nChange-Id: Icb48a5848c005104ab2d2456da3978bbaf7e158c\n"
    },
    {
      "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": "0f6b504e0c682e7c3d377416dacfe57b6c59f1b8",
      "tree": "17d7c6644768550c95ca128f9df4ec0ea49184d3",
      "parents": [
        "a96099e13068278e54afa637c088496d56c85b62"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Jul 20 15:52:06 2020 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Jul 20 15:52:06 2020 -0700"
      },
      "message": "Remove stack address check in cfi_basic test.\n\nThis is not actually a property that is guaranteed by the bionic\nimplementation of CFI shadow. Since the gaps between libraries are not\ncompletely inaccessible, it is possible for a stack mapping to sneak in,\nwhich would cause the callback to register in the test library.\n\nThis is not a correctness issue in CFI as the actual __cfi_check\ncallback will reject such address anyway, at a small CPU cost.\n\nBug: 156218352\nTest: CtsBionicTestCases-cfi_test#basic\nChange-Id: I8d04fb7132e1eac2a8abfbc48a37c8eac6e25a09\n"
    },
    {
      "commit": "b9fa04d805912d58d920ccd1a7af77daf81293e7",
      "tree": "b477bb49353e0881addd5941ac3e13ab48deb6d5",
      "parents": [
        "b5f301eaafdc23f05fe5558fb0406a0ab04fc807"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Jul 10 10:40:21 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Jul 10 10:42:16 2020 -0700"
      },
      "message": "Don\u0027t test pw_shell for old vendor images\n\nR GSI on P product tests fail since pw_shell has changed.  This value\nhas no practical use on Android, so we ignore testing it for older\nvendor images.\n\nBug: 160937247\nTest: this test does/doesn\u0027t run appropriately\nChange-Id: Ie485bd019b3826e71ad19131effcbb002f888d52\n"
    },
    {
      "commit": "ed51fb9a078aa57bc0e8a1c8a71f69275f00edf9",
      "tree": "bd1e8142d54f1bb5acc49f3ca1a7c214ac9e5b30",
      "parents": [
        "cd1c8b0e84ccd08d636b134a3adb405c6d1443fc"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jun 22 18:49:16 2020 +0200"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jun 22 18:49:16 2020 +0200"
      },
      "message": "Skip MTE tests with native_bridge\n\nWith native_bridge, native and emulated parts exchange data, including\npointers. If tagging on native architecture is different from tagging on\nemulated architecture, all the pointers in the data exchange must be\nidentified and marshalled, which is hardly feasible.\n\nDisable MTE tests with native_bridge.\n\nBug: 135772972\nBug: 159352723\nTest: bionic-unit-tests --gtest_filter\u003d*mte*\nChange-Id: Icba90636173e9e71036def5302c7d0a09dd8873b\n"
    },
    {
      "commit": "071416b700c9b53d3a7c8b70b573a3f415f63f42",
      "tree": "759f7fdbfe19bcbc07de9c2f30329bcdaabed066",
      "parents": [
        "2dced5bfbb389cdde31276c1ea7646c201668066"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jun 05 16:50:10 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 12 12:22:32 2020 -0700"
      },
      "message": "Use PROT_NONE on the unused parts of CFI shadow.\n\nThis replaces a single 2Gb readable memory region with a bunch of tiny\nregions, and leaves the bulk of 2Gb mapped but unaccessible. This makes\nit harder to defeat ASLR by probing for the CFI shadow region.\n\nSample CFI shadow mapping with this change:\n7165151000-716541f000 ---p 00000000 00:00 0                              [anon:cfi shadow]\n716541f000-7165420000 r--p 00000000 00:00 0                              [anon:cfi shadow]\n7165420000-71654db000 ---p 00000000 00:00 0                              [anon:cfi shadow]\n71654db000-71654dc000 r--p 00000000 00:00 0                              [anon:cfi shadow]\n71654dc000-71654dd000 r--p 00000000 00:00 0                              [anon:cfi shadow]\n71654dd000-71654f0000 ---p 00000000 00:00 0                              [anon:cfi shadow]\n71654f0000-71654f1000 r--p 00000000 00:00 0                              [anon:cfi shadow]\n71654f1000-71e5151000 ---p 00000000 00:00 0                              [anon:cfi shadow]\n\nThis change degrades CFI diagnostics for wild jumps and casts (i.e. when\nthe target of a CFI check is outside of any known library bounds). This\nis acceptable, because CFI does not have much to tell about those cases\nanyway. Such bugs will show up as SEGV_ACCERR crashes inside\n__cfi_slowpath in libdl.so from now on.\n\nBug: 158113540\nTest: bionic-unit-tests/cfi_test.*\nTest: adb shell cat /proc/$PID/maps | grep cfi\n\nChange-Id: I57cbd0d3f87eb1610ad99b48d98ffd497ba214b4\nMerged-In: I57cbd0d3f87eb1610ad99b48d98ffd497ba214b4\n"
    },
    {
      "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": "15cbad3f59b822e972e31b06ebaf45e806f165f2",
      "tree": "3b7e45469fe6eeb0391405bdea3e344b79e442d5",
      "parents": [
        "b1a25295463196ef66014098f878d46a8ea7b175",
        "b4f7aaac5cdda45ff0d9dc58e1fd2d727601f619"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jun 09 19:38:23 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 19:38:23 2020 +0000"
      },
      "message": "Merge \"Skip pthread.pthread_create__mmap_failures with native_bridge\""
    },
    {
      "commit": "45b36c2921c8d5986820d4c07864c7366ad7efd6",
      "tree": "7c4fd3cdbb47c66ac85e42fd70484a39c379b30b",
      "parents": [
        "b56d1182d1067e70910584cf0c8fd797a262d82a"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jun 08 21:19:12 2020 +0200"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jun 09 19:24:25 2020 +0200"
      },
      "message": "Skip pthread_leak* tests with native_bridge\n\nBug: 37920774\nBug: 157394871\nTest: bionic-unit-tests --gtest_filter\u003d*leak*\nChange-Id: Ifc5b66e4b640d1abae4dcf8dbc28612d24c7e972\n"
    },
    {
      "commit": "b4f7aaac5cdda45ff0d9dc58e1fd2d727601f619",
      "tree": "076085acae14debf227f485292a48f1965f89be1",
      "parents": [
        "b56d1182d1067e70910584cf0c8fd797a262d82a"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jun 09 15:49:20 2020 +0200"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jun 09 15:58:49 2020 +0200"
      },
      "message": "Skip pthread.pthread_create__mmap_failures with native_bridge\n\nThe test reserves all memory but the minimum required to create a\nthread. However, after the thread is created, native_bridge needs more\nmemory to translate and run the thread function.\n\nThis might be prevented by native_bridge preallocating a memory buffer\nto be used for translation. But, first, this complication seems to be\nneeded just for this kind of tests, and, second, it is pretty flaky\nregarding changes both in native_bridge and bionic.\n\nLooks better to disable this test with native_bridge.\n\nBug: 67745607\nBug: 148608153\nBug: 157394871\nTest: bionic-unit-tests --gtest_filter\u003dpthread.pthread_create__mmap_failures\nChange-Id: I42ce2b5a01a7d9f10d952a5fc7b75d51fa89072a\n"
    },
    {
      "commit": "b56d1182d1067e70910584cf0c8fd797a262d82a",
      "tree": "c648dd02c9428904e993dd0ccb83653e8fa11d11",
      "parents": [
        "9f2e171900f08c1b1099a8b5c5842856e5fbb987"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jun 08 21:12:56 2020 +0200"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jun 08 21:12:56 2020 +0200"
      },
      "message": "Add util to skip tests with native_bridge\n\nBug: 37920774\nBug: 157394871\nTest: bionic-unit-tests\nChange-Id: Id949c9e568fd068daaf405a377813ee1480c2df7\n"
    },
    {
      "commit": "7ce3f2cb39deb3d4bb881a4f52dcfe5260a14099",
      "tree": "c3f5f86c95e9374f28844a3172045521a9ff4ceb",
      "parents": [
        "b13650d7877d7159a0c9fafcb91b546b28f1381a",
        "208fdd1963bfaa2a149e09a63fcf08b8c870e060"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 06 03:51:46 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 06 03:51:46 2020 +0000"
      },
      "message": "Merge \"Trivial test for difftime(3).\""
    },
    {
      "commit": "208fdd1963bfaa2a149e09a63fcf08b8c870e060",
      "tree": "dbdbea330325ac046711be751857f162a5f585a6",
      "parents": [
        "700f753c50971a573bfd84cf7d64483b94fcfe2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 05 17:19:00 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 05 17:19:00 2020 -0700"
      },
      "message": "Trivial test for difftime(3).\n\npirama made me do this.\n\nTest: treehugger\nChange-Id: I0cf4466e494d92c96802e763b99346f7517bf3d7\n"
    },
    {
      "commit": "6a642f7760597c0f1e3bddc6f3ac9e96d5b0e39a",
      "tree": "379bed74b87dda23fdc1c021c4962f489fa5f943",
      "parents": [
        "b300aea97bf46ee4202128be50b070c275902d7b",
        "cb4a7c81e0d001bf9e62962bdf1f35ce5a831009"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 01 18:43:33 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 01 18:43:33 2020 +0000"
      },
      "message": "Merge \"Add newline at end of error message\""
    },
    {
      "commit": "cb4a7c81e0d001bf9e62962bdf1f35ce5a831009",
      "tree": "73df6f15a709b4c6a0897e5e8d7bcdf2fc6d3f86",
      "parents": [
        "f76ef3669002e802bad2bd04225b89ae5ee9d862"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Sat May 30 16:46:20 2020 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Sat May 30 16:46:20 2020 -0700"
      },
      "message": "Add newline at end of error message\n\nSo the message gets flushed before the following abort.\n\nTest: bionic-unit-tests without bionic-loader-test-libs at the expected\n      relative path shows the error message.\nChange-Id: I53bb27a88b73c9d8f4bb76560752f99a104d71ca\n"
    },
    {
      "commit": "cacda52a0ae3b03afc8ebcc4d880009da977cba9",
      "tree": "64d8a73172aacd017fa231f20c9865913fb50f23",
      "parents": [
        "071d071646b636cb4a9e1549f9b47e056359515f",
        "b8cd7e7f587d6157c547bbcd8d03374d71fdb3dc"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Wed May 20 16:01:53 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 20 16:01:53 2020 +0000"
      },
      "message": "Merge \"Revert \"Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish\"\""
    },
    {
      "commit": "54e502e66a374ea07b92182437414fa611dacf12",
      "tree": "08383feef4b9e1c4ba038a0fb270b29e6e673b20",
      "parents": [
        "57a1c3908ff5a2e427f5d45992d0b463fd71b87a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon May 18 12:59:27 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon May 18 12:59:38 2020 -0700"
      },
      "message": "Revert \"Temporarily disable FdsanTest.vfork.\"\n\nThis reverts commit b4cbff351f5d3ea5aad56483a68531b59f9fc1aa.\n\nBug: http://b/156400255\nTest: none\nChange-Id: I3a936542ccff8989b4671f3e03dd9d1d5559d6ff\n"
    },
    {
      "commit": "b8cd7e7f587d6157c547bbcd8d03374d71fdb3dc",
      "tree": "f5177cdcc13fea6ecf9b36cb305ebf69c4862f5a",
      "parents": [
        "01790fdc6928a34125f092bbf98e9217a2251fa5"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Fri May 15 16:21:39 2020 +0000"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Fri May 15 22:01:00 2020 +0000"
      },
      "message": "Revert \"Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish\"\n\nThis reverts commit 01fb8d7120d51cbb65de177f3ed95094549cf094.\n\nReason for revert: Re-land the test after fixing b/156397945\n\nBug: 156397945\nChange-Id: Ie9ec5fef7a308e28d512c6438c5c06758bdbcf06\n"
    },
    {
      "commit": "11f92fe9b979edb9e74b9fd3e14e90be24a7f7ff",
      "tree": "13032f56e4828bec0f7904d5743f3a37b873bec4",
      "parents": [
        "75c8868a42a0159ecb8619c09626b31f8582994a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 14 16:46:33 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 14 16:48:44 2020 -0700"
      },
      "message": "Remove reference to deprecated option.\n\nTest: atest CtsBionicTestCases\nChange-Id: Ib23bb8dd1bac5f84d73516fd74a41bd9a81ca2da\n"
    },
    {
      "commit": "b4cbff351f5d3ea5aad56483a68531b59f9fc1aa",
      "tree": "fc1fbdbf6be20f6d6d64188cc517a7640aa7d7bd",
      "parents": [
        "f76ef3669002e802bad2bd04225b89ae5ee9d862"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue May 12 14:01:11 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue May 12 15:17:02 2020 -0700"
      },
      "message": "Temporarily disable FdsanTest.vfork.\n\nBug: http://b/156400255\nTest: none\nChange-Id: I48e09e0ea84742933bea88d009f8ff0bffacfdc3\n"
    },
    {
      "commit": "01fb8d7120d51cbb65de177f3ed95094549cf094",
      "tree": "00f7df0bce7d80b8624d1027234ac1fd8208f917",
      "parents": [
        "e3bc50d44f40c311ad0dcb380f8d0d1f6a7b231b"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue May 12 11:07:54 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 12 10:10:32 2020 +0000"
      },
      "message": "Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish\n\nBug: 156315785\nTest: atest CtsBionicTestCases\nChange-Id: I6d61a2dcf55ebf67587ccf2653af3aca493b022d\n"
    },
    {
      "commit": "e3bc50d44f40c311ad0dcb380f8d0d1f6a7b231b",
      "tree": "9c584c41f7bd2ae33e50be448a72c340648629c0",
      "parents": [
        "10bad3e882f50985b6984fe7cb5ac6f52d233b1a",
        "41291131284471eed7cb6c22cac8b442fd3d1c52"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 12 07:04:58 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 07:04:58 2020 +0000"
      },
      "message": "Merge changes If42905f3,Id351a993,I8a082fd0\n\n* changes:\n  fdtrack: don\u0027t do anything while vforked.\n  fdsan: don\u0027t do anything when vforked.\n  Track whether a thread is currently vforked.\n"
    },
    {
      "commit": "10bad3e882f50985b6984fe7cb5ac6f52d233b1a",
      "tree": "0ec707e7ce4c07eba2aa2c42d1e38da7918f14f2",
      "parents": [
        "262ff01d2b39829965d64e299bc8827c2c4da570",
        "f248d2de848ecccc75b3ec7af6b463578cbe611a"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Mon May 11 11:37:06 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 11 11:37:06 2020 +0000"
      },
      "message": "Merge \"Move libicuuc.so into com.android.i18n module.\""
    },
    {
      "commit": "41291131284471eed7cb6c22cac8b442fd3d1c52",
      "tree": "2c3d0a4a905545d3c15f17089e1ab818b7f2c7a4",
      "parents": [
        "65fb2a7f0304fda4463771ae40f8b83728e74a62"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 19:43:38 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 20:18:45 2020 -0700"
      },
      "message": "fdtrack: don\u0027t do anything while vforked.\n\nBug: http://b/153926671\nTest: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator\nChange-Id: If42905f3d6a76ed70a45e5b9edd029ffd7789045\n"
    },
    {
      "commit": "65fb2a7f0304fda4463771ae40f8b83728e74a62",
      "tree": "2b3a11bb6360757e2cb8d8c8be9bc151e7664728",
      "parents": [
        "230328374018c7ca4e82a47ff4eb91dd2f79a5c3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 19:40:14 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 20:18:40 2020 -0700"
      },
      "message": "fdsan: don\u0027t do anything when vforked.\n\nBug: http://b/153926671\nTest: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator\nChange-Id: Id351a993e396774b68239edfef83d9e81205290b\n"
    },
    {
      "commit": "230328374018c7ca4e82a47ff4eb91dd2f79a5c3",
      "tree": "c607e4accae1eb4fd8b72cd22cd69e4a3308fe6b",
      "parents": [
        "4d0c40be89976f4713eb54957327306033bcbc07"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 17:02:19 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 19:44:27 2020 -0700"
      },
      "message": "Track whether a thread is currently vforked.\n\nOur various fd debugging facilities get extremely confused by a vforked\nprocess closing file descriptors in preparation to exec: fdsan can\nabort, and fdtrack will delete backtraces for any file descriptors that\nget closed. Keep track of whether we\u0027re in a vforked child in order to\nbe able to detect this.\n\nBug: http://b/153926671\nTest: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator\nChange-Id: I8a082fd06bfdfef0e2a88dbce350b6f667f7df9f\n"
    },
    {
      "commit": "f248d2de848ecccc75b3ec7af6b463578cbe611a",
      "tree": "6587a06d682f7463d5e0e339ab9f5c79f4f9a75a",
      "parents": [
        "95c00dcf0bb3cae35a199efcb93b81092983c151"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed May 06 21:05:03 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu May 07 23:15:01 2020 +0000"
      },
      "message": "Move libicuuc.so into com.android.i18n module.\n\nChange the location set in the linker\n\nBug: 130219528\nBug: 138994281\nTest: atest CtsBionicTestCases\nTest: atest CtsJniTestCases\nChange-Id: I215a8e023ccc4d5ffdd7df884c809f8d12050c8f\n"
    }
  ],
  "next": "144a6ab3414f231660e1473ed353c3cf116a91a6"
}
