)]}'
{
  "log": [
    {
      "commit": "2a9843fe63a33a5dfa0d02b32dbdd90b2cac617d",
      "tree": "b246efbfb231c2cfb88550f8314e2bc752196ec2",
      "parents": [
        "fdced95e45f21d2b63d2d3416c59bbcaf0735c7a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 13 12:26:30 2022 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 03 16:25:21 2022 -0800"
      },
      "message": "Export bionic\u0027s execinfo functions to musl\n\nMusl doesn\u0027t provide the execinfo function.  Export the from bionic.\n\nBug: 190084016\nTest: m USE_HOST_MUSL\u003dtrue host-native\nChange-Id: I0361b84b0160d419cd857f5bb1314a58d0a69234\n"
    },
    {
      "commit": "e62be7eea5cdf40e5f4417173f1acf8ce98bf0a0",
      "tree": "7bab4ca910127fec826673d8d1648380cdc0ea97",
      "parents": [
        "4a85b045fd6c218141d55b9dd44ec5220ba0b674",
        "1ff7be0713f25a6dae81303acceddfc82e1c835e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 14 19:45:54 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 14 19:45:54 2022 +0000"
      },
      "message": "Merge \"Don\u0027t use LLVM when readelf(1) will do.\""
    },
    {
      "commit": "1ff7be0713f25a6dae81303acceddfc82e1c835e",
      "tree": "ee7c25945b301983858fa0240e843e3130b272c6",
      "parents": [
        "c79b02088b0cc46f13a6c2391526761aa2d49c54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 13 15:43:23 2022 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 13 15:46:13 2022 -0800"
      },
      "message": "Don\u0027t use LLVM when readelf(1) will do.\n\nThis was probably the least worst choice at the time, but we have toybox\nreadelf now, which is a much lighter-weight dependency (that we already\nhave for some other tests).\n\nThis is also one less use of the *renderscript* LLVM, which we\u0027ll be\nwanting to finally delete soon.\n\nTest: treehugger\nChange-Id: I0e05b8f139ec6e6a425b575368f3d514b8b1cc64\n"
    },
    {
      "commit": "db358e6ae1412cf8760e2751a38f1daad86b223a",
      "tree": "50aa031ac747715e6ef6e0d0c96e3dd4310cb9ac",
      "parents": [
        "c79b02088b0cc46f13a6c2391526761aa2d49c54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 12 09:15:46 2022 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 12 09:15:46 2022 -0800"
      },
      "message": "Don\u0027t use llvm-defaults to build some tests.\n\nIt\u0027s not clear this was ever needed, it doesn\u0027t seem to make any\ndifference now, and these are the defaults for the obsolete renderscript\nLLVM anyway, so... yeah.\n\nThis was noticed because it was causing some of our tests to be built as\nC++11 rather than [the current default of] C++17.\n\nTest: treehugger\nChange-Id: I7d72b3fd58e9cf9a02048b0298eee845d19307f7\n"
    },
    {
      "commit": "d8854293d1894bc60c2164de11127a66e07fcd56",
      "tree": "42b5a706c5012e84a7b856f629c6a868108aa16f",
      "parents": [
        "dc4b3789e61e9514d0c32e99c1d6c5569a39e287",
        "b952a77e703a53c33760ce3f4e43c62a14b6c186"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Oct 23 12:47:26 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 23 12:47:26 2021 +0000"
      },
      "message": "Merge \"Workaround Clang cannot build ifunc with LTO\""
    },
    {
      "commit": "b952a77e703a53c33760ce3f4e43c62a14b6c186",
      "tree": "d4ebcc2941e28259e1dd6070503cd9cb1deb1839",
      "parents": [
        "af2340a515ddb5bd640ac6244ce5dd1c3e49effc"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Oct 21 17:31:35 2021 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Oct 21 14:19:48 2021 +0000"
      },
      "message": "Workaround Clang cannot build ifunc with LTO\n\nThis is a KI: https://bugs.llvm.org/show_bug.cgi?id\u003d46488\n\nBug: 203737712\nTest: m GLOBAL_THINLTO\u003dtrue bionic-unit-tests-static\nChange-Id: I950a85f9676136299fc994a800d32e20bf12a8dd\n"
    },
    {
      "commit": "11526e2fc607624dbb8bd4acf2ffdd3a187e9c02",
      "tree": "d2ea11e8eec68b7f022ec5d8482072fa3860a374",
      "parents": [
        "a3c6e7030c128fbcb060ddbd6e89cf5ad2b95d05"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 14 22:44:47 2021 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Oct 20 21:53:07 2021 +0000"
      },
      "message": "Add execinfo functionality.\n\nBug: 27877410\n\nTest: Add new unit tests.\nChange-Id: Id5d7eb27a23f50e99a04f5ee1ab64047ba269bab\n"
    },
    {
      "commit": "0cc60afa33c50b4f4c9079528531bddedf278622",
      "tree": "4db2ca6269d0be90d66ee8bd4586a98a6f1199dd",
      "parents": [
        "badcb38d3c039b7f60e16917e7e5a368c82ed210"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 30 14:04:39 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 01 09:25:36 2021 -0700"
      },
      "message": "Add more tests to TEST_MAPPING\n\nTest: treehugger\nChange-Id: I1d7dd32fd7f90a20d61de4701293527f83dc4ec4\n"
    },
    {
      "commit": "badcb38d3c039b7f60e16917e7e5a368c82ed210",
      "tree": "3d54e11eba58165df67391c09e83428a570335b3",
      "parents": [
        "b47aa42a1122546930628e8d36fe483f9c0a16b1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 24 17:49:58 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 30 14:04:27 2021 -0700"
      },
      "message": "Convert bionic dlext test zips to Android.bp\n\nUse cc_genrules to create the dlext test zips needed by the bionic\ntests.  The genrules aren\u0027t visible to Make, and so don\u0027t work with\nthe `required` property.  Move all of the dependencies to `data_bins`,\n`data_libs` or `data` for helper binaries, shared libraries or\ngenrule zip files respectively.  The `data*` properties copy the\nfiles into the same directory as a test, respecting the\n`bionic-loader-test-libs` relative path specified by each, but\ndoes not put each helper binary in its own subdirectory, so update\nthe paths in each of the tests.\n\nBug: 200872604\nTest: atest CtsBionicTestCases\nTest: atest bionic-unit-tests\nTest: cts-tradefed run commandAndExit cts -m CtsBionicTestCases\nTest: adb push $OUT/data/nativetest/bionic-unit-tests /data/nativetest/ \u0026\u0026 adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests\nChange-Id: Ic4257cb4104ff558326df2363730acd20464b051\n"
    },
    {
      "commit": "4c5595c968a1cf2211edfb2817009af6d5bc0522",
      "tree": "1bf81f53721d1fab5f1bd0cbe6c2e1d5c6274616",
      "parents": [
        "14d15076199992f71997a1147f41bdfc2fd192ef"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Aug 16 15:51:59 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Aug 16 16:44:24 2021 -0700"
      },
      "message": "Replace local MUSL define with global ANDROID_HOST_MUSL\n\nBug: 190084016\nTest: m USE_HOST_MUSL\u003dtrue bionic-unit-tests-glibc\nChange-Id: I56b23576cb24912112d2ae56d8ecc2e3716982fe\n"
    },
    {
      "commit": "7da20341e91a4ece30f628fb91fbc6056c9c8a7c",
      "tree": "51db1cace0a75ac9e33aef1efb36e3f1d6832c67",
      "parents": [
        "4c92da431155174c6bfef91c227fe34becb340c0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 28 11:18:11 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 12 11:13:11 2021 -0700"
      },
      "message": "Build bionic unit tests for musl\n\nModify bionic unit tests that are built for glibc so that they also\nbuild against musl.  They don\u0027t all pass though:\n\nWith glibc:\n 2 SLOW TESTS\n 4 TIMEOUT TESTS\n313 FAILED TESTS\n  YOU HAVE 2 DISABLED TESTS\n\nWith musl:\n11 SLOW TESTS\n11 TIMEOUT TESTS\n363 FAILED TESTS\n  YOU HAVE 2 DISABLED TESTS\n\nBug: 190084016\nTest: m bionic-unit-tests-glibc with musl\nTest: atest bionic-unit-tests-static\nTest: atest --host bionic-unit-tests-glibc with glibc\nChange-Id: I79b6eab04fed3cc4392450df5eef2579412edfe1\n"
    },
    {
      "commit": "4408b8abb0feb5c58648e448dc7bd7134a1cf92c",
      "tree": "99995a389826675b0e483f91ef56c5041f63a041",
      "parents": [
        "695af0da30a37cb7e105c40811656a22a898536c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 29 22:45:34 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jul 30 09:39:58 2021 -0700"
      },
      "message": "Enable posix strerror_r test in glibc\n\nWork around the incompatibility between libc++ and !_GNU_SOURCE\nby defining a wrapper function around the posix strerror_r in\na file that does not include any libc++ or gtest headers.\n\nTest: bionic-unit-tests-glibc\nChange-Id: I6b097079777b5dcd802e295cc566964fe1c01382\n"
    },
    {
      "commit": "141b917018048c5fda567785740dfaaf38e66f1e",
      "tree": "144416c96d8e3d1406ed78d8221a72a174317d80",
      "parents": [
        "999d82e51d8b96c622ecb63c69b56e7e7753e47d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 09 17:13:09 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 12 10:01:20 2021 -0700"
      },
      "message": "Switch to libbase SilentDeathTest.\n\nBug: http://b/184955378\nTest: treehugger\nChange-Id: Ie0849224074da92203340a741a86a24a4a3702c2\n"
    },
    {
      "commit": "3de19151e508e14654a2d3204d9981c514f1c93a",
      "tree": "0b3131941af3ac9b58af130097a92774d1cdcd0b",
      "parents": [
        "14851abce9d6b46140760d9e73c43a8b045bc24e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 22 18:09:48 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Feb 25 13:55:12 2021 -0800"
      },
      "message": "Add wrappers for pidfd_{open,getfd,send_signal}.\n\nBug: http://b/172518739\nTest: `/data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter\u003d\"*pidfd*\"` on blueline\nChange-Id: Ibae32bbedbcf26535a80a5cbfb55ce180906b610\n"
    },
    {
      "commit": "aa7d835fdd739881a907ac5c8a89a5dae01f6089",
      "tree": "d85b4086e7cd0aedd28a071d5e1899f62b73695d",
      "parents": [
        "d29cac66b426d59afd7ce7da9519b6d43f5df0cc"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 19 13:06:22 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 19 23:38:28 2021 +0000"
      },
      "message": "Add LOCAL_LICENSE_KINDS to bionic\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apex/Android.bp\n  libdl/Android.bp\n  tools/Android.bp\n  tools/versioner/Android.bp\n  tools/versioner/src/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  benchmarks/Android.bp\n  benchmarks/linker_relocation/gen/Android.bp\n  libc/malloc_debug/Android.bp\n  libc/system_properties/Android.bp\n  tests/Android.bp\n  tests/libs/Android.bp\n  tests/libs/Android.build.dlext_testzip.mk\n  tests/make_fortify_compile_test.mk\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-ISC SPDX-license-identifier-MIT\n    legacy_notice legacy_unencumbered\nto:\n  libc/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT legacy_unencumbered\nto:\n  libm/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 legacy_unencumbered\nto:\n  libc/tools/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  benchmarks/linker_relocation/Android.bp\n  benchmarks/spawn/Android.bp\n  libc/async_safe/Android.bp\n  libc/malloc_hooks/Android.bp\n  libfdtrack/Android.bp\n  linker/Android.bp\n  tests/headers/Android.bp\n  tests/headers/posix/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Ib05bcaa276b3aa71a7654ccbe8e67e1f16aec9f3\n"
    },
    {
      "commit": "5e44c22ebf717d59423803e9f9e4aff586fee72f",
      "tree": "0f1e1eac8db14d78a10e31b7d2b97fcc92a5b40f",
      "parents": [
        "48d43034d7b5a419ba56f052856696d53a7bd979"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 20:02:47 2021 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 20:02:47 2021 +0000"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to bionic\"\n\nThis reverts commit 48d43034d7b5a419ba56f052856696d53a7bd979.\n\nReason for revert: bionic is multiple projects, not just one.\n\nChange-Id: Ib31e1bb8888cc85c6e7736c4e2a1d4652fd23935\n"
    },
    {
      "commit": "48d43034d7b5a419ba56f052856696d53a7bd979",
      "tree": "4a958f90512dcd1cec534d0dbdb1de4ebb6a8678",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:51:24 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:51:24 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to bionic\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  libdl/Android.bp\n  tools/versioner/src/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  benchmarks/Android.bp\n  libc/malloc_debug/Android.bp\n  libc/system_properties/Android.bp\n  linker/Android.bp\n  tests/Android.bp\n  tests/libs/Android.bp\n  tests/libs/Android.build.dlext_testzip.mk\n  tests/make_fortify_compile_test.mk\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-ISC SPDX-license-identifier-MIT\n    legacy_notice legacy_unencumbered\nto:\n  Android.bp\n  libc/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-ISC SPDX-license-identifier-MIT\n    legacy_unencumbered\nto:\n  tools/Android.bp\n  tools/versioner/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT legacy_unencumbered\nto:\n  libm/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 legacy_unencumbered\nto:\n  libc/tools/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  benchmarks/linker_relocation/Android.bp\n  benchmarks/spawn/Android.bp\n  libc/async_safe/Android.bp\n  libc/malloc_hooks/Android.bp\n  libfdtrack/Android.bp\n  tests/headers/Android.bp\n  tests/headers/posix/Android.bp\n\nAdded legacy_notice\nto:\n  apex/Android.bp\n  benchmarks/linker_relocation/gen/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I76cad00578b9b99180ee5dd1e04b4646d5c5fedf\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "144a6ab3414f231660e1473ed353c3cf116a91a6",
      "tree": "8d56d7d05fd58ce4e543347a90c81dfd8a163a50",
      "parents": [
        "e413ce902d6a28ac3d2fc53f8d3f7244f8edbc79",
        "d3060019de533cc1e1ccf444c80b37ebb3490c9f"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu May 07 17:51:51 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 07 17:51:51 2020 +0000"
      },
      "message": "Merge \"Introduce a new heap tagging level, M_HEAP_TAGGING_LEVEL_SYNC.\""
    },
    {
      "commit": "d3060019de533cc1e1ccf444c80b37ebb3490c9f",
      "tree": "0b8b45a1b6e7e4ec4a92bdf5c1bb2c8ed5752dcf",
      "parents": [
        "514faf92c82ca4f88e4a58f771ff5e393ceec317"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Apr 01 19:54:48 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue May 05 13:28:16 2020 -0700"
      },
      "message": "Introduce a new heap tagging level, M_HEAP_TAGGING_LEVEL_SYNC.\n\nThe SYNC tagging level enables stack trace collection for allocations and\ndeallocations, which allows allocation and deallocation stack traces to\nappear in tombstones when encountering a tag check fault in synchronous tag\nchecking mode.\n\nBug: 135772972\nChange-Id: Ibda9f51b29d2c8e2c993fc74425dea7bfa23ab1e\n"
    },
    {
      "commit": "a276343e141d03828f4916bd0e9934543ed3d5cf",
      "tree": "3a06e78c617262b47e3546759892e893142b34bd",
      "parents": [
        "d20571efe184fcc779a547cfbedec248a82ae759"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 23 16:47:19 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 29 18:14:11 2020 +0100"
      },
      "message": "Reland \"Make bionic_platform_headers available only for Bionic targets\".\n\nThe triggering reason for this change is that the SDK snapshot\ngeneration cannot readily handle header libraries that are required for\ntargets that the SDK itself isn\u0027t available for. However, these include\nfiles shouldn\u0027t be used without Bionic anyway.\n\nRelanding unchanged - the build problem was due to a split topic.\n\nTest: m checkbuild (on aosp_taimen)\nTest: m (on aosp_taimen_hwasan)\nTest: atest CtsBionicTestCases\nTest: lunch fvp-userdebug \u0026\u0026 mmm bionic\nBug: 152255951\nChange-Id: Iaf49597ea265e6f2a042de5ee873238073b2e545\n"
    },
    {
      "commit": "ed95d0134d323fcad28117edc31ff69921aee1fd",
      "tree": "33706e30b06cb4228697f91adf26a1f0f38852d2",
      "parents": [
        "249f726583050004cfff03d0cc7cdc4212994bdd"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 29 12:14:09 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 29 12:18:36 2020 +0000"
      },
      "message": "Revert \"Make bionic_platform_headers available only for Bionic t...\"\n\nReason for revert: Breaks rvc-d1-dev-plus-aosp: http://ab/6443190\nReverted Changes:\nIde447b89a:bionic_libc_platform_headers is only available whe...\nIa93cd3ec8:bionic_libc_platform_headers is only available whe...\nIcdc495588:Make bionic_platform_headers available only for Bi...\nIdfd7c87dc:bionic_libc_platform_headers is only available whe...\n\nBug: 152255951\nBug: 155269399\nChange-Id: I214f1165bb0a7e59d3b35a13b3cceb1965be922b\n"
    },
    {
      "commit": "249f726583050004cfff03d0cc7cdc4212994bdd",
      "tree": "ea9f3bc73b189f40ec81a1cb05ee652ffc35f96e",
      "parents": [
        "1d9ccdfb1a8395078a2e6834ebe3e6454b85de65"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 23 16:47:19 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 27 19:07:01 2020 +0100"
      },
      "message": "Make bionic_platform_headers available only for Bionic targets.\n\nThe triggering reason for this change is that the SDK snapshot\ngeneration cannot readily handle header libraries that are required for\ntargets that the SDK itself isn\u0027t available for. However, these include\nfiles shouldn\u0027t be used without Bionic anyway.\n\nTest: m checkbuild (on aosp_taimen)\nTest: m (on aosp_taimen_hwasan)\nTest: atest CtsBionicTestCases\nTest: lunch fvp-userdebug \u0026\u0026 mmm bionic\nBug: 152255951\nChange-Id: Icdc49558893c5355860f78d23275c49ba0119900\n"
    },
    {
      "commit": "3c5dff4b1dc1143527201cfc2ab72e0139af715f",
      "tree": "3edc3e87c6913f1f4195c4953cd02cae4cfdebd1",
      "parents": [
        "df3dc8039d350c17b88e1a91a5ff443f4cb890cc"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Mar 31 17:34:03 2020 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Mar 31 17:34:03 2020 -0700"
      },
      "message": "Explain why unit tests need bootstrap bionic\n\nThe question of why the unit tests need the bootstrap bionic came up\nwhile I was working on http://b/152572170.\n\nTest: none\nChange-Id: I08651200e2193c6ea4d3a734b59f022d69e5f154\n"
    },
    {
      "commit": "ca885cf249f96cd70b39a8f3e7032279ed092b59",
      "tree": "d4f21874e75d8f96ef106ab2ba0be61e6c28721a",
      "parents": [
        "2ec66b6a6a9e320cb80afc6ecd33310cc8cd9d9b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 27 17:04:30 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 27 17:04:30 2020 -0700"
      },
      "message": "Remove bionic-unit-tests-scudo.\n\nThis is not used at all any more since we\u0027ve switched to scudo.\n\nTest: Builds.\nChange-Id: Iff0b7d4a5ea12103a68ad038de2d82bf5f864285\n"
    },
    {
      "commit": "140220bd232bf886b5862fcb735ded7ddae59735",
      "tree": "0ab2c162f8e8517813fd329d973a8b89aa498aad",
      "parents": [
        "bd6a5570bb1921f82599cdc7dd887befbed90a5c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Mar 12 17:09:38 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 00:18:42 2020 +0000"
      },
      "message": "Disable branch protection for arm64.\n\nThis causes failures in signal handler tests, because it looks like clang\ndoesn\u0027t understand how to enable the stack protection in a signal handler.\nClang winds up scribbling on the real stack.\n\nBug: 149934069\nBug: 151372823\n\nTest: Ran all unit tests on bonito/taimen and the signal handler tests pass.\nChange-Id: If73f55e7505b6d7f35b340be0b03c798b21e2829\n"
    },
    {
      "commit": "afa983c8d44400d45c1f0e2b8e90a8be04acf6f7",
      "tree": "f0fc789f6d271b57058cff9518f44793db175f92",
      "parents": [
        "1a1888f801e1efc4232a3e709d959232659af0c6"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Feb 04 15:46:15 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Mar 06 21:04:32 2020 -0800"
      },
      "message": "Rewrite __cxa_atexit / __cxa_finalize\n\nSimplify:\n - Use a single memory-mapped region to hold the table of destructors.\n   Double its capacity each time it is expanded.\n - Add a recompaction pass at the end of __cxa_finalize that shifts\n   entries forward and uses madvise to clean pages.\n\nBug: http://b/148055738\nTest: bionic-unit-tests\nChange-Id: Ieb9da2b88640a8a5277d217b43826b5b7e246781\n"
    },
    {
      "commit": "d901ec69644db8458d987af257dd78d724b4a0ae",
      "tree": "b7d99b3e4114a56b3f9edaf77176c299d88aeb60",
      "parents": [
        "6cf75230d9feae269a823c7dd43433baf1b71465"
      ],
      "author": {
        "name": "Tamas Petz",
        "email": "tamas.petz@arm.com",
        "time": "Tue Feb 25 11:25:48 2020 +0100"
      },
      "committer": {
        "name": "Tamas Petz",
        "email": "tamas.petz@arm.com",
        "time": "Thu Feb 27 12:58:13 2020 +0100"
      },
      "message": "[unit tests] Add \u0027-mbranch-protection\u003dstandard\u0027 flag to arm64\n\nThis change adds standard branch protection to bionic unit tests\nfor arm64 targets. For more information see\nhttps://developer.arm.com/search#q\u003dbranch-protection\n\nBoth Armv8.3-A Pointer Authentication (using the A-key) hint-space\ninstructions and Armv8.5-A Branch Target Identification hint-space\nlanding pads are added to the generated code.\n\nTest: 1. Tested on flame\n      2. Tested on FVP\n\nChange-Id: Ice991c538a9101448dea64c357f3f6bfb93877eb\n"
    },
    {
      "commit": "c5d9036f80d0361a5ad711ab9047ba5747145c02",
      "tree": "a045be6afb94bee06d36e28ecceb5c1c9331f38e",
      "parents": [
        "fcbdba22ab1c84825bd1e4cd18f8298c87991a5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 09:52:14 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 09:52:14 2020 -0800"
      },
      "message": "Make the HWCAP/HWCAP2 constants available from \u003csys/auxv.h\u003e.\n\nNoticed by ARM when adding BTI support to the linker.\n\nTest: treehugger\nChange-Id: If3b87d0bd4682ff478b7805251fc9a88a7f439f9\n"
    },
    {
      "commit": "f7c40da307be6a9cbe2287306d9b7c25f16bb09b",
      "tree": "1668d082d974bde3fd646f0b9e26a61630560b5b",
      "parents": [
        "2968695188152dbdc7529e56d6acbe4f77cbd2b4",
        "22fa3dde076bf6dbe432acdbede7693d0544564e"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Feb 04 21:46:15 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 04 21:46:15 2020 +0000"
      },
      "message": "Merge changes from topic \"import-lib-access\"\n\n* changes:\n  Ignore symbols of imported libs\u0027 dependencies\n  Comment two linker namespace functions\n  Rename dlsym_handle_lookup:6 to dlsym_handle_lookup_impl\n"
    },
    {
      "commit": "22fa3dde076bf6dbe432acdbede7693d0544564e",
      "tree": "4a4b6aac84b51fb871d2e924703f50186e32165e",
      "parents": [
        "e503383c92e89190a59508e741dcdc62491c7269"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 31 14:47:48 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Feb 03 14:20:40 2020 -0800"
      },
      "message": "Ignore symbols of imported libs\u0027 dependencies\n\nWhen a library is present in a namespace via the secondary_namespaces\nlist (i.e. the executable, LD_PRELOAD, DF_1_GLOBAL, or\nandroid_create_namespace inheritance), then we want to search that\nlibrary\u0027s symbols, but not the symbols of its dependencies. Otherwise,\nwe want to search the dependencies to handle cross-NS dependency.\n\nBug: http://b/148569846\nTest: bionic unit tests\nChange-Id: If798d69de28ed5c0f1a155e4ff85c7e08934e531\n"
    },
    {
      "commit": "5f45c18a7fd77a1a9daf453c6dea9fceddf0184c",
      "tree": "0d37e47fa38981e5f895a290c3d09a834b60abd4",
      "parents": [
        "bdb678c9bdad161d033b236f261ba1cb299fada2"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jan 14 17:59:41 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Feb 03 10:30:45 2020 -0800"
      },
      "message": "Add an android_unsafe_frame_pointer_chase function.\n\nThis function will be used by Scudo and GWP-ASan to efficiently collect\nstack traces for frames built with frame pointers.\n\nBug: 135634846\nBug: 135772972\nChange-Id: Ic63efdbafe11dfbb1226b5b4b403d53c4dbf28f3\nMerged-In: Ic63efdbafe11dfbb1226b5b4b403d53c4dbf28f3\n"
    },
    {
      "commit": "4fe5b783a46fced8fa355a5a9a187528eecde3cc",
      "tree": "087b02d08e29a405f11df52e6e4c5e49291eea7a",
      "parents": [
        "bd2ac8d33510df712087fcb3317f7a6b4654e3b1",
        "6f1fd6881756504780095baf9fd7f835eb0396f7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 31 00:00:44 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 31 00:00:44 2020 +0000"
      },
      "message": "Merge \"Add some MTE-related helpers.\""
    },
    {
      "commit": "97271920bf831610819ddfa44e4e2cc0815afd6e",
      "tree": "0ba61ad31242b38becb89cab8702df68328a1e71",
      "parents": [
        "7ef4c774da59bbf942b5652b1f68e46cac2e5099"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 06 13:15:00 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Add a tool to track down fd leaks.\n\nAdd a hook that\u0027s called upon file descriptor creation to libc, and a\nlibrary that uses it to capture backtraces for file descriptor creation,\nto make it easier to hunt down file descriptor leaks.\n\nCurrently, this doesn\u0027t capture all of the ways of creating a file\ndescriptor, but completeness isn\u0027t required for this to be useful as\nlong as leaked file descriptors are created with a function that is\ntracked. The primary unhandled case is binder, which receives file\ndescriptors as a payload in a not-trivially-parsable byte blob, but\nthere\u0027s a chance that the leak we\u0027re currently trying to track down\nisn\u0027t of a file descriptor received over binder, so leave that for\nlater.\n\nBug: http://b/140703823\nTest: manual\nChange-Id: I308a14c2e234cdba4207157b634ab6b8bc539dd9\n(cherry picked from commit b7eccd4b1577c101132e52d4a5313d5322dcae2d)\n"
    },
    {
      "commit": "6f1fd6881756504780095baf9fd7f835eb0396f7",
      "tree": "b0486912f68f2830d90c8705545eb37f2b00aaad",
      "parents": [
        "58f3cba940963796442181646ab30b836f61b6be"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Jan 29 16:27:31 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 30 10:56:50 2020 -0800"
      },
      "message": "Add some MTE-related helpers.\n\nmte_supported() lets code efficiently detect the presence of MTE, and\nScopedDisableMTE lets code disable MTE RAII-style in a particular region\nof code.\n\nBug: 135772972\nChange-Id: I628a054b50d79f67f39f35d44232b7a2ae166afb\n"
    },
    {
      "commit": "09e77f35ab8d291bf88302bb9673aaa518c6bcb0",
      "tree": "8cd94a94db1ab872266022a3ad2b746d0b215e36",
      "parents": [
        "945001da54637082fb30ea2a8bc50beb24442ffa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 19:20:45 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 19:36:14 2020 -0800"
      },
      "message": "_FILE_OFFSET_BITS\u003d64 support for fcntl.\n\nOn Android, fcntl is always implemented by fcntl64(2). This means that\nan LP32 binary can `fcntl(F_SETLK, struct flock)` (because fcntl64(2)\npasses through to the 32-bit fcntl(2) to handle F_SETLK), and it can\nalso `fcntl(F_SETLK64, struct flock64)`. What it can\u0027t do before this\npatch is set _FILE_OFFSET_BITS\u003d64 and then `fcntl(F_SETLK, struct\nflock)` where that `struct flock` is actually implicitly `struct\nflock64`.\n\nMove the kernel uapi structs out of the way, define them ourselves based\non __LP64__ and _FILE_OFFSET_BITS, and fix up the relevant F_ constants.\n\n(Also add a .clang-format to turn off clang-format in libc/include/.)\n\nBug: N/A\nTest: treehugger (and strace!)\nChange-Id: Iccd6c83d9133e1efcf93a7b49a6ae0f1bbd3d58b\n"
    },
    {
      "commit": "6dd1f587c8d354c011a51748c587d3fab55b1b50",
      "tree": "9dbf923ce484396c44e8db7cd1d733fa94962b2b",
      "parents": [
        "a2132f23b8056f00d46e67db03d257d4bce2881a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 28 12:18:35 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 28 17:59:23 2020 -0800"
      },
      "message": "Test all four supported relocation encodings.\n\nTest (a) that we can load the library, but also (b) that readelf thinks\nit contains the relocation encoding we were expecting. Do this for all\nfour of RELR, ANDROID_RELR, relocation packer, and the original ELF\nrelocation encoding.\n\nBug: http://b/147452927\nTest: treehugger\nChange-Id: I5fab72f99d46991c1b206a1c15c76e185b7148b3\n"
    },
    {
      "commit": "6663f5525dafc31de1891d7e0fa6da88c4c7dc4b",
      "tree": "20be89b877823e6c2c3521037aa4a21f6bcb0345",
      "parents": [
        "5b9cc3144239511ec9062a3ff47dc20202848388"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 14:36:10 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 15:39:01 2020 -0800"
      },
      "message": "Modernize SHT_RELR support.\n\nUntil now we\u0027ve only supported RELR with our own OS-private-use\nconstants. Add support for the official numbers (while maintaining\nsupport for the historical numbers).\n\nAdd tests to ensure we continue to support both indefinitely.\n\nWe can\u0027t yet flip the build system over to using the official constants\nbecause the old GNU binutils objcopy we still use in most cases (for the\nmini-debug section) only supports the historical constants.\n\nBug: http://b/147452927\nTest: treehugger\nChange-Id: If214fce7fade4316115947e90b78ab40864b61f2\n"
    },
    {
      "commit": "3b21ada5f1bd98b337143ee5d5baba7373bfdbb1",
      "tree": "7e5bf3c1ae9008eccc61f7f6eefef9b0039af1b5",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jan 07 15:47:47 2020 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Jan 23 10:37:24 2020 -0800"
      },
      "message": "Add tagged pointers to bionic.\n\nThis patch introduces tagged pointers to bionic. We add a static tag to\nall pointers on arm64 compatible platforms (needs requisite\ntop-byte-ignore hardware feature and relevant kernel patches).\n\nWe dynamically detect TBI-compatible devices (a device with the TBI feature and\nkernel support) at process start time, and insert an implementation-dependent\ntag into the top byte of the pointer for all heap allocations. We then check\nthat the tag has not been truncated when deallocating the memory.\n\nIf an application incorrectly writes to the top byte of the pointer, we\nterminate the process at time of detection. This will allow MTE-incompatible\napplications to be caught early.\n\nBug: 135754954\nBug: 147147490\n\nTest: cd bionic \u0026\u0026 atest .\nChange-Id: Ie424325ba1e3c4443040ac265aeaa28d9e405d28\n"
    },
    {
      "commit": "ce4c42e09fb9039df7c6a5b7306119279a694897",
      "tree": "13e38338ea7bc859b295b923be6a7acd73edbebc",
      "parents": [
        "43d5f9d4dd83d15a859d9be1359c4a4a47381fea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 21 13:56:21 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 21 13:57:26 2020 +0000"
      },
      "message": "Revert \"Add tagged pointers to bionic.\"\n\nThis reverts commit 43d5f9d4dd83d15a859d9be1359c4a4a47381fea.\n\nBug: 135754954\nBug: 147147490\n\nExempt-From-Owner-Approval: clean revert\n\nReason for revert: Breaks ART gtest, see:\nhttps://ci.chromium.org/p/art/builders/ci/angler-armv8-non-gen-cc/561\n\nThe crash happens on mprotect of a page, the test crashes with ENOMEM.\n\nChange-Id: I52eea1abbfaf8d8e2226f92d30aa55aba3810528\n"
    },
    {
      "commit": "43d5f9d4dd83d15a859d9be1359c4a4a47381fea",
      "tree": "95339c5cb5d055b8fd2b216b46e6264180c4fc36",
      "parents": [
        "d2b8149ddad8b21ce535fb02ff752c85c7aa9d43"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jan 07 15:47:47 2020 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 15 15:03:00 2020 -0800"
      },
      "message": "Add tagged pointers to bionic.\n\nThis patch introduces tagged pointers to bionic. We add a static tag to\nall pointers on arm64 compatible platforms (needs requisite\ntop-byte-ignore hardware feature and relevant kernel patches).\n\nWe dynamically detect TBI-compatible devices (a device with the TBI feature and\nkernel support) at process start time, and insert an implementation-dependent\ntag into the top byte of the pointer for all heap allocations. We then check\nthat the tag has not been truncated when deallocating the memory.\n\nIf an application incorrectly writes to the top byte of the pointer, we\nterminate the process at time of detection. This will allow MTE-incompatible\napplications to be caught early.\n\nBug: 135754954\nBug: 147147490\n\nTest: cd bionic \u0026\u0026 atest .\nChange-Id: I6e5b809fc81f55dd517f845eaf20f3c0ebd4d86e\n"
    },
    {
      "commit": "8a0cdb15a1f6bbce41dcb185237f8723e6b101fd",
      "tree": "7db1fcdfcc891d33d32c8add93efdb6d6131420b",
      "parents": [
        "2a8bca749533dcefabff497d4f7346a35601a702"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 21 13:27:57 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Nov 19 14:20:26 2019 -0800"
      },
      "message": "fortify: allow diagnostics without run-time checks (attempt #2)\n\nIn configs like ASAN, we can\u0027t use _chk functions. This CL builds off of\nprevious work to allow us to still emit diagnostics in conditions like\nthese.\n\nWasn\u0027t 100% sure what a good test story would look like here. Opinions\nappreciated.\n\nBug: 141267932\nTest: checkbuild on internal-master. TreeHugger for x86_64.\nChange-Id: I65da9ecc9903d51a09f740e38ab413b9beaeed88\n"
    },
    {
      "commit": "f359548bf1cf41e1f5390276e84e259cbbf30667",
      "tree": "a840aea69c0f9c489dcfbccd7cc8d09988684d2a",
      "parents": [
        "d7e11b88531665de59de466bbc9ee6c480b00a4f"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Nov 07 07:07:38 2019 +0000"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Nov 07 07:07:38 2019 +0000"
      },
      "message": "Revert \"fortify: allow diagnostics without run-time checks\"\n\nThis reverts commit d7e11b88531665de59de466bbc9ee6c480b00a4f.\n\nReason for revert: Breaks aosp_x86_64-eng. Will look into it and\nunbreak when it\u0027s not almost midnight. :)\n\nChange-Id: I21f76efe4d19c70d0b14630e441376d359a45b49\n"
    },
    {
      "commit": "d7e11b88531665de59de466bbc9ee6c480b00a4f",
      "tree": "a116d542b1ed00e4b12d72a30814d0c0df95e529",
      "parents": [
        "c430451205f78579c4f795b4339a81692a97f4d8"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 21 13:27:57 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Nov 01 16:25:55 2019 -0700"
      },
      "message": "fortify: allow diagnostics without run-time checks\n\nIn configs like ASAN, we can\u0027t use _chk functions. This CL builds off of\nprevious work to allow us to still emit diagnostics in conditions like\nthese.\n\nWasn\u0027t 100% sure what a good test story would look like here. Opinions\nappreciated.\n\nBug: 141267932\nTest: checkbuild on internal-master\nChange-Id: I8d4f77d7b086a8128a18a0a0389243d7fa05b00f\n"
    },
    {
      "commit": "ee0ce440fd7571923b2d2446b9bde9f3328ba14b",
      "tree": "b366dd3d714843cfbe6960d2886a2f6e875094f5",
      "parents": [
        "9da992c2714205a7644c3b2f2aaaa0627e061914"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 21 12:35:05 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 22 22:49:06 2019 +0000"
      },
      "message": "Add bionic-stress-tests.\n\nI plan to add tests to this test binary that take a long time to run.\n\nThe first is a malloc test that demonstrates that jemalloc appears\nto be leaking memory slowly over time.\n\nTest: Ran the bionic-stress-tests on host and verified it runs forever,\nTest: but doesn\u0027t display RSS/VSS data.\nTest: Ran the bionic-stress-tests on a taimen and verified it runs forever,\nTest: and does display RSS/VSS data.\nChange-Id: Ic612e4181ffea898d4d83af097939cd517a180ee\n"
    },
    {
      "commit": "2da8962f77d938e9cee4e2fb7b43471a46a627f7",
      "tree": "68b7403ce1f9ef56e09339b490f6a6ed896fbf35",
      "parents": [
        "7e5db5bfcde0cd3f0d6b9f8340282a4b8666c8bd",
        "bf67ea54267fc07d3dd528ead69767b27af61e80"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 22 11:56:24 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 22 11:56:24 2019 -0700"
      },
      "message": "Adapt tests due to the new Clang fortify-source warning\nam: bf67ea5426\n\nChange-Id: I997e180413e9f647ca6671ce23ef6e6618cd806e\n"
    },
    {
      "commit": "bf67ea54267fc07d3dd528ead69767b27af61e80",
      "tree": "20f4ab84465259473bdc31a1c8a7b78b2abe7f8a",
      "parents": [
        "fd56f554190bfa1ad8c58bc0d8cae14510864973"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Aug 03 18:26:05 2019 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Aug 05 11:48:47 2019 -0700"
      },
      "message": "Adapt tests due to the new Clang fortify-source warning\n\nhttps://reviews.llvm.org/D58797 added several new compile time\n_FORTIFY_SOURCE diagnostics. This broke clang_fortify_tests:\n\nFAILED: out/target/product/walleye/obj/STATIC_LIBRARIES/bionic-compile-time-tests2-clang++_intermediates/clang_fortify_tests.o\nerror: \u0027warning\u0027 diagnostics seen but not expected:\n  Line 159: \u0027memcpy\u0027 will always overflow; destination buffer has size 8, but size argument is 9\n  Line 161: \u0027memmove\u0027 will always overflow; destination buffer has size 8, but size argument is 9\n  Line 165: \u0027memset\u0027 will always overflow; destination buffer has size 8, but size argument is 9\n  Line 183: \u0027strncpy\u0027 size argument is too large; destination buffer has size 8, but size argument is 9\n  Line 185: \u0027stpncpy\u0027 size argument is too large; destination buffer has size 8, but size argument is 9\n  Line 189: \u0027strncat\u0027 size argument is too large; destination buffer has size 8, but size argument is 9\n  Line 227: \u0027strncpy\u0027 size argument is too large; destination buffer has size 4, but size argument is 5\n  Line 232: \u0027stpncpy\u0027 size argument is too large; destination buffer has size 4, but size argument is 5\n  Line 242: \u0027strncat\u0027 size argument is too large; destination buffer has size 4, but size argument is 5\n  Line 490: \u0027snprintf\u0027 size argument is too large; destination buffer has size 8, but size argument is 9\n  Line 495: \u0027vsnprintf\u0027 size argument is too large; destination buffer has size 8, but size argument is 9\nerror: \u0027note\u0027 diagnostics seen but not expected:\n  File bionic/libc/include/bits/fortify/fcntl.h Line 50: \u0027open\u0027 has been explicitly marked unavailable here\n  File bionic/libc/include/bits/fortify/fcntl.h Line 102: \u0027open64\u0027 has been explicitly marked unavailable here\n  File bionic/libc/include/bits/fortify/fcntl.h Line 75: \u0027openat\u0027 has been explicitly marked unavailable here\n  File bionic/libc/include/bits/fortify/fcntl.h Line 121: \u0027openat64\u0027 has been explicitly marked unavailable here\n  File bionic/libc/include/bits/fortify/stdio.h Line 68: \u0027sprintf\u0027 has been explicitly marked unavailable here\n16 errors generated.\n\nBug: 131328001\nBug: 138701853\nTest: Build with r365631 toolchain\nChange-Id: I103ecb7b3abcf4b5cfc4f36ccab69e03d0976275\n"
    },
    {
      "commit": "63b261096b43c3c9b91f1887bdd63656f541a005",
      "tree": "c5b0a1617cddbec931f3f9514e6226cdbf0ce3d5",
      "parents": [
        "cb36ca412f9926ee2f726caab627c03c2dca8273",
        "7d961a16e9f86c2d91ae48c6ba8093ed97a88656"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Jul 10 10:23:53 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 10 10:23:53 2019 -0700"
      },
      "message": "Merge \"Remove unused dependency to libandoridicu\"\nam: 7d961a16e9\n\nChange-Id: I415fd796093c80fd8964546ebdccca52ff7764e2\n"
    },
    {
      "commit": "29fbf6fdd222dcc323f94d93c4fa40c99df0c442",
      "tree": "7e74ca052c25e845b992537f0985e62babeaa6bc",
      "parents": [
        "78977053a715113c9a0d0d7f44193025e4c1312e"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Jul 10 15:50:29 2019 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Jul 10 15:50:29 2019 +0200"
      },
      "message": "Remove unused dependency to libandoridicu\n\nTest: mmma -j42 bionic/\nChange-Id: I6049dbea5a55523758649370396a6a5bfb09462f\n"
    },
    {
      "commit": "8934620ceb754ae71a581f17280a5a3a000625dd",
      "tree": "7ceb564eee3f0f98e203e22f6ca4f77fd6dad7e8",
      "parents": [
        "00fa86bc2df8b9039b2a16aa708e0ab45e77983a",
        "39cc17bb4705e53107e89c683858b1fe9107d5da"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jun 20 14:03:25 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 20 14:03:25 2019 -0700"
      },
      "message": "Merge changes I557309b3,If5f47e0e am: 3bdeae781f\nam: 39cc17bb47\n\nChange-Id: I506872bb5b1e155255a29e3400fa5365adc5d0fc\n"
    },
    {
      "commit": "63c81d16350e203b8e0a3628ee52574b4ba2ada9",
      "tree": "75d4058fa20e977e9b7591bba8a11fe7b25a7239",
      "parents": [
        "bf75fba984cce34a72fb2d6af1243a86053a907f",
        "7b850f443765a716da0b7bc6bc8e32e4f46f9b9b"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 18 11:28:08 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 18 11:28:08 2019 -0700"
      },
      "message": "Merge changes I80475ff4,I894aec99 am: 1b297b9e5a\nam: 7b850f4437\n\nChange-Id: I5f40826cc5170fed4cce67a1bd30be054a9bb159\n"
    },
    {
      "commit": "26d25a22e27fff4c23669d0dd66e3a09d869857d",
      "tree": "011652aa9deaa56d906ec40c46046af980443883",
      "parents": [
        "8c0ec114c58a76efcc1c195a03a36675b0967e39"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jun 06 17:45:05 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jun 13 23:26:02 2019 -0700"
      },
      "message": "fortify: add even more warnings\n\nBug: 131861088\nTest: mma\nChange-Id: I557309b3e25b54321ee1fe0207f18b6e840bf76e\n"
    },
    {
      "commit": "77f99aaf58b944b23f2cfb38fce08a98feabe93f",
      "tree": "ddcadad346c394fa7d1d7b15d488e988e5feaaf0",
      "parents": [
        "1eb5976d7505f299754040e19792a0de94abccbc"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jun 06 14:14:52 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jun 13 23:26:02 2019 -0700"
      },
      "message": "fortify: add diagnostics for str* functions\n\nThis CL allows us to diagnose string functions that get an explicit size\npassed into them, and string functions that are trivially misused.\n\nBug: 131861088\nTest: mma\nChange-Id: I894aec99420a75c6474cfd7d5010f0cf2f10ab21\n"
    },
    {
      "commit": "5bfadfef0eb87d3656ad430bfbe3ac4c6717de2c",
      "tree": "523909dcce96acfc2ef976d81c311dac3d32c0d0",
      "parents": [
        "dd8e6be005cb9ebc61b39e6c152b394fdcfa8d2b",
        "74946ef407cef257620b99a2b055e928b03693a2"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jun 13 13:41:57 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 13 13:41:57 2019 -0700"
      },
      "message": "Merge \"fortify: import tests from Chrome OS\" am: 9894ec4596\nam: 74946ef407\n\nChange-Id: I29e1ee1fedd7c59904d99c96e77287b17c196d38\n"
    },
    {
      "commit": "9a2741010a93bfa08cc03e8d92c20c47d7e65abc",
      "tree": "9bf61dd85fff4981603b991e74ac3c6d86c1abab",
      "parents": [
        "b8dace7339b1ef6a5dcaa0384947a287a0f9cf20"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 04 15:39:52 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Jun 10 12:46:49 2019 -0700"
      },
      "message": "fortify: import tests from Chrome OS\n\nChrome OS has a fairly extensive FORTIFY test suite for both\ncompile-time and run-time diagnostics. It covers tons of edge cases, and\nconveniently centralizes diagnostic and death testing.\n\nA fair amount of it has been ifdef\u0027ed out, since Bionic doesn\u0027t yet\ndiagnose (or crash on) some of these things. The intent is to explicitly\ndeclare defeat on the things we don\u0027t care to FORTIFY, and slowly fix\nthe rest in easier-to-digest CLs.\n\nOnce that\u0027s done, we might be able to look into retiring some of the\nFORTIFY testing that we don\u0027t share with the CrOS folks.\n\nBug: 131861088\nTest: mma + bionic-unit-tests on blueline\n\nChange-Id: I16734ea0769e03cf658ef10532d64f28fdb36a89\n"
    },
    {
      "commit": "dfde0eeee169f4a7e28f91e6f0d2902cc6d9ecc0",
      "tree": "49ec307ef79ee3641dd10ac811dba5f7fa127a64",
      "parents": [
        "cfede4fdd1f98549a933c48622d6866c0afeaae6"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed May 01 14:26:13 2019 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu May 30 16:49:13 2019 +0000"
      },
      "message": "Change SANITIZE_TARGET refs from \u0027coverage\u0027 to \u0027fuzzer\u0027.\n\nCleanup of references to \u0027coverage\u0027 in build files. Part of a larger\ncleanup to make fuzzing work again in the Android build tree.\n\nAlso fixed a test issue with emulated TLS with the new changes, and\nremoved libc.so fuzzer support until a linked bug is fixed\n(b/132640749).\n\nBug: 121042685\nTest: With all patches in the bug merged: mmma bionic\nChange-Id: I592352fe9210ff811a2660a88cbbfe48d70a1e57\nMerged-In: I592352fe9210ff811a2660a88cbbfe48d70a1e57\n"
    },
    {
      "commit": "2f1bdef5fb8c1dc468fe535678db0ea99674c64e",
      "tree": "fbf06b75a8413e92c71d4785ab8602d093baab86",
      "parents": [
        "11d3fdd8d6cc051ef0b54b211dba1e93af0906a4"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed May 01 14:26:13 2019 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue May 28 15:44:18 2019 -0700"
      },
      "message": "Change SANITIZE_TARGET refs from \u0027coverage\u0027 to \u0027fuzzer\u0027.\n\nCleanup of references to \u0027coverage\u0027 in build files. Part of a larger\ncleanup to make fuzzing work again in the Android build tree.\n\nAlso fixed a test issue with emulated TLS with the new changes, and\nremoved libc.so fuzzer support until a linked bug is fixed\n(b/132640749).\n\nBug: 121042685\nTest: With all patches in the bug merged: mmma bionic\n\nThis is the qt-dev-plus-aosp cherrypick of aosp/954684. See the AOSP\ncommit for further information.\n\nChange-Id: I592352fe9210ff811a2660a88cbbfe48d70a1e57\n"
    },
    {
      "commit": "18e111caf9c30623bc9926fd7f84a58c46bbd624",
      "tree": "50d93b8dc10329a6956d44ffe447637fe329a534",
      "parents": [
        "9cc0dad542086cbf5e323860ca742e54ef753833",
        "c67f59fd159e71842c8001d4ff9efe2110da5803"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu May 09 15:34:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 09 15:34:42 2019 -0700"
      },
      "message": "Merge \"tests: use clang\u0027s -verify instead of FileCheck\" am: af68f04e44\nam: c67f59fd15\n\nChange-Id: If74a631fca9b73a470ae178e41062f296885cd9a\n"
    },
    {
      "commit": "db48e0c8223021c22241ba7b3716fe36062ebc02",
      "tree": "ec18cd4af3016ea74f3fa5bdc73f38cfb79ece98",
      "parents": [
        "1eb6d36ba8666dace9a6f0c1db354750b331bf24"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu May 02 16:23:31 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Sat May 04 11:53:12 2019 -0700"
      },
      "message": "tests: use clang\u0027s -verify instead of FileCheck\n\nClang uses this for its own diagnostic tests. The nice feature it adds\nhere is that it fails if clang emits a diagnostic that we don\u0027t expect\n(and we get to drop a dependency on FileCheck).\n\nThis also tweaks and renames file-check-cxx to reflect its new job.\n\nBug: 131861088\nTest: mma\nChange-Id: I77f7ce77869edaa23e2401e622ad7007d2fee06c\n"
    },
    {
      "commit": "9082f4fd7336ab207b8a6d2d8c053e3ec6e15e67",
      "tree": "efe15b70e743cf12fb61229730c43d0aca01b8fa",
      "parents": [
        "6ffb9384fc7eb92f20219ac72f82660d0fcc7cb7",
        "3716c5320da86b63218f0b70a61ca2173352195e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 24 14:01:38 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 24 14:01:38 2019 -0700"
      },
      "message": "Merge \"threads.h: Add C11 thread support.\" am: 8c3140a612\nam: 3716c5320d\n\nChange-Id: Ia843e59dbfa88d30a6f885bafdbb251323748c08\n"
    },
    {
      "commit": "420671135237cdf40c98d2336fb8712b7f0a2861",
      "tree": "c4d85a256eb46c8aa1a00a1675ac31f60498e313",
      "parents": [
        "30bcaae2b6bcdeadd42066fe5b6f5a49bd5b9b07"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 18 14:27:24 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 24 09:12:29 2019 -0700"
      },
      "message": "threads.h: Add C11 thread support.\n\nFreeBSD, glibc, and musl have all implemented C11 threads at this\npoint. POSIX is looking at how to align with it. Probably time to jump\non the bandwagon ourselves...\n\nImplemented in the same style as \u003ctermios.h\u003e so we can provide this\nfunctionality even on older API levels. This does mean that this is\nstrictly more expensive than calling pthread functions directly.\n\nAlthough this isn\u0027t in POSIX yet, assume that it\u0027s going to be basically\nthe same as C11 and add the header test anyway. We should revisit this\nwhen POSIX actually adds \u003cthreads.h\u003e.\n\nTest: new tests\nChange-Id: I8602d67ce71ca7f8ed1529daa0a8ea1feb083dd6\n"
    },
    {
      "commit": "1701d887aca0374c000a018a974227064e77d769",
      "tree": "f2ce14c90ebd07dde2d9909ed726684834cc2ae4",
      "parents": [
        "93ea8569495d35c83ff6ef06292159c9056c6cc2",
        "8868d9e9004b4fa2d8139abaaff1baa21ea55dab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 05 16:45:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 05 16:45:49 2019 +0000"
      },
      "message": "Merge \"Move platform-private symbols out of libdl.so\""
    },
    {
      "commit": "74ce129f902d61dd3f29a47be5e1855f2b9c4124",
      "tree": "ca7f5c144cb7a101959eba502eca41bfa71dad51",
      "parents": [
        "2fb7b814b087b116542bee9b76c42a1d8829f9bc",
        "55615c7b2c988382b3f7f988f42b11784adf0956"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Apr 03 08:19:53 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 08:19:53 2019 -0700"
      },
      "message": "Merge \"Move bionic-unit-tests-static to libclang_rt.builtins\" am: 96c21e43b4 am: b993b94d41\nam: 55615c7b2c\n\nChange-Id: I40b8dc97589c0a48fed037d3a35be6e25ef1b48a\n"
    },
    {
      "commit": "0d16a316647a8d94a079e14fb2941b127fcea27e",
      "tree": "32f2884627cc6c32ceb39a6fa957403d7a7ada1f",
      "parents": [
        "e6fd53b751c253ce9315875bed838a6d549132f3"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Apr 02 22:45:29 2019 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Apr 02 22:45:29 2019 -0700"
      },
      "message": "Move bionic-unit-tests-static to libclang_rt.builtins\n\nBug: http://b/129728267\nBug: http://b/117167374\n\nThis test is now built with XOM (because libm now uses XOM) but it\nshould also use libclang_rt.builtins since libgcc is not built with XOM.\n\nTest: bionic-unit-tests-static passes (but used to segfault with XOM\nexceptions without this change).\n\nChange-Id: I0b1dfe52e48db5f5e9386c7722ecd91e155be56f\n"
    },
    {
      "commit": "667457767e873eeb9017ffa1ed0a62d27b0c64d1",
      "tree": "d8e490630ee9f06c494b7bb9e154a2f441d02036",
      "parents": [
        "d116f8d23ba15dc6f21c4c89bd07d39c0cf62839",
        "f3edfb5773b78733a6d9aeaeff177a92b2dd1450"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 01 19:13:34 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 19:13:34 2019 -0700"
      },
      "message": "Merge \"Create a lib that uses scudo instead of jemalloc.\" am: d486e024c6 am: b525ee4a11\nam: f3edfb5773\n\nChange-Id: Ie30808227d135bd9b60f0ae8c6c408523e7c6ea7\n"
    },
    {
      "commit": "fc26d71af1b71491492d0695b14364c8c0e7a93f",
      "tree": "a7962dd97a99147e20d9780b87076ba4191b4bea",
      "parents": [
        "4699cf61746d37fc11c8eb8bdfc7eb296a476e4b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 27 18:07:55 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 01 13:02:49 2019 -0700"
      },
      "message": "Create a lib that uses scudo instead of jemalloc.\n\nThe media processes already use scudo as their allocator. However, it\ndoesn\u0027t really correctly replace the normal allocation functions, so create\na set of wrappers that allow us to use scudo closer to how jemalloc is used.\n\nThis is only a temporary change, and should be removed for the next\nrelease of Android. In that version, we will be using standalone\nscudo which won\u0027t require this wrapper code.\n\nBug: 123689570\n\nTest: Ran new bionic unit tests. There are failures, but only with\nTest: extensions that scudo does not support.\n\nChange-Id: I0516c23d654a9b6c69b157c5501245d2e0b3d264\n"
    },
    {
      "commit": "8868d9e9004b4fa2d8139abaaff1baa21ea55dab",
      "tree": "c38fe375ecf4d393b983a326238eaca118711e9a",
      "parents": [
        "4699cf61746d37fc11c8eb8bdfc7eb296a476e4b"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Mar 19 13:01:42 2019 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Apr 01 13:16:33 2019 +0200"
      },
      "message": "Move platform-private symbols out of libdl.so\n\nSymbols not intended to be accessible from apps are moved to libdl_android.so\n\nTest: bionic-unit-tests\nBug: http://b/129387775\nChange-Id: Ib8ba6147a20cf56550c9a008f66570a2d419565a\n(cherry picked from commit 2d6be9a751685b4c307632bf27e8c100310ad500)\n"
    },
    {
      "commit": "3158355507f421dc981a83fb61cdae80c6e919fe",
      "tree": "34b90199519696048480b8a6e558887df0bf9d35",
      "parents": [
        "7641ad0087775762b74bc3873c415a55c10f2187",
        "2d6be9a751685b4c307632bf27e8c100310ad500"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Mar 28 09:05:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 09:05:52 2019 +0000"
      },
      "message": "Merge \"Move platform-private symbols out of libdl.so\""
    },
    {
      "commit": "d4b46b3896d46bad101dbfdc2fcebcb8850da293",
      "tree": "d16b7f9f6e867d848e210ad83796e2a166e4fe47",
      "parents": [
        "364af39c83f7e2881704d16dcefdd500a50e6536",
        "91479bb2014ca9ae4fd520881686fc5017f5ede2"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 25 21:05:45 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 25 21:05:45 2019 -0700"
      },
      "message": "Merge \"Make powerof2 macro ubsan safe\" am: 1b6517b601 am: cdfe9d7d96\nam: 91479bb201\n\nChange-Id: I7f3513a4c009879a909e0eaeecc06b3990e634d7\n"
    },
    {
      "commit": "c50b6a2b89136b26a7f511a1a17e05b39f49dabd",
      "tree": "6a4a41a1dd913590f47b4035175557d1aa6f026c",
      "parents": [
        "e187d92062b3a384f8c4730f93aa6c36e1c74b52"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 21 14:04:33 2019 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 25 13:51:33 2019 -0700"
      },
      "message": "Make powerof2 macro ubsan safe\n\nSubtracting one from the smallest value expressable by the provided\nvariable could cause an underflow operation. In particular, this is\nproblematic when code similar to:\n\n  uint64_t foo \u003d 0;\n  if (powerof2(foo)) {\n    ...;\n  }\n\nis run with integer sanitization enabled. The macro would subtract one\nfrom zero, underflowing and triggering the sanitizer.\n\nMake the powerof2() macro ubsan safe, by explicitly handling underflows.\n\nNote: This change DOES NOT make powerof2() accurate. We continue to\nfalsely return \"true\" for 0 and negative numbers (see attached tests).\n\nFound while investigating Bug: 122975762\nTest: see added testcase\nTest: atest ziparchive-tests\n\nChange-Id: I5408ce5c18868d797bcae8f115ddb7c4c1ced81e\n"
    },
    {
      "commit": "2d6be9a751685b4c307632bf27e8c100310ad500",
      "tree": "5f8489e99e8805f5e7ac24953b6272156125fb6e",
      "parents": [
        "4d78eb9a6d58e00fd723370353644e2d00a02a13"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Mar 19 13:01:42 2019 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Mar 20 12:16:57 2019 +0100"
      },
      "message": "Move platform-private symbols out of libdl.so\n\nSymbols not intended to be accessible from apps are moved to libdl_android.so\n\nTest: bionic-unit-tests\nChange-Id: Ib8ba6147a20cf56550c9a008f66570a2d419565a\n"
    },
    {
      "commit": "72cf0b43114ce0643af2cdc326da0efa4141eed6",
      "tree": "9dc6102b16eab692437bb271c33976e5709df506",
      "parents": [
        "4e2b6a9793b41cbdc888a00d07bf1bc69ad9f366",
        "b3c32cd7b650a1a484e8a73a0b4622e07a29fa14"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Sat Mar 09 06:20:39 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 09 06:20:39 2019 -0800"
      },
      "message": "Merge \"linker: Handle libraries with disjoint mappings correctly.\" am: 432db6cfaf am: d7fc90e601\nam: b3c32cd7b6\n\nChange-Id: Icd7a4c71d2209ae822d2b7511ea159350be48b0a\n"
    },
    {
      "commit": "432db6cfafae810f94edcfa1b311b14a6e9a8407",
      "tree": "e3972f09a14a5ce3f1376bc66308ed5fdfbc64a4",
      "parents": [
        "a838c2d163e6e90ca3228c1190d53dfee3a101ea",
        "b39cb3c31db1ca67faadc60ba9c8338168da0b36"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 09 05:40:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 09 05:40:03 2019 +0000"
      },
      "message": "Merge \"linker: Handle libraries with disjoint mappings correctly.\""
    },
    {
      "commit": "b39cb3c31db1ca67faadc60ba9c8338168da0b36",
      "tree": "36d5198635cfbb8248b6bd775e6748f0d1a41f7b",
      "parents": [
        "0771b752f1b955e7ded6ccbbf825b0ae93439eb5"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 01 13:12:49 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 08 18:34:34 2019 -0800"
      },
      "message": "linker: Handle libraries with disjoint mappings correctly.\n\nIt\u0027s possible and sometimes beneficial for a library to have disjoint mappings\nand for other libraries to be mapped into the gap between the mappings using\nANDROID_DLEXT_RESERVED_ADDRESS. See for example the proposal for partitioning\nin lld [1].\n\nBecause the find_containing_library and do_dl_unwind_find_exidx functions use\na simple bounds check to figure out whether a pointer belongs to a library\nthey will, given a pointer into a library mapped into the gap of a library\nwith disjoint mappings, return a pointer to the soinfo for the outer library\ninstead of the inner one, because the outer library will appear before the\ninner one in the solist.\n\nFrom a user perspective this means that we won\u0027t be able to unwind the inner\nlibrary\u0027s frames on 32-bit ARM with libgcc, dladdr() will return information\nfor the outer library given a pointer to the inner one and dlopen() et al will\nuse the linker namespace of the outer library when called from the inner one\n(although they will usually be the same).\n\nTo make this work correctly, make it so that once find_containing_library\nsees a match for the bounds check, it examines the library\u0027s PT_LOADs to\nmake sure that there is a mapping for the given address. This is similar\nto how libgcc and libunwind_llvm already handle finding the PT_GNU_EH_FRAME\non non-ARM32 platforms [2,3]. do_dl_unwind_find_exidx is reimplemented in\nterms of find_containing_library.\n\n[1] http://lists.llvm.org/pipermail/llvm-dev/2019-February/130583.html\n[2] https://github.com/llvm/llvm-project/blob/e739ac0e255597d818c907223034ddf3bc18a593/libunwind/src/AddressSpace.hpp#L523\n[3] https://android.googlesource.com/toolchain/gcc/+/master/gcc-4.9/libgcc/unwind-dw2-fde-dip.c#294\n\nTest: /data/nativetest{,64}/bionic-unit-tests/bionic-unit-tests on walleye-userdebug\nChange-Id: I368fe6ad3c470b3dff80f7d9b04253566d63a7d2\n"
    },
    {
      "commit": "6c619a0da3f96a26d91c1db48fd3e3be156aabe5",
      "tree": "aa0802d01d19ed0891e6b77a732cc72ed5617dcc",
      "parents": [
        "4e167f35d602f9dcede3b74ff3e09e88f3edb398"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 01 17:59:51 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Mar 07 08:39:55 2019 -0800"
      },
      "message": "Refactor the malloc_info code.\n\nmalloc_info needs to be per native allocator, but the code treated it\nlike a global function that doesn\u0027t depend on the native memory allocator.\n\nUpdate malloc debug to dump the actual pointers that it has been tracking.\n\nTest: bionic-unit-tests pass.\nTest: malloc debug tests pass.\nTest: malloc hook tests pass.\nChange-Id: I3b0d4d748489dd84c16d16933479dc8b8d79013e\nMerged-In: I3b0d4d748489dd84c16d16933479dc8b8d79013e\n(cherry picked from commit a3656a98b10d2a4a6194a5d9705ad9c2cc5877b0)\n"
    },
    {
      "commit": "f6ea33916ebd65954f5b07e8efeba972f12e93ae",
      "tree": "8859290f3fa1c899e6bef58f850afaff6a3beeaf",
      "parents": [
        "5f9634b0049d8db1fcc006c18eba17f454c4d553",
        "a3656a98b10d2a4a6194a5d9705ad9c2cc5877b0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Mar 07 16:28:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 16:28:22 2019 +0000"
      },
      "message": "Merge \"Refactor the malloc_info code.\""
    },
    {
      "commit": "5f9634b0049d8db1fcc006c18eba17f454c4d553",
      "tree": "3d485f7b6279d5fa730dedf74e5dbd168db544fb",
      "parents": [
        "c32e6747b75b177a26cdfcb0526d6e4cb822a432",
        "bbe4a4dd482ccbd860863e929744b15f0259c484"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Wed Mar 06 15:46:26 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 06 15:46:26 2019 -0800"
      },
      "message": "Merge \"bionic-unit-tests should depend on libandroidicu instead\" am: 4e167f35d6 am: df9e4e5ae2\nam: bbe4a4dd48\n\nChange-Id: I4fa8b79c14b4a7e4faa9dc28bd990b71805bc577\n"
    },
    {
      "commit": "ddcf488ef606886eed334a1bc5069de803940890",
      "tree": "4ca60773d76a637896fcd19f3de66f50d6a9e92e",
      "parents": [
        "e65558a0a4ad1f4aee5d63d0661b02f910e0cbd8"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Mar 06 18:12:07 2019 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Mar 06 18:29:55 2019 +0000"
      },
      "message": "bionic-unit-tests should depend on libandroidicu instead\n\nbionic has been moved to use libandroidicu instead of libicuuc.\nThis CL updates the unit test\n\nBug: 120659668\nTest: m bionic-unit-tests \u0026\u0026 adb push out/target/product/walleye/data/nativetest/* /data/nativetest \u0026\u0026 adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests\nChange-Id: I59a0589d18bfd6753215dc07874f3c472bd64cca\n"
    },
    {
      "commit": "a3656a98b10d2a4a6194a5d9705ad9c2cc5877b0",
      "tree": "cd92d7ee38ad096447afe48c6ec91f042ba8b8e9",
      "parents": [
        "c32e6747b75b177a26cdfcb0526d6e4cb822a432"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 01 17:59:51 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 05 12:52:55 2019 -0800"
      },
      "message": "Refactor the malloc_info code.\n\nmalloc_info needs to be per native allocator, but the code treated it\nlike a global function that doesn\u0027t depend on the native memory allocator.\n\nUpdate malloc debug to dump the actual pointers that it has been tracking.\n\nTest: bionic-unit-tests pass.\nTest: malloc debug tests pass.\nTest: malloc hook tests pass.\nChange-Id: I3b0d4d748489dd84c16d16933479dc8b8d79013e\n"
    },
    {
      "commit": "d4184e73490f0988a205e32fc6e0e58fddc69367",
      "tree": "93b32bf8dd28d767e01e752cec9cbd5bd03a59e0",
      "parents": [
        "e98e0ea3f5e51567ed3b7a5bab9ec1c71e932bc8",
        "db850fa4b352302ab0cf7ca653c88f34922f82ef"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Mon Feb 25 08:50:17 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 25 08:50:17 2019 -0800"
      },
      "message": "Merge \"linker: allow using reserved space for multiple libraries.\" am: 7cdbd0d477 am: ac0e655b40\nam: db850fa4b3\n\nChange-Id: If60a4bccb7b8ca3cc9a9c41e818ab18cc6c8800e\n"
    },
    {
      "commit": "7cdbd0d477176e0973beb7328e40c328aa73d1e5",
      "tree": "6de43a0fb91dd75eb0eb89f4a003b32e6e8e3c0d",
      "parents": [
        "b656d4a1da35eac817950f906ce1c26259c05e82",
        "efbe9a5eefce28db6d1dbba18c212eb45915cf78"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 21 16:06:17 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 16:06:17 2019 +0000"
      },
      "message": "Merge \"linker: allow using reserved space for multiple libraries.\""
    },
    {
      "commit": "efbe9a5eefce28db6d1dbba18c212eb45915cf78",
      "tree": "0e35795b7b52bc65af89143af0662b5b0f4ce3e1",
      "parents": [
        "73ee7a6320024c8f390d954a01b7a067c919bfc4"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Wed Oct 17 15:59:38 2018 -0400"
      },
      "committer": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Wed Feb 20 17:29:36 2019 -0500"
      },
      "message": "linker: allow using reserved space for multiple libraries.\n\nIntroduce a new flag ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE which\ninstructs the linker to use the reserved address space to load all of\nthe newly-loaded libraries required by a dlopen() call instead of only\nthe main library. They will be loaded consecutively into that region if\nthey fit. The RELRO sections of all the loaded libraries will also be\nconsidered for reading/writing shared RELRO data.\n\nThis will allow the WebView implementation to potentially consist of\nmore than one .so file while still benefiting from the RELRO sharing\noptimisation, which would otherwise only apply to the \"root\" .so file.\n\nTest: bionic-unit-tests (existing and newly added)\nBug: 110790153\nChange-Id: I61da775c29fd5017d9a1e2b6b3757c3d20a355b3\n"
    },
    {
      "commit": "39d86b1bd2770ef107936af5aa00ddb978860f27",
      "tree": "f560335fbbd9f83f67954c3d3300dba97032b8d5",
      "parents": [
        "d2bbb8b6e1668e42fdf592d78e89e9842754cc6c",
        "c2bc9b4ce32a5c899ffdcc75a04a16a720d39172"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Feb 06 14:48:46 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 14:48:46 2019 -0800"
      },
      "message": "Merge \"Cleanup bionic tests with hwasan.\" am: f827d82cdd am: d1e1a5e3d5\nam: c2bc9b4ce3\n\nChange-Id: I292a729985e514fb672963a50dc94d25e639f5f6\n"
    },
    {
      "commit": "f827d82cdde0fe7f11015fb5ead39bac861ab6bd",
      "tree": "a322a9f7b880e20144916208388ed2540fd60c9e",
      "parents": [
        "73ee7a6320024c8f390d954a01b7a067c919bfc4",
        "7cc670637005e88e00be467c6c387112644a9209"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Feb 06 22:04:09 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 06 22:04:09 2019 +0000"
      },
      "message": "Merge \"Cleanup bionic tests with hwasan.\""
    },
    {
      "commit": "7cc670637005e88e00be467c6c387112644a9209",
      "tree": "0141df753769639688cc216287be3f7f76d5cbdf",
      "parents": [
        "352853a53525ecb2a120dfa4e9aa03b3970df8ee"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Feb 05 18:43:34 2019 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Feb 06 13:59:16 2019 -0800"
      },
      "message": "Cleanup bionic tests with hwasan.\n\nThe tests were patched earlier to run with tagging heap allocator.\nThis change enables hwasan code instrumentation in the tests themselves,\nand fixes the issues that arise, mainly in the code that:\n* compares addresses of unrelated stack variables\n* compares address of a stack variable with stack limits as found in\n  /proc/self/maps\n* writes address of a stack variable to a hardware watchpoint register\netc.\n\nNote that static tests are broken at the moment, like all static\nbinaries. Dynamic tests pass 100% with this change.\n\nBug: 114279110, 124007027\nTest: SANITIZE_TARGET\u003dhwaddress; run dynamic bionic tests\n\nChange-Id: I68b8df9dd3e30b47734ddc083811a75a7f27deaa\n"
    },
    {
      "commit": "1f805c6c67b03dbc754ffb4c2d506a3b63579b77",
      "tree": "17c02e78050fa1f0df41cce4221b48da32df0e8a",
      "parents": [
        "84b992e0facdfe7841cf92ff2c5847c811b695dd",
        "559f6a6d8e9e5310cc3a4d861727558b4d3991a6"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Sat Feb 02 16:23:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Feb 02 16:23:19 2019 -0800"
      },
      "message": "Merge \"Implement ifunc support for static executables.\" am: c1d579798e am: e70872c1fc\nam: 559f6a6d8e\n\nChange-Id: I30f45bbc86e49ce5632fc349f41058360f4c8486\n"
    }
  ],
  "next": "c1d579798e26da5222a9ef60c65774969978a5c5"
}
