)]}'
{
  "log": [
    {
      "commit": "aa8db1b9d1e8bba7eba26238e44713f02a3dd533",
      "tree": "0c55f7bf1fa5b9aa9e01c63573bd4bb6314a6393",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 15:05:44 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 15:06:50 2021 -0800"
      },
      "message": "Fix/update notices.\n\nAuto-generate NOTICE files for all the directories, and for each one\nindividually rather than mixing libc and libm together.\n\nTest: N/A\nChange-Id: I7e251194a8805c4ca78fcc5675c3321bcd5abf0a\n"
    },
    {
      "commit": "f762275e6aaeb0494a7f7b44d279e459f6766c8d",
      "tree": "6c0352aecd765a4bf6beb998a4d64d018d85ff15",
      "parents": [
        "a4110def5cec22306313a34fff64b5810c9b1792"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 10:25:45 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 10:25:45 2020 -0700"
      },
      "message": "Show coverage for libm too.\n\nTest: manual\nChange-Id: Idf50d918ad53ff2d5a3097dfcbd5a392d6f0ed31\n"
    },
    {
      "commit": "7f354436f26d8f7a557299ef3e721b8629f65170",
      "tree": "3a170954d9d0258f01a8f6de9722debc7d922102",
      "parents": [
        "f08e70a0d9a02cbec89be682d665c2c2896c968f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 07 15:25:27 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 11 10:00:30 2020 -0700"
      },
      "message": "Improve the coverage script.\n\nThis now works for ARM as well as Intel.\n\nAlso combine both the 32-bit and 64-bit results (since we have code\nthat\u0027s only executed in one variant or the other, the union of the two\nseems like what we actually want to measure).\n\nAlso make the script executable.\n\nTest: ./bionic/build/coverage.sh\nChange-Id: I4e3a7f4cd60fda060b956a960cfb9b703d3670e7\n"
    },
    {
      "commit": "abf40321a142f8364e81bac4dae19cc07055d7f4",
      "tree": "ed5f45364fa34016d34087b22fac088940fc5c75",
      "parents": [
        "8035caa311a286e14ace1027c4e4b945b0cd02c3"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Aug 05 15:47:01 2020 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Aug 05 15:53:19 2020 -0700"
      },
      "message": "Add a script to generate coverage.\n\n1. Prereqs: Coverage-enabled build.\n  $ lunch \u003ctarget\u003e\n  $ m NATIVE_COVERAGE_PATHS\u003d\"bionic\" CLANG_COVERAGE\u003dtrue\n  $ m NATIVE_COVERAGE_PATHS\u003d\"bionic\" CLANG_COVERAGE\u003dtrue bionic-unit-tests\n2. Flash image and set $ANDROID_SERIAL\n3. $ bionic/build/coverage.sh\n\nHTML report is generated to /tmp/bionic-coverage\n\nTest: build/coverage.sh\nChange-Id: I33c7d47d218a68a250076f063cfbdbaab91acc74\n"
    },
    {
      "commit": "3cfb89d451afe65f478274b6994725256b80bc76",
      "tree": "22566d885def798f20a94acbb8393c808522937c",
      "parents": [
        "14d5c12ed6d4febc054c49d6b48e3e3a94d3530d"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Sep 20 15:42:48 2019 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Sep 24 15:36:31 2019 -0700"
      },
      "message": "run-on-host fixes\n\n * Fix the path to bionic-benchmarks-glibc\n\n * Add symlinks for the toybox symlink commands. Each symlink bypasses the\n   intermediate symlink in ${OUT}/system/bin and points to the final\n   toybox binary. Suppress a bunch of warnings by skipping symlinks for\n   non-existent files.\n\n   The new spawn benchmarks try to run /system/bin/true. (They also try to\n   run /vendor/bin/true and print an error.)\n\n * Quote \"$@\"\n\n * Use soong_ui.bash --dumpvars-mode to set a bunch of variables, rather\n   than get_build_var, which invokes Soong once per variable. This reduces\n   the \"build/run-on-host.sh\" runtime from 4s to 1.3s.\n\n * build/run-on-host.sh isn\u0027t executable and is only useful when it\u0027s\n   sourced into another shell, so remove its shebang to reduce confusion.\n\nBug: none\nTest: \\\n  . build/envsetup.sh\n  lunch aosp_x86_64-userdebug\n  . bionic/build/run-on-host.sh\n  prepare MODULES-IN-bionic MODULES-IN-external-toybox\n  /system/bin/true\n\nChange-Id: I59e9a6aca77d35b16bdf51759c5fc7e725bfc67c\n"
    },
    {
      "commit": "4da99ffe5e35918c46228ec4a494e54697a2d0cb",
      "tree": "03e2434d8ea557ede31878d3b797ee22eaf7f91a",
      "parents": [
        "401e2efa39797c61e174b6e3f12e7b41d7511fc3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 26 15:12:57 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 26 17:45:17 2019 -0700"
      },
      "message": "Fix running tests/benchmarks on the host.\n\nThis was broken by all the mainline modules stuff. It\u0027s quite a bit\nhairier to set up now, given that we don\u0027t have an apexd on the host.\nAn alternative might be to actually set up a fake /apex that points to\nthe bootstrap directories?\n\nTest: ./benchmarks/run-on-host.sh 64\nTest: ./tests/run-on-host.sh 64\nChange-Id: If2c277ba492c7c443cdf51526ea42f56568e2ea6\n"
    },
    {
      "commit": "8ceb95c5065b6627b3c30c735d3272e0004c4b66",
      "tree": "cc898b796f189bfb0d0f831298a12c82d36d2649",
      "parents": [
        "2059021322151b3ea560806558640aa130f13f8d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 14:47:08 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 14:47:08 2019 -0700"
      },
      "message": "Fix running the tests on the host again.\n\nBug: N/A\nTest: ran the tests on the host under glibc\nChange-Id: Id05a896bdd11b231304ed1a08ef24e1a661ee20d\n"
    },
    {
      "commit": "036e09c36e8c859ee23db7a84adcd9b8563f54c9",
      "tree": "4487746e251b08685070460505af39ae875ce90c",
      "parents": [
        "10935e063d3db0ff2b61f710b8f34bd92fa861ba"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Feb 25 10:54:29 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 14 07:35:52 2019 +0900"
      },
      "message": "Don\u0027t install *.mountpoint targets\n\nThe *.mountpoint targets that installs /bionic/lib/lib*.so and\n/bionic/bin/linker* are no longer needed.\n\nNow, /system/lib/lib*.so and /system/bin/linker* are simply symlinks to\nthe corresponding files in the runtime apex. For example,\n\n/system/lib/libc.so -\u003e /apex/com.android.runtime/lib/bionic/libc.so\n\nThis is made possible because we now activate APEXes even before the\ndata partition is mounted. Before the data partition mounting, the\nAPEXes from the system partition are ativated. After the data partition\nis mounted, updated APEXes in the partition (if any) are activated. As a\nresult, the symlink always points to the valid path regardless of\nwhether /data is mounted or not.\n\nBug: 125549215\nTest: device boots\nChange-Id: Ie7d83686abe00b3c436f9f9db75d4244200a0fc9\n"
    },
    {
      "commit": "88d03200d46dceabf60472a85ac4242bc4501d3d",
      "tree": "c47565ed27e0002c0a35c6f3f2e4b4cde09cc7e6",
      "parents": [
        "4788931135cc9d87c57d927fd202ebb3d84993a4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Feb 15 12:15:27 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Feb 15 12:15:27 2019 +0900"
      },
      "message": "Fix: symbols/bionic/lib64/libc.so is the wrong variant\n\nThe new module type bionic_mountpoint wasn\u0027t mutated by the sanitizer.\nAs a result, it has been taking non-sanitized symbol libraries even for\nsanitized builds. Fixing the issue by making the module type to\nimplement the cc.Sanitizeable interface so that it can be mutated by the\nsanitizer.\n\nBug: 124469750\nTest: SANITIZE_TARGET\u003dhwaddress m\nInspect Android-\u003ctarget\u003e.mk and check that LOCAL_SOONG_UNSTRIPPED_BINARY\nfor libc.mountpoint module is pointing to a hwasan variant of libc.so\n\nChange-Id: I10c863c0dbd361463648a4b7d897a4f88a9c85cb\n"
    },
    {
      "commit": "acb4d21a2a9f47e99b2b9ab9cc89aa50e633baf6",
      "tree": "50869eeff4ad9b9860a7cc476ea92fafca9c2734",
      "parents": [
        "808d176e7e0dd727c7f929622ec017f6e065c582"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Feb 11 16:05:48 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Feb 11 16:05:48 2019 +0900"
      },
      "message": "Symbols files under $(OUT)/symbols/bionic/\n\nWe need symbol files for /bionic/* paths.\n\nNew property \"mountsource\" is added to specify the \"real\" module that\nthe bionic mountpoint module is a mountpoint for. The real module\nprovides path to the unstripped elf file, which is installed to the\nsymbols/bionic/* path.\n\nBug: 123985838\nTest: m libc.mountpoint libm.mountpoint libdl.mountpoint\nlinker.mountpoint\n$(OUT)/symbols/bionic/bin/linker, bionic/lib[64]/lib{c|dl|m}.so exist\n\nChange-Id: I43f074f0076b576f214fe92a98689a413efd3daa\n"
    },
    {
      "commit": "a5f914aef163e27bf49ce2c29f2cef12a131132f",
      "tree": "9e2976d251f482c7a23ed8a293d3e104cde2c3e9",
      "parents": [
        "fcb35dc4aa07239878c8ba987aff739388b0f15f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sun Jan 20 21:02:00 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jan 31 13:44:20 2019 +0900"
      },
      "message": "Add bionic mount points under /bionic\n\nThis change adds following files and symlinks:\n\nFiles:\n/bionic/lib[64]/lib{c|dl|m}.so\n/bionic/bin/linker[64]\n\nSymlinks:\n/system/lib[64]/lib{c|dl|m}.so -\u003e /bionic/lib[64]/lib{c|dl|m}.so\n/system/bin/linker[64] -\u003e /bionic/bin/linker[64]\n/system/bin/linker_asan[64] -\u003e /bionic/bin/linker[64]\n\nThe files serve as mount points for either the bootstrap Bionic or the\ndefault Bionic from the runtime APEX. init does the bind-mounting during\nbooting.\n\nThe symlinks are there to not change the ordinary paths to the bionic\nfiles; there are many places that the paths are implied or hard-coded,\ne.g., dlopen(\"/system/lib/libc.so\") or DT_INTERP pointing to\n/system/bin/linker in the vendor prebuilts.\n\nBug: 120266448\nTest: m blueline, cf_x86, aosp_arm\nThe aforementioned files and symlinks are found\n\nChange-Id: I97e38c29409ac0610dde285db8df6e94a7930094\n"
    },
    {
      "commit": "2722ebb30b76c9328541c057fa1f5e56a8cedf17",
      "tree": "80d716168a658c6a005efff9b99a3d06fdef4b6b",
      "parents": [
        "48cedda02a9874d59b2b3652d0427abce7fedaab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 11 16:20:06 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 12:30:12 2016 -0700"
      },
      "message": "Convert bionic benchmarks and tests to Android.bp\n\nThe compile-time tests and a few custom libraries for dynamic linker\ntesting are still compiled in make.\n\nAlso converts the make rules to run tests on the host to shell scripts\nin tests/run-on-host.sh and benchmarks/run-on-host.sh\n\nChange-Id: I6f174b3a69d58c4ed74d29f4e79332d483681534\n"
    },
    {
      "commit": "c7cbde320c0617a71935d915b4154b9ca3705ed6",
      "tree": "c5653d14e1f8c7b6b04118df7a088fc364a9916f",
      "parents": [
        "91a61f77e203bf519c28f9331b9c8db731869499"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 03 09:50:10 2014 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 03 09:51:37 2014 -0800"
      },
      "message": "Fix warning: overriding commands for target\n\nChange-Id: I00fb4d6a8ff388722b75de9a0f4316619aaf9320\n"
    },
    {
      "commit": "06b1b8ceac992b861cc8a4fe21a3f8d5a40bb99c",
      "tree": "9c26126b1f5bccd33069d57a48d88c58014edaca",
      "parents": [
        "5cd127d3aa4a2f225be202af01581838fdd3c721"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 02 14:00:13 2014 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 02 15:15:34 2014 -0800"
      },
      "message": "Extract bionic-prepare-run-on-host to inc file.\n\n Make benchmark run-on-host depend on bionic-prepare-run-on-host.\n\nChange-Id: I0bdbf561b2580d607a49b7c83cc273320ac55429\n"
    }
  ]
}
