)]}'
{
  "log": [
    {
      "commit": "ba3187f102e934061a0e6969a15db92c5f909b51",
      "tree": "f7f23b6759b66fd45a392bfc43882f97d4071a7d",
      "parents": [
        "332065d57e734b65f56474d136d22d767e36cbcd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 18 17:25:53 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 18 17:25:53 2021 -0800"
      },
      "message": "Don\u0027t dump backtraces while running fdtrack tests.\n\nI\u0027m assuming this was useful while debugging, but isn\u0027t needed now.\n\nBug: http://b/180605583\nTest: check logs\nChange-Id: I9d5bb8db60e7709a9a52e29469f7fd1d5a9cb085\n"
    },
    {
      "commit": "332065d57e734b65f56474d136d22d767e36cbcd",
      "tree": "f413bfdde646c88a80fe7e5b30472f078d7bf28f",
      "parents": [
        "ede54420ba85fbfe4af4752d501aaa569561ff26",
        "aa8db1b9d1e8bba7eba26238e44713f02a3dd533"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 17 17:51:06 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 17:51:06 2021 +0000"
      },
      "message": "Merge \"Fix/update notices.\""
    },
    {
      "commit": "ede54420ba85fbfe4af4752d501aaa569561ff26",
      "tree": "6b169164435b6f5ba8dfbc726643b6689d5ea894",
      "parents": [
        "9432c923b12e6699b5f1a227dc9938cec87785c3",
        "f11ce9a1759202a3189d15ad5a79b8eb94be82dc"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Feb 17 09:55:07 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 09:55:07 2021 +0000"
      },
      "message": "Merge \"Set updatable\u003dfalse explicitly.\""
    },
    {
      "commit": "9432c923b12e6699b5f1a227dc9938cec87785c3",
      "tree": "965f2c62a83ca474aa0d6a353063ae4b6f7e65df",
      "parents": [
        "22801c7c8d7556889d5e447b41dd119d519760cd",
        "fd64868a929a849c25e350eb233f78329e9995cb"
      ],
      "author": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Wed Feb 17 08:57:19 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 08:57:19 2021 +0000"
      },
      "message": "Merge \"Mark cc_library_headers targets as being bp2build_available.\""
    },
    {
      "commit": "22801c7c8d7556889d5e447b41dd119d519760cd",
      "tree": "bd17343f2d179f0509d97a7960a45eab5fea6ffb",
      "parents": [
        "592ef756a0b8d267bf92e048b77338943da68c3d",
        "5e44c22ebf717d59423803e9f9e4aff586fee72f"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Feb 17 01:59:45 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 01:59:45 2021 +0000"
      },
      "message": "Merge \"Revert \"[LSC] Add LOCAL_LICENSE_KINDS to bionic\"\""
    },
    {
      "commit": "592ef756a0b8d267bf92e048b77338943da68c3d",
      "tree": "c243d3ed8c6c9af6b3a2529e91c64c3205b51c77",
      "parents": [
        "51166f4f56c1a847ed8fa0530d041ecd011e8ceb",
        "a4583b7af3a71449370fc7273a5cc3c0a4aec4b6"
      ],
      "author": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Wed Feb 17 01:34:29 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 17 01:34:29 2021 +0000"
      },
      "message": "Merge \"Mark ldd as executable for Bazel builds to work.\""
    },
    {
      "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": "51166f4f56c1a847ed8fa0530d041ecd011e8ceb",
      "tree": "29a02a25bc04c540eba85310be013d0699e254a9",
      "parents": [
        "f4ac74d9b4b8d612cb314ee3a639086420a0055a",
        "a37b18133defa2f1950d69894f4269e887c6fcca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 21:26:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 16 21:26:12 2021 +0000"
      },
      "message": "Merge \"Rename __ANDROID_UNGUARDED_AVAILABILITY__ -\u003e __ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__.\""
    },
    {
      "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": "a4583b7af3a71449370fc7273a5cc3c0a4aec4b6",
      "tree": "2a6332136193174428669861f93fcc68298ae93e",
      "parents": [
        "f4ac74d9b4b8d612cb314ee3a639086420a0055a"
      ],
      "author": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Tue Feb 16 15:27:37 2021 +0000"
      },
      "committer": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Tue Feb 16 15:28:25 2021 +0000"
      },
      "message": "Mark ldd as executable for Bazel builds to work.\n\nTest: bazel build ...\nChange-Id: I15f23804ab1ef44cc0a68b66c408dd88366f8098\n"
    },
    {
      "commit": "f11ce9a1759202a3189d15ad5a79b8eb94be82dc",
      "tree": "c020b624f9c0abb8176040a3961dd1f7f1eefae7",
      "parents": [
        "f4ac74d9b4b8d612cb314ee3a639086420a0055a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Feb 16 14:43:39 2021 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Feb 16 14:45:45 2021 +0000"
      },
      "message": "Set updatable\u003dfalse explicitly.\n\nCurrently, this is the default so this is a no-op,\nBut the default is changing to true.\n\nBug: 180375550\nTest: Treehugger\nChange-Id: I74cfd805958687a4c1e43eded31fb0e6583c1482\n"
    },
    {
      "commit": "fd64868a929a849c25e350eb233f78329e9995cb",
      "tree": "1782f0a6ccee4e7e15e88efd46b30391610701b2",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa"
      ],
      "author": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Tue Feb 16 03:27:05 2021 +0000"
      },
      "committer": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Tue Feb 16 03:39:20 2021 +0000"
      },
      "message": "Mark cc_library_headers targets as being bp2build_available.\n\nTest: build/bazel/scripts/bp2build-sync.sh write.\nChange-Id: I78a491d20779f50757b55c8e5305b588bf613839\n"
    },
    {
      "commit": "f4ac74d9b4b8d612cb314ee3a639086420a0055a",
      "tree": "4a958f90512dcd1cec534d0dbdb1de4ebb6a8678",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa",
        "48d43034d7b5a419ba56f052856696d53a7bd979"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 15 23:21:48 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 15 23:21:48 2021 +0000"
      },
      "message": "Merge \"[LSC] Add LOCAL_LICENSE_KINDS to bionic\""
    },
    {
      "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": "a37b18133defa2f1950d69894f4269e887c6fcca",
      "tree": "73aba265b69231168e96d0016a7833800233ac03",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 11 12:56:39 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 11 12:56:39 2021 -0800"
      },
      "message": "Rename __ANDROID_UNGUARDED_AVAILABILITY__ -\u003e __ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__.\n\nAlso reduce some of the duplication in the macros.\n\nBug: http://b/179067538\nTest: treehugger\nChange-Id: I81ab341731b0faad6c7c5f00037feff8576abafb\n"
    },
    {
      "commit": "ef0ec82684ea52ee3a13db8df9103ca314ea17aa",
      "tree": "0f1e1eac8db14d78a10e31b7d2b97fcc92a5b40f",
      "parents": [
        "8460308d11ba6129bea6000cc4fc1a58795c82db",
        "cdace2f2275694075c03ac90a80c990387807588"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Feb 10 23:31:31 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 10 23:31:31 2021 +0000"
      },
      "message": "Merge \"Revert \"Disable signal frame unwinding tests on arm64\"\""
    },
    {
      "commit": "8460308d11ba6129bea6000cc4fc1a58795c82db",
      "tree": "4e1242b598a8ecd1d714e8124e1e01e9c536a4f5",
      "parents": [
        "8d1f9c2c3b57f725a78addcff05d9abeca38c46d",
        "d3915c7b53b745c521046b0af2455b4db3251c54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 10 16:28:34 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 10 16:28:34 2021 +0000"
      },
      "message": "Merge \"Make fd overflow an abort.\""
    },
    {
      "commit": "cdace2f2275694075c03ac90a80c990387807588",
      "tree": "ad0662b00c26bb779a4139d1ba7fbfb8696275d8",
      "parents": [
        "315969a67eb09607f278cd17ae1637bbf661a559"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Feb 10 07:08:18 2021 +0000"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Feb 10 07:08:18 2021 +0000"
      },
      "message": "Revert \"Disable signal frame unwinding tests on arm64\"\n\nThis reverts commit 315969a67eb09607f278cd17ae1637bbf661a559.\n\nReason for revert: r407598b has llvm.org/D90898, which should fix the test.\n\nChange-Id: I466e2122a700ba4df9160b57a5d3c94867472615\n"
    },
    {
      "commit": "d3915c7b53b745c521046b0af2455b4db3251c54",
      "tree": "e7696b302bdabb3896d808101376cb5337a1fc88",
      "parents": [
        "6d5662d22a38ca6200d6b6dd919204bc93dbaba8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 08 16:24:46 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 09 17:13:09 2021 -0800"
      },
      "message": "Make fd overflow an abort.\n\nOn LP32, just abort if we\u0027re asked to handle an fd that\u0027s too big for\nthe `short` field in `struct FILE`. This is unreachable anyway because\nthe ulimit is 32Ki, and this will make issues far more noticeable if we\never do increase that limit (which seems unlikely for LP32 devices).\n\nAlso rename __finit() to __FILE_init() to match __FILE_close().\n\nTest: treehugger\nChange-Id: I5db4d6c4529a1f558aff135b4dea071d73666be5\n"
    },
    {
      "commit": "8d1f9c2c3b57f725a78addcff05d9abeca38c46d",
      "tree": "6cca5a92fff2b973d98871f6a1751b8035a167bd",
      "parents": [
        "6d5662d22a38ca6200d6b6dd919204bc93dbaba8",
        "344b8da46adb1eed02695beadd3cd94f0c922f73"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 09 16:29:55 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 09 16:29:55 2021 +0000"
      },
      "message": "Merge \"Mark sh_binary target as being bp2build_available.\""
    },
    {
      "commit": "344b8da46adb1eed02695beadd3cd94f0c922f73",
      "tree": "6cca5a92fff2b973d98871f6a1751b8035a167bd",
      "parents": [
        "6d5662d22a38ca6200d6b6dd919204bc93dbaba8"
      ],
      "author": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Tue Feb 09 11:35:04 2021 +0000"
      },
      "committer": {
        "name": "Rupert Shuttleworth",
        "email": "ruperts@google.com",
        "time": "Tue Feb 09 11:53:36 2021 +0000"
      },
      "message": "Mark sh_binary target as being bp2build_available.\n\nTest: build/bazel/scripts/bp2build-sync.sh write.\nChange-Id: I8e8c3c95aa2c7ff6d7db3d92291f224bdf7cf255\n"
    },
    {
      "commit": "6d5662d22a38ca6200d6b6dd919204bc93dbaba8",
      "tree": "3acd79e25463207e38f2f3e9964ae2ba0e982aac",
      "parents": [
        "3990193d7fcefce1837fac47b56094ee3e626d06",
        "f9cfecf3d4d848e247dc8bdc486ed227bff7315f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 08 20:07:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 08 20:07:12 2021 +0000"
      },
      "message": "Merge \"Fix freopen() where the path is null.\""
    },
    {
      "commit": "3990193d7fcefce1837fac47b56094ee3e626d06",
      "tree": "a22e88ac0b584bc0e6eb392f9c9307c2f30e9ddd",
      "parents": [
        "b0e9906c3a8556e5d5f8d058a49ca0803aac7562",
        "a988ed65e48884eda5b6a8ef962205a5a3cc6e87"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 08 19:02:52 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 08 19:02:52 2021 +0000"
      },
      "message": "Merge \"Remove obsolete `cpp_std: \"experimental\"`.\""
    },
    {
      "commit": "b0e9906c3a8556e5d5f8d058a49ca0803aac7562",
      "tree": "8f9f12984c5311434870513583bd41fdc2d1d6f9",
      "parents": [
        "eca47e72ef93a9d22101e567ac9c1da2e4d98d5e",
        "d6a3b780de6e108227a793c2757a4ad9fabb5006"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 08 18:14:20 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 08 18:14:20 2021 +0000"
      },
      "message": "Merge \"Mark //bionic filegroups/genrules as bp2build_available.\""
    },
    {
      "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": "d6a3b780de6e108227a793c2757a4ad9fabb5006",
      "tree": "8f9f12984c5311434870513583bd41fdc2d1d6f9",
      "parents": [
        "eca47e72ef93a9d22101e567ac9c1da2e4d98d5e"
      ],
      "author": {
        "name": "Jingwen Chen",
        "email": "jingwen@google.com",
        "time": "Fri Feb 05 10:05:29 2021 -0500"
      },
      "committer": {
        "name": "Jingwen Chen",
        "email": "jingwen@google.com",
        "time": "Mon Feb 08 01:44:35 2021 -0500"
      },
      "message": "Mark //bionic filegroups/genrules as bp2build_available.\n\nTest: GENERATE_BAZEL_FILES\u003dtrue m nothing \u0026\u0026 build/bazel/scripts/bp2build-sync.sh write \u0026\u0026 bazel build //bionic/...\nChange-Id: Ie3e0092a3a03ddc6228a9191e5b78ab206072dde\n"
    },
    {
      "commit": "eca47e72ef93a9d22101e567ac9c1da2e4d98d5e",
      "tree": "438f1efa30f22280a806db9ab2258ef18850882e",
      "parents": [
        "3118dc1c0f8d0eed3d9e8b6284dfcfba41bd27d3",
        "11874f8f99979e660d1b3b23760cf6b64b324278"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 05 05:28:23 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 05:28:23 2021 +0000"
      },
      "message": "Merge \"Mark bionic-stress-test as not unit tests as it run forever\""
    },
    {
      "commit": "3118dc1c0f8d0eed3d9e8b6284dfcfba41bd27d3",
      "tree": "0e33ccc8d465ae5c745f071dc7410be5614b9805",
      "parents": [
        "78ad991425e979f71632eeda0e755664cd8dc998",
        "444e2f69e95e25a206efb120dff3d4dde637746b"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Feb 05 02:48:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 05 02:48:12 2021 +0000"
      },
      "message": "Merge \"Add -Wno-ignored-pragmas.\""
    },
    {
      "commit": "f9cfecf3d4d848e247dc8bdc486ed227bff7315f",
      "tree": "00f1b5a19b7acaa16783ea14361d156a38a98989",
      "parents": [
        "15ade069b10f7f5291e48c01db2da4852dae04b7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 04 16:58:13 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 04 17:01:55 2021 -0800"
      },
      "message": "Fix freopen() where the path is null.\n\nThis has been in the standard since C99, but we\u0027ve never supported it\nbefore. It\u0027s apparently used by SPIRV-Tools.\n\nI tried implementing this the other way (with fcntl(2)) first, but\neventually realized that that\u0027s more complicated and gives worse\nresults. This implementation assumes that /proc is mounted, but so much\nof libc relies on that at this point that I don\u0027t think there\u0027s any\nrealistic case where the fcntl(2) implementation would be preferable,\nand there are many where it\u0027s not.\n\nThe fact that no-one\u0027s mentioned this until now suggests that it\u0027s not a\nheavily used feature anyway.\n\nI\u0027ve also replaced AssertCloseOnExec() with a CloseOnExec()\nboolean-valued function instead, because it\u0027s really annoying getting\nassertion failures that don\u0027t point you at the test line in question,\nand instead point to some common helper code.\n\nTest: treehugger\nChange-Id: Ia2e53bf2664a4f782581042054ecd492830e2aed\n"
    },
    {
      "commit": "11874f8f99979e660d1b3b23760cf6b64b324278",
      "tree": "9c51c7ad95754b8b862c419a95fd02b360e999fe",
      "parents": [
        "78ad991425e979f71632eeda0e755664cd8dc998"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 05 00:52:14 2021 +0000"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 05 00:52:20 2021 +0000"
      },
      "message": "Mark bionic-stress-test as not unit tests as it run forever\n\nThis timed out the invocation when trying to run all cc_test, excluding it from unit tests.\n\nChange-Id: I67758d5e49b607b7c10052bc193d885d9123bedf\nTest: presubmit\nBug: 179092189\n"
    },
    {
      "commit": "444e2f69e95e25a206efb120dff3d4dde637746b",
      "tree": "a20cccffbfae953478b65cd80991d1c0a68020b6",
      "parents": [
        "15ade069b10f7f5291e48c01db2da4852dae04b7"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Jan 26 14:02:23 2021 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Feb 04 23:51:53 2021 +0000"
      },
      "message": "Add -Wno-ignored-pragmas.\n\n* https://reviews.llvm.org/D90316 changed warning on\n  FENV_ACCESS pragma from unknown to ignored.\n  Existing -Wno-unknown-pragmas cannot suppress the new\n  -Wignored-pragmas.\n\nBug: 178516148\nTest: make with WITH_TIDY\u003d1\nChange-Id: I783feef35324ef43946efca844cd944410875bfa\n"
    },
    {
      "commit": "78ad991425e979f71632eeda0e755664cd8dc998",
      "tree": "0b1ccce8679b05bf9aa24b9e8c4479e879ca79a9",
      "parents": [
        "a843e4209292e21d2d86fc600a6d4a87a4a9037a",
        "5cb4d9cef97a30ada3edc10b6aee00ab044f790c"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Feb 04 19:41:06 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 04 19:41:06 2021 +0000"
      },
      "message": "Merge \"Fix \"deprecated instruction in IT block\" warning\""
    },
    {
      "commit": "a843e4209292e21d2d86fc600a6d4a87a4a9037a",
      "tree": "d492ac76360e7f2945b0cb443225e297d5e33788",
      "parents": [
        "0e2b00b96a6ca0f0dfaac6071cb9e70cf1e48ff3",
        "ffa5cbeb8654007d2d57a2a6891da03983e8c885"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 04 06:38:45 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 04 06:38:45 2021 +0000"
      },
      "message": "Merge changes I486e54a1,Idda7161b,Iaf6b6b6a\n\n* changes:\n  Convert generate-NOTICE.py to Python 3, fix name.\n  Convert genfunctosyscallnrs to Python 3.\n  Convert gensecomp.py to Python 3.\n"
    },
    {
      "commit": "5cb4d9cef97a30ada3edc10b6aee00ab044f790c",
      "tree": "83df96ba693bdddfe80c56a282b328e0768fb0af",
      "parents": [
        "15ade069b10f7f5291e48c01db2da4852dae04b7"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Feb 03 15:15:52 2021 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Feb 03 20:54:52 2021 -0800"
      },
      "message": "Fix \"deprecated instruction in IT block\" warning\n\nBug: 179266557\nTest: make with new clang compiler\nChange-Id: I963609861659cbb2be8ed467654109938185c747\n"
    },
    {
      "commit": "ffa5cbeb8654007d2d57a2a6891da03983e8c885",
      "tree": "d492ac76360e7f2945b0cb443225e297d5e33788",
      "parents": [
        "1dffb86205d4a054c4cb412d6ab45fdcc0c86ed7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 03 16:44:37 2021 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 03 17:26:59 2021 -0800"
      },
      "message": "Convert generate-NOTICE.py to Python 3, fix name.\n\nPython module names should be lower case and not use hyphens (the\nformer is a convention, the latter is a requirement for importable\nmodules).\n\nAlso updates the shell script to always use Python 3 so we don\u0027t need\nto maintain Python 2 compatibility.\n\nTest: repo upload, in both a python 2 and python 3 virtualenv\nBug: None\nChange-Id: I486e54a12686b4e528dc6c9c47af5c7a52a7b790\n"
    },
    {
      "commit": "1dffb86205d4a054c4cb412d6ab45fdcc0c86ed7",
      "tree": "f32cec5a357df8c4aadfefc16092984b4895f49a",
      "parents": [
        "bc6999f1c4b40230d86399aa5490c1260b4e0b7a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 03 16:32:10 2021 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 03 16:32:10 2021 -0800"
      },
      "message": "Convert genfunctosyscallnrs to Python 3.\n\nTest: treehugger\nTest: pytest libc/tools\nBug: None\nChange-Id: Idda7161bbd2e2f351e0750874dc4d766ef98cc2b\n"
    },
    {
      "commit": "bc6999f1c4b40230d86399aa5490c1260b4e0b7a",
      "tree": "1098d8a573727109bbbee0fe9a2b69b39f70b7c3",
      "parents": [
        "0e2b00b96a6ca0f0dfaac6071cb9e70cf1e48ff3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 13:13:57 2021 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 03 16:15:17 2021 -0800"
      },
      "message": "Convert gensecomp.py to Python 3.\n\nThe genseccomp tests haven\u0027t been run since at least 2018. Deleted the\nones that are testing APIs that no longer exist or have been\nrefactored to take very different inputs.\n\nTest: treehugger\nTest: pytest tools\nBug: None\nChange-Id: Iaf6b6b6a2e922b181a457a74eb4b5abe90425dfb\n"
    },
    {
      "commit": "0e2b00b96a6ca0f0dfaac6071cb9e70cf1e48ff3",
      "tree": "78dbf139c842064802411a9eb700db8ff5e6c846",
      "parents": [
        "15ade069b10f7f5291e48c01db2da4852dae04b7",
        "ca36633eba51056aa1386c053a88538ee3e09dae"
      ],
      "author": {
        "name": "Jingwen Chen",
        "email": "jingwen@google.com",
        "time": "Wed Feb 03 22:59:43 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 03 22:59:43 2021 +0000"
      },
      "message": "Merge \"Move gensseccomp and genfunctosyscallnrs next to their sources.\""
    },
    {
      "commit": "ca36633eba51056aa1386c053a88538ee3e09dae",
      "tree": "78dbf139c842064802411a9eb700db8ff5e6c846",
      "parents": [
        "15ade069b10f7f5291e48c01db2da4852dae04b7"
      ],
      "author": {
        "name": "Jingwen Chen",
        "email": "jingwen@google.com",
        "time": "Fri Jan 29 05:16:32 2021 -0500"
      },
      "committer": {
        "name": "Jingwen Chen",
        "email": "jingwen@google.com",
        "time": "Tue Feb 02 07:24:24 2021 -0500"
      },
      "message": "Move gensseccomp and genfunctosyscallnrs next to their sources.\n\nThis is a manual refactoring to ensure that the modules respect package boundaries for input files.\n\nTest: m gensseccomp genfunctosyscallnrs\nChange-Id: I8ca6cbe85a50e41bfe874a899653c2309c59a822\n"
    },
    {
      "commit": "15ade069b10f7f5291e48c01db2da4852dae04b7",
      "tree": "ede166a4daad75b9d7ee778a9657a984d8447aae",
      "parents": [
        "bfa368860619279b606c316487f7d40e99e18601",
        "c22562ce6f40ece50c4c0de4a455d6690540e844"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Feb 02 00:30:03 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 02 00:30:03 2021 +0000"
      },
      "message": "Merge changes from topic \"builtins-exported\"\n\n* changes:\n  Use exported variants of arm32/x86 builtins\n  Fix -Wl,--exclude-libs typo: x86-\u003ei686\n"
    },
    {
      "commit": "bfa368860619279b606c316487f7d40e99e18601",
      "tree": "c2efcded7667306680284efaf774fa1814ed8ab7",
      "parents": [
        "d8154a813d745ab23adf0414d31325de6b962926",
        "9cad8424ff7b0fa63b53cb9919eae31539b8561a"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Feb 01 23:32:24 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 01 23:32:24 2021 +0000"
      },
      "message": "Merge \"[MemInit] Remove old API, introduce new MemInit API.\""
    },
    {
      "commit": "d8154a813d745ab23adf0414d31325de6b962926",
      "tree": "62f14263e9ea7267d796fbb9b86fc549224857c7",
      "parents": [
        "c09fe618898c91616a47c1c4c17068135e8d936c",
        "eae41f8eebe3371cdfb7b0a11bf424b15a2179b1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 01 22:50:30 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 01 22:50:30 2021 +0000"
      },
      "message": "Merge \"Fix __VERSIONER_NO_GUARD cases for availability.\""
    },
    {
      "commit": "eae41f8eebe3371cdfb7b0a11bf424b15a2179b1",
      "tree": "62f14263e9ea7267d796fbb9b86fc549224857c7",
      "parents": [
        "c09fe618898c91616a47c1c4c17068135e8d936c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jan 29 16:24:06 2021 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Feb 01 12:53:22 2021 -0800"
      },
      "message": "Fix __VERSIONER_NO_GUARD cases for availability.\n\nlibc++ still depends on these being declared even if they are\nunavailable. This results in a worse error message (a link error\nrather than a compiler diagnostic) if these functions end up being\nused, but without the decl headers like libc++\u0027s math.h can\u0027t be\nincluded because it refers to an undeclared function.\n\nFor the cases where weak symbols aren\u0027t being used, don\u0027t annotate\nthese functions with their availability information.\n\nAlso need to avoid using __builtin_available for this case because the\nNDK doesn\u0027t have __isOSVersionAtLeast yet.\n\n__ANDROID_UNGUARDED_AVAILABILITY__ is being used as a proxy for\n\"building for the NDK\" here because we don\u0027t have a good signal for\nthat which works for both the NDK proper and the NDK-in-the-platform\ncase.\n\nTest: imported into the NDK, built and tested NDK\nBug: None\nChange-Id: I9ef3e19a8fa083bca0be47b80dfef7ba52a94866\n"
    },
    {
      "commit": "c09fe618898c91616a47c1c4c17068135e8d936c",
      "tree": "ebe0bb76978badd89d5d935303fb2befdda9bb9f",
      "parents": [
        "f700de5f531e44434fd78bd678b027ad33403a56",
        "bac0ebbf90fa52de3f58cb7d7297730eeee3ee15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 29 20:07:15 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 29 20:07:15 2021 +0000"
      },
      "message": "Merge \"Sync libm with upstream FreeBSD.\""
    },
    {
      "commit": "c22562ce6f40ece50c4c0de4a455d6690540e844",
      "tree": "832c4594cf0b343e66e98a76a0f9ce6d33096875",
      "parents": [
        "ef1478765da06fad1238d4690911a6f40faa40fb"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 27 17:27:31 2021 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 28 15:42:37 2021 -0800"
      },
      "message": "Use exported variants of arm32/x86 builtins\n\nFor backwards compatibility (e.g. with old apps), arm32 libc.so and\nlibm.so export some of the builtins. On 32-bit x86, libc.so also\nexports some of the builtins.\n\nThe non-exported variant of the builtins will eventually have hidden\nsymbols but doesn\u0027t currently because D93431 hasn\u0027t been merged into\nour toolchain yet. See:\n - https://reviews.llvm.org/D93431\n - I44ec79728db92c089e2f39823c35b6f97d24c1ab in toolchain/llvm_android\n\nBug: http://b/153025717\nTest: bionic unit tests\nChange-Id: Ic489cb06a07ef61412502fc65a21b0cf630c11ed\n"
    },
    {
      "commit": "ef1478765da06fad1238d4690911a6f40faa40fb",
      "tree": "7b211efd5e60fe53190402c7c490085fe75cc404",
      "parents": [
        "f700de5f531e44434fd78bd678b027ad33403a56"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 28 14:06:52 2021 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 28 15:41:47 2021 -0800"
      },
      "message": "Fix -Wl,--exclude-libs typo: x86-\u003ei686\n\nThese lines shouldn\u0027t actually matter, because the DSOs are using\nversion scripts to allow-list exported symbols.\n\nBug: none\nTest: bionic unit tests\nChange-Id: I39d3df8c4f8053624f862b3c6994e30c693e928c\n"
    },
    {
      "commit": "f700de5f531e44434fd78bd678b027ad33403a56",
      "tree": "181f5758f3428b1ccf991699aade68d578d93587",
      "parents": [
        "cdebaffea49d88a1416c839f81d492b30f1539e6",
        "247892e0dc1802eb5c5e59c74256fd7b60f7ad19"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 27 22:57:07 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 27 22:57:07 2021 +0000"
      },
      "message": "Merge \"Do not run clang-tidy with fortify tests.\""
    },
    {
      "commit": "cdebaffea49d88a1416c839f81d492b30f1539e6",
      "tree": "e67dfdad097f8d00909ad36fb1e6ff578b26142b",
      "parents": [
        "e91aebd4fea8d8a0e8a36c61b124be72a08d50ad",
        "347b01b58324516941b338614dec33cc59c6e018"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 27 21:09:27 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 27 21:09:27 2021 +0000"
      },
      "message": "Merge \"[MTE] Change scudo init order to get correct PROT_MTE pages.\""
    },
    {
      "commit": "247892e0dc1802eb5c5e59c74256fd7b60f7ad19",
      "tree": "c6d443ee75ba3feaec24968670de113e31f3f9af",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 27 12:28:20 2021 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 27 12:28:20 2021 -0800"
      },
      "message": "Do not run clang-tidy with fortify tests.\n\n* When clang-tidy is called, its checks\n  gave different diagnostic messages.\n\nBug: 178534530\nTest: mm with WITH_TIDY\u003d1\nChange-Id: I5eec8239d5531f88caefca3c4032f9764deb9e09\n"
    },
    {
      "commit": "e91aebd4fea8d8a0e8a36c61b124be72a08d50ad",
      "tree": "36d682a135e9669f02f6c56b10b3fe6d03f4058d",
      "parents": [
        "cf81e7ca6a61cb69fd692ed4fc12d4615c0c1a24",
        "82c3c11c1870d4094acbd782df7c7f08ca4f2450"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 26 23:19:14 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 26 23:19:14 2021 +0000"
      },
      "message": "Merge \"Increase leniancy in an inherently flaky test.\""
    },
    {
      "commit": "bac0ebbf90fa52de3f58cb7d7297730eeee3ee15",
      "tree": "98b0d23eb181b0350b021fd1a6c784bfba0cfcd6",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 14:17:20 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 14:19:25 2021 -0800"
      },
      "message": "Sync libm with upstream FreeBSD.\n\nUpstream SHA 78599c32efed3247d165302a1fbe8d9203e38974.\n\nTest: treehugger\nChange-Id: Ib103d211315e320df89a6f0bcb30cd8ba67dd603\n"
    },
    {
      "commit": "82c3c11c1870d4094acbd782df7c7f08ca4f2450",
      "tree": "650fe1c5b3dbe14abf3a3167475e214ccff1a69e",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 11:31:29 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 11:31:29 2021 -0800"
      },
      "message": "Increase leniancy in an inherently flaky test.\n\nThe example in the bug was 6ms instead of 5ms. Try 10ms?\n\nBug: http://b/178437652\nTest: treehugger\nChange-Id: I192d602fa4f3499cbf072507245543d0435c5329\n"
    },
    {
      "commit": "cf81e7ca6a61cb69fd692ed4fc12d4615c0c1a24",
      "tree": "81ef15236265ba7a6a0c5f147ab876ff65adc35b",
      "parents": [
        "69d44fd55b531a8d8b8114a6b74e81569a0539a5",
        "128ef8e981623d89b11f9947b1993c11b9e4b1cb"
      ],
      "author": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Tue Jan 26 19:29:37 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 26 19:29:37 2021 +0000"
      },
      "message": "Merge changes from topic \"proc_madvise_framework\"\n\n* changes:\n  Add bionic headers for process_madvise\n  Add a flag to distinguish shared VMAs\n"
    },
    {
      "commit": "9cad8424ff7b0fa63b53cb9919eae31539b8561a",
      "tree": "f7998255ede5ce02dc6406f7e40f9ac70b4c37ed",
      "parents": [
        "d65b31fad659b806401201adb3cd1dcbf38e61e3"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 20 16:03:27 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Jan 25 15:19:31 2021 -0800"
      },
      "message": "[MemInit] Remove old API, introduce new MemInit API.\n\nIntroduces new heap-zero-init API. We\u0027ve realised that it\u0027s better to be\nable to individually control MTE and heap zero-init. Having\nheap-zero-init not be controllable without affecting MTE affects our\nability to turn off heap-zero-init in zygote-forked applications.\n\nBug: 135772972\nTest: On FVP: atest -s localhost:5555 malloc#zero_init \\\nTest: malloc#disable_mte heap_tagging_level\nChange-Id: I8c6722502733259934c699f4f1269eaf1641a09f\n"
    },
    {
      "commit": "69d44fd55b531a8d8b8114a6b74e81569a0539a5",
      "tree": "d2683ee127c696419955b524e00901bd333aa377",
      "parents": [
        "82d0cf50dc2e4579e0b9d1d822c3367215e7799d",
        "3e1d5563b66ed6e8f7e18bfa2029184470c7a6e3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 18:30:20 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 25 18:30:20 2021 +0000"
      },
      "message": "Merge \"PAC/BTI: no need to keep using `hint`.\""
    },
    {
      "commit": "82d0cf50dc2e4579e0b9d1d822c3367215e7799d",
      "tree": "1f2041290cdc40e35267089add56b16df78dcf26",
      "parents": [
        "ee16c724f93ad5d32fd856f771b565c1b48c720b",
        "ebfba5f8c10979b0eb12c03c1515b445b21f0bb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 18:28:27 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 25 18:28:27 2021 +0000"
      },
      "message": "Merge \"[libc] Change literal value in macro\""
    },
    {
      "commit": "3e1d5563b66ed6e8f7e18bfa2029184470c7a6e3",
      "tree": "953156d448e269a1d4825fc97c54fafe53e0b820",
      "parents": [
        "7cff764f3ca453c606da8a548a7b135a6709557d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 08:49:01 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 08:49:01 2021 -0800"
      },
      "message": "PAC/BTI: no need to keep using `hint`.\n\nThe toolchain is new enough that should be able to use the actual\ninstructions now...\n\nTest: treehugger\nChange-Id: I30aafcdc5386268344c40dc6cc9a22caf591915a\n"
    },
    {
      "commit": "ebfba5f8c10979b0eb12c03c1515b445b21f0bb4",
      "tree": "1f2041290cdc40e35267089add56b16df78dcf26",
      "parents": [
        "ee16c724f93ad5d32fd856f771b565c1b48c720b"
      ],
      "author": {
        "name": "Tamas Petz",
        "email": "tamas.petz@arm.com",
        "time": "Fri Jan 22 17:56:27 2021 +0100"
      },
      "committer": {
        "name": "Tamas Petz",
        "email": "tamas.petz@arm.com",
        "time": "Mon Jan 25 11:54:25 2021 +0100"
      },
      "message": "[libc] Change literal value in macro\n\n\"#\" there is incorrect: macro parameter is expected following a hashmark.\n\nTest: build libc with -mbranch-protection\u003dstandard\nChange-Id: Ib8e7ddf260b4cdbd36246cc70f69970f33dee200\n"
    },
    {
      "commit": "ee16c724f93ad5d32fd856f771b565c1b48c720b",
      "tree": "df791196e64d46dfd1a72ef3ca272ddcdb9e7e37",
      "parents": [
        "7032fec1420b567ae7f6f66963c70345316b5d0f",
        "058eb8fa4ef22f6cdc5a25bf42e4766fbf5812ce"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 22 23:48:49 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 22 23:48:49 2021 +0000"
      },
      "message": "Merge \"Ensure same order of global group members in all NS\u0027s\""
    },
    {
      "commit": "058eb8fa4ef22f6cdc5a25bf42e4766fbf5812ce",
      "tree": "c4dcd7b1955a848d40daec8618fb336e97fa3f51",
      "parents": [
        "fcd9c78534b865951eb70b02eb3a424f08ecd6a6"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Dec 17 22:59:04 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 22 03:27:43 2021 -0800"
      },
      "message": "Ensure same order of global group members in all NS\u0027s\n\nDuring \"step 1\" of find_libraries, the linker finds the transitive\nclosure of dependencies, in BFS order. As it finds each library, it\nadds the library to its primary namespace (so that, if some other\nlibrary also depends on it, find_loaded_library_by_soname can find the\nlibrary in the process of being loaded).\n\nLD_PRELOAD libraries are automatically marked DF_1_GLOBAL, and any\nDF_1_GLOBAL library is added to every linker namespace. Previously,\nthis secondary namespace registration happened after step 1. The result\nis that across different namespaces, the order of libraries could vary.\nIn general, a namespace\u0027s primary members will all appear before\nsecondary members. This is undesirable for libsigchain.so, which we\nwant to have appear before any other non-preloaded library.\n\nInstead, when an soinfo is added to its primary namespace, immediately\nadd it to all the other namespaces, too. This ensures that the order of\nsoinfo objects is the same across namespaces.\n\nExpand the dl.exec_with_ld_config_file_with_ld_preload and\ndl.exec_with_ld_config_file tests to cover the new behavior. Mark\nlib1.so DF_1_GLOBAL and use a \"foo\" symbol to mimic the behavior of a\nsignal API interposed by (e.g.) libsigchain.so and a ASAN preload.\n\nTest: bionic unit tests\nBug: http://b/143219447\nChange-Id: I9fd90f6f0d14caf1aca6d414b3e9aab77deca3ff\n"
    },
    {
      "commit": "7032fec1420b567ae7f6f66963c70345316b5d0f",
      "tree": "88300844fdcc09b141fec9fb5b58c9bbef6fea9b",
      "parents": [
        "7cff764f3ca453c606da8a548a7b135a6709557d",
        "370e963dec96785941eb702641545ecd4478e5eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 22 00:01:55 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 22 00:01:55 2021 +0000"
      },
      "message": "Merge \"Remove a tautological #if guard.\""
    },
    {
      "commit": "370e963dec96785941eb702641545ecd4478e5eb",
      "tree": "88300844fdcc09b141fec9fb5b58c9bbef6fea9b",
      "parents": [
        "7cff764f3ca453c606da8a548a7b135a6709557d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 21 14:40:49 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 21 14:40:49 2021 -0800"
      },
      "message": "Remove a tautological #if guard.\n\nTest: treehugger\nChange-Id: Idc144c663f8bf10eec93f80f3dfedf73a095a42b\n"
    },
    {
      "commit": "7cff764f3ca453c606da8a548a7b135a6709557d",
      "tree": "035f7f304c8157c0fcae5a41501a62e403649f18",
      "parents": [
        "d65b31fad659b806401201adb3cd1dcbf38e61e3",
        "268a60019d317ec1b61e8cfc8d4c6ae0cd7f40ab"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jan 21 16:33:05 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 21 16:33:05 2021 +0000"
      },
      "message": "Merge changes from topic \"future_symbol\"\n\n* changes:\n  crtbegin_static is built with min_sdk_version: \"current\"\n  Guard __libc_current_sigrtmin/max with __builtin_available\n  __INTRODUCED_IN macros add the availability attribute\n"
    },
    {
      "commit": "347b01b58324516941b338614dec33cc59c6e018",
      "tree": "b67214d52098360a8ac78e3056bf32654cf19aa2",
      "parents": [
        "d65b31fad659b806401201adb3cd1dcbf38e61e3"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 20 11:25:11 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 20 12:45:07 2021 -0800"
      },
      "message": "[MTE] Change scudo init order to get correct PROT_MTE pages.\n\nscudo_malloc_* for fill contents in __libc_init_scudo calls scudo\u0027s\ninitializers. We haven\u0027t told Scudo whether we want MTE-capable (i.e.\nmapped with PROT_MTE) size class regions yet, which happens in\nSetDefaultHeapTaggingLevel. This can lead to inconsistent mappings,\nwhere processes without ELF notes get the base region with PROT_MTE\n(which is undesirable because the performance implications are not\nknown).\n\nMake sure that scudo is informed of whether regions need to be mapped\nPROT_MTE or not by hoising the tagging level up.\n\nBug: 135772972\nBug: 172365548\nTest: On FVP - \u0027adb shell MEMTAG_OPTIONS\u003doff sanitizer-status\u0027 should\nhave no PROT_MTE mappings (validation by looking for no \u0027mt\u0027 under\n\u0027VmFlags:\u0027 in /proc/smaps\u0027).\n\nChange-Id: Idad64479c4a9459cb40dd211fe942437f8ca16fd\n"
    },
    {
      "commit": "d65b31fad659b806401201adb3cd1dcbf38e61e3",
      "tree": "180b921ceec2c993cbe581a4853683283a5500de",
      "parents": [
        "fcd9c78534b865951eb70b02eb3a424f08ecd6a6",
        "d9a9622c3181ccb77166b44239b76427ed13a7d5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 20 17:49:36 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 20 17:49:36 2021 +0000"
      },
      "message": "Merge \"Don\u0027t set native_bridge_supported: true for ndk libraries\""
    },
    {
      "commit": "fcd9c78534b865951eb70b02eb3a424f08ecd6a6",
      "tree": "44f8e29a8b9cfa1c5163503e095c50ed1c3d42be",
      "parents": [
        "ac78394a5a9398b16e1a8926242352a852c8318d",
        "cdf7175fa5a5e684c3ba23082a313f394f61ef72"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 20 00:10:58 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 20 00:10:58 2021 +0000"
      },
      "message": "Merge \"Switch libc.so and linker to prebuilt LLVM libunwind\""
    },
    {
      "commit": "d9a9622c3181ccb77166b44239b76427ed13a7d5",
      "tree": "a860c98042de260ecfcf0f43ec353186238bb7fc",
      "parents": [
        "e09fc24a94c1a196b8930f8f26c6f5f8c1a47d06"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 19 14:58:25 2021 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 19 14:58:25 2021 -0800"
      },
      "message": "Don\u0027t set native_bridge_supported: true for ndk libraries\n\nNative bridge modules will never compile against stubs, remove\nnative_bridge_supported: true.\n\nTest: m checkbuild\nChange-Id: I0eb93fe1a2c3f6ca34ce4dab17edda8807132ce8\n"
    },
    {
      "commit": "ac78394a5a9398b16e1a8926242352a852c8318d",
      "tree": "8dadb8ba38e284c8456df0c8b22b125cdef147d6",
      "parents": [
        "edec069bb6403aed443171ac3de9b33a731ca36f",
        "01be44d2f8aa037bd5e8fcf1d7f04ce4caede3fe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 19 22:21:08 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 19 22:21:08 2021 +0000"
      },
      "message": "Merge \"Inline call_array for clearer stack traces.\""
    },
    {
      "commit": "01be44d2f8aa037bd5e8fcf1d7f04ce4caede3fe",
      "tree": "522feaafaf690ef4644741eb47201d568f07c853",
      "parents": [
        "9f72aae9e33f2a2b30de0b666c164d3ce1edb9f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 19 09:41:23 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 19 09:47:50 2021 -0800"
      },
      "message": "Inline call_array for clearer stack traces.\n\nNo-one seems to understand that a crash in a random .so from call_array()\nin the linker isn\u0027t a linker bug. They _seem_ to understand (or at least\nclaim to) when we explain that this is just the linker calling their ELF\nconstructors --- despite the fact that the caller of call_array() is\ncall_constructors().\n\nOne experiment we can try though is to inline call_array() to elide that\nframe from the crash dumps. I do also wonder whether renaming\ncall_constructors() to call_elf_constructors() would help/hinder/make no\ndifference. For now I\u0027m leaning toward \"hinder\" because I suspect most\npeople don\u0027t understand \"ELF constructor\" and C++ folks at least will\nprobably be influenced in a not wholly incorrect direction when they\nhear \"constructor\" (whereas \"ELF constructor\" might mislead them back in\nthe direction of \"strange linker magic, not my fault\" again)...\n\n(The reformatting is clang-format\u0027s decision, not mine.)\n\nTest: treehugger\nChange-Id: I65ab95ceb2e988fd053c48c66f51afba17ccfa61\n"
    },
    {
      "commit": "edec069bb6403aed443171ac3de9b33a731ca36f",
      "tree": "b05330d1dc03000e77adeb97aa71daffe847d8e8",
      "parents": [
        "9f72aae9e33f2a2b30de0b666c164d3ce1edb9f3",
        "73366636e1b516dceaef72999b2401a76eb8f41e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 16 06:29:41 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 16 06:29:41 2021 +0000"
      },
      "message": "Merge \"Remove the now-unnecessary android_mallopt() options.\""
    },
    {
      "commit": "73366636e1b516dceaef72999b2401a76eb8f41e",
      "tree": "b05330d1dc03000e77adeb97aa71daffe847d8e8",
      "parents": [
        "9f72aae9e33f2a2b30de0b666c164d3ce1edb9f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 18:08:25 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 18:08:25 2021 -0800"
      },
      "message": "Remove the now-unnecessary android_mallopt() options.\n\nThese are available from mallopt() now, and all callers have been\nswitched over.\n\nBug: http://b/135772972\nTest: treehugger\nChange-Id: I90c7a7573b261c27001a2dfd4589b23861ad613b\n"
    },
    {
      "commit": "9f72aae9e33f2a2b30de0b666c164d3ce1edb9f3",
      "tree": "30525e505fb48bdccc28a70ea2de4f0f42a0de43",
      "parents": [
        "e925485acdfdbef0894bf26e1d0595002b83c696",
        "315969a67eb09607f278cd17ae1637bbf661a559"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 15 23:02:20 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 15 23:02:20 2021 +0000"
      },
      "message": "Merge \"Disable signal frame unwinding tests on arm64\""
    },
    {
      "commit": "128ef8e981623d89b11f9947b1993c11b9e4b1cb",
      "tree": "3167d2f1637b23f43d07c0fc56fe7cd082acd525",
      "parents": [
        "d02148c31af0025582c633cc3dac177022d6da56"
      ],
      "author": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Wed Dec 23 14:59:56 2020 -0800"
      },
      "committer": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Thu Jan 14 19:34:40 2021 -0800"
      },
      "message": "Add bionic headers for process_madvise\n\nTest: atest bionic-unit-tests-static\nBug: 173258203\nChange-Id: I396945b95de364055b87cc53321aed4fad4ebc70\n"
    },
    {
      "commit": "d02148c31af0025582c633cc3dac177022d6da56",
      "tree": "b92a7e724664b8e6ce725c62e65e5e18f09b243e",
      "parents": [
        "e925485acdfdbef0894bf26e1d0595002b83c696"
      ],
      "author": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Mon Nov 23 18:11:02 2020 -0800"
      },
      "committer": {
        "name": "Edgar Arriaga",
        "email": "edgararriaga@google.com",
        "time": "Thu Jan 14 19:34:39 2021 -0800"
      },
      "message": "Add a flag to distinguish shared VMAs\n\nThis flag is required to filter out shared VMAs when compacting memory\nusing process_madvise.\n\nTest: atest bionic-unit-tests-static\nBug: 173258203\n\nChange-Id: I01fc0cc614b03128a5a9b0a6c8c5c2d829b701f9\n"
    },
    {
      "commit": "268a60019d317ec1b61e8cfc8d4c6ae0cd7f40ab",
      "tree": "b628c7b04319b5909e2448a2bdcecb2a83be472d",
      "parents": [
        "bb19208d66ae39a47e8291aca43f9113b4bda694"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Jan 12 23:14:37 2021 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 15 10:40:51 2021 +0900"
      },
      "message": "crtbegin_static is built with min_sdk_version: \"current\"\n\ncrtbegin_static is used by static exectuables which are guaranteed to be\nwith the latest library regardless of their target API level.\n\nThis change is in fact not a regression as crtbegin_static has been\nbuilt with __ANDROID_API__\u003d10000 before\nI645e6bb1234c27ae0a69b7b87a59206cfd350744 when __ANDROID_API__ tracked\nsdk_version, not min_sdk_version. sdk_version was not set for crtbegin_*\nobjects and therefore the default \"current\" was (incorrectly) used.\n\nWith this change, we are recovering the original behavior for the static\nvariant, while the building of the dynamic variant becomes more correct\n- it\u0027s now with __ANDROID_API__\u003d16.\n\nWithout this change, several static executables fail to build as 1)\ncrtbegin_static for them is built with __ANDROID_API__\u003d16 and 2)\nlibc_init_common.cpp uses pthread_atfork which is available only after\nAPI level 23. We hit undefined symbol error when linking.\n\nBug: 134795810\nTest: m\n\nChange-Id: I1430e57302951df33530ea0ae91b0d7a0609bf3d\n"
    },
    {
      "commit": "bb19208d66ae39a47e8291aca43f9113b4bda694",
      "tree": "a0c3d3e9f36395e7aace9f204e22f8790c6d59cb",
      "parents": [
        "23bfed2a10b9b228c63ce70526108ead7b5f8d67"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Sep 02 15:00:21 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 15 10:40:51 2021 +0900"
      },
      "message": "Guard __libc_current_sigrtmin/max with __builtin_available\n\nThe two APIs were added for the API level 21 and beyond. Currently, its\nexistence is tested using the null check which is done regardless of the\nmin sdk version of the compilation unit. (which in turn required us to\nmark the API symbol weak regardless of the min sdk version.)\n\nNow, we have a better way of testing the API availability;\n__builtin_available. The null check is replaced with the call to the\ncompiler-provided macro which determines if the code is running in a\nversion of OS where the API is known to exist.\n\nBug: 150860940\nBug: 134795810\nTest: m\nChange-Id: Ib96c78f8d3cc71d7e755d1eab86051517bbbcc44\n"
    },
    {
      "commit": "23bfed2a10b9b228c63ce70526108ead7b5f8d67",
      "tree": "760501400892a42ec6e60c45fa3aef80b4b0d12d",
      "parents": [
        "b1ba762e34850582a1156ac56d280c8ce1980b28"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Aug 10 13:35:05 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 15 10:40:47 2021 +0900"
      },
      "message": "__INTRODUCED_IN macros add the availability attribute\n\n__INTRODUCED_IN (and its variants) macro is used to mark the\navailability of an API symbol. The macros were used by the versioner\ntool for the NDK clients. When the Bionic headers are processed by the\ntool, APIs with the macros are guarded with __ANDROID_API__. e.g.,\n\nvoid foo() __INTRDUCED_IN(30);\n\nis processed into\n\n\\#if __ANDROID_API__ \u003e\u003d 30\nvoid foo();\n\\#endif\n\nby the versioner.\n\nThe macros however didn\u0027t play a role for other cases, e.g. OS\ncomponents.\n\nThis is too strict for NDK clients and too loose for the non-NDK\nclients. For the former, this completely hides the APIs that are newer\nthan the min sdk version (__ANDROID_API__). For the latter, a call to\nsuch an API can be made without being guarded.\n\nThis change is the first step towards a better way of handling the\nnative APIs availability. The plan is that every NDK APIs are annotated\nwith the availability attribute and callers are required to guard their\nAPI calls with a runtime check if the API is newer than the min sdk\nversion of the caller.\n\nIn this change, the macros now emits the availability attribute for the\nnon-NDK clients (i.e. when not processed by versioner).\n\nBug: 163288375\nBug: 134795810\nTest: m\nChange-Id: I6eb2bce2bc2770cbfd69815e6816b6f25b3d6127\n"
    },
    {
      "commit": "cdf7175fa5a5e684c3ba23082a313f394f61ef72",
      "tree": "6cae1402e4fff658478271c21781ae822c0de686",
      "parents": [
        "315969a67eb09607f278cd17ae1637bbf661a559"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Dec 16 03:37:22 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 14 17:35:05 2021 -0800"
      },
      "message": "Switch libc.so and linker to prebuilt LLVM libunwind\n\nFor libc.so, use a special build of libunwind.a whose symbols aren\u0027t\nhidden (\"libunwind-exported\"), because libc.so exports the _Unwind_*\nAPIs.\n\nBug: http://b/153025717\nTest: bionic unit tests\nChange-Id: I7435e076ec8cc4410e3e6086d3cf5d2c6011c80c\n"
    },
    {
      "commit": "315969a67eb09607f278cd17ae1637bbf661a559",
      "tree": "55b54735235e3b189ba58e885814e5b429ef84c3",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 13 20:34:32 2021 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 14 17:33:38 2021 -0800"
      },
      "message": "Disable signal frame unwinding tests on arm64\n\nThe current libunwind.a LLVM prebuilt lacks the special arm64 signal\nframe unwinder (https://reviews.llvm.org/D90898), so disable the signal\nframe unwinding tests temporarily. (It\u0027s not clear who needs this\nfunctionality on Android -- typically crash dumping should use\nlibunwindstack instead of _Unwind_Backtrace.)\n\nBug: http://b/153025717\nTest: bionic unit tests\nChange-Id: I36644dfe4acbedd937768c3aaaad1010099d602c\n"
    },
    {
      "commit": "e925485acdfdbef0894bf26e1d0595002b83c696",
      "tree": "4849947e9733fa1fbb97686ea77ed18eda47b3ee",
      "parents": [
        "caf32c7697a444a49457619b86d87e265d14971b",
        "446b4dde724ee64a336a78188c3c9a15aebca87c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 00:49:45 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 15 00:49:45 2021 +0000"
      },
      "message": "Merge \"Make \"disable memory mitigations\" and \"set heap tagging level\" more available.\""
    },
    {
      "commit": "caf32c7697a444a49457619b86d87e265d14971b",
      "tree": "472ea1a5d09bef74ec7481757b8b01eb9744548e",
      "parents": [
        "5d83eeb6e4e8d111544061d17e4287ef320806aa",
        "bb1e37358f142428714d829681f8e767d6170db3"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jan 15 00:15:06 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 15 00:15:06 2021 +0000"
      },
      "message": "Merge \"Delay setting linker soname until post-reloc and post-ctor\""
    },
    {
      "commit": "5d83eeb6e4e8d111544061d17e4287ef320806aa",
      "tree": "e022d18c8b689bf0780a01da243477df7f7a9786",
      "parents": [
        "a867371afaf40561e3d4d9caba1cdf6f93172272",
        "df6b16eca02cb85c66d083b49135068f3159d528"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jan 15 00:03:35 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 15 00:03:35 2021 +0000"
      },
      "message": "Merge changes I3ed42b9d,I9b151291\n\n* changes:\n  (NFC) Sort the list of test dependencies alphabetically.\n  Tests for memory tagging ELF notes.\n"
    },
    {
      "commit": "a867371afaf40561e3d4d9caba1cdf6f93172272",
      "tree": "63e128ba0d44e6fa70d6de463a233dd6f6c762c7",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387",
        "4cded9729ba95ffe1549cd4efeed49edde250da1"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 14 23:46:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 14 23:46:12 2021 +0000"
      },
      "message": "Merge \"[MTE] Add MEMTAG_OPTIONS and arm64.memtag.process.* sysprop parsing.\""
    },
    {
      "commit": "446b4dde724ee64a336a78188c3c9a15aebca87c",
      "tree": "4a91430432ee114aa75a82cc8c29e049ee7cce8b",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 14 13:34:20 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 14 13:34:20 2021 -0800"
      },
      "message": "Make \"disable memory mitigations\" and \"set heap tagging level\" more available.\n\nThese were only available internally via android_mallopt(), but they\u0027re\nlikely to be needed by more code in future, so move them into mallopt().\n\nThis change leaves the android_mallopt() options for now, but I plan on\ncoming back to remove them after I\u0027ve switched the handful of callers\nover to mallopt() instead.\n\nBug: http://b/135772972\nTest: treehugger\nChange-Id: Ia154614069a7623c6aca85975a91e6a156f04759\n"
    },
    {
      "commit": "4cded9729ba95ffe1549cd4efeed49edde250da1",
      "tree": "312cb10416da627077db6591654ded5dd7bae0bd",
      "parents": [
        "b1ba762e34850582a1156ac56d280c8ce1980b28"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 07 17:32:00 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 14 13:13:17 2021 -0800"
      },
      "message": "[MTE] Add MEMTAG_OPTIONS and arm64.memtag.process.* sysprop parsing.\n\nThese two options allow for ARM MTE to be enabled dynamically (instead\nof at compile time via the ELF note). They are settable from a non-root\nshell to allow device owners to test system binaries with MTE.\n\nThe following values may be set:\n  1. \u0027off\u0027 -\u003e No MTE, uses TBI on compatible devices.\n  2. \u0027sync\u0027 -\u003e SYNC MTE.\n  3. \u0027async\u0027 -\u003e ASYNC MTE.\n\nThe following methods can be used to launch a process (sanitizer-status)\nwith configurable values:\n  1. adb shell MEMTAG_OPTIONS\u003dasync sanitizer-status\n  2. adb shell setprop arm64.memtag.process.sanitizer-status async \u0026\u0026 \\\n     adb shell sanitizer-status\n\nNote: The system server will require some special handing in the zygote\npre-fork to check the sysprops. The zygote should always have the ELF\nnote. TODO in a subsequent patch.\n\nBug: 135772972\nBug: 172365548\nTest: Launching sanitizer-status above using both the settings.\nChange-Id: Ic1dbf3985a3f23521ec86725ec482c8f6739c182\n"
    },
    {
      "commit": "bb1e37358f142428714d829681f8e767d6170db3",
      "tree": "dfeb40d49cfc271f9fe42a6108b0545d7734c9d8",
      "parents": [
        "b4fd07297606de111c10d0f9a000fdb1e2280387"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Jan 12 23:09:10 2021 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 13 17:48:05 2021 -0800"
      },
      "message": "Delay setting linker soname until post-reloc and post-ctor\n\nSetting the linker\u0027s soname (\"ld-android.so\") can allocate heap memory\nnow that the name uses an std::string, and it\u0027s probably a good idea to\ndefer doing this until after the linker has relocated itself (and after\nit has called C++ constructors for global variables.)\n\nBug: none\nTest: bionic unit tests\nTest: verify that dlopen(\"ld-android.so\", RTLD_NOLOAD) works\nChange-Id: I6b9bd7552c3ae9b77e3ee9e2a98b069b8eef25ca\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": "b4fd07297606de111c10d0f9a000fdb1e2280387",
      "tree": "ad0662b00c26bb779a4139d1ba7fbfb8696275d8",
      "parents": [
        "10edd5e72690c4cae7cb98db931c84b4674825c9",
        "eb760225571b76f2c0b2ff3ecb94d862c22e3ef0"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jan 13 02:34:00 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 13 02:34:00 2021 +0000"
      },
      "message": "Merge \"removing ro.kernel.ebpf.supported property\""
    },
    {
      "commit": "10edd5e72690c4cae7cb98db931c84b4674825c9",
      "tree": "01fd953a59eebc43fcbf0a43fd96a49e07634cef",
      "parents": [
        "b1ba762e34850582a1156ac56d280c8ce1980b28",
        "f9dd1a760af7e3b285169bc38fb33739e54b4636"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 12 22:38:19 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 12 22:38:19 2021 +0000"
      },
      "message": "Merge \"Store soname as a std::string.\""
    },
    {
      "commit": "eb760225571b76f2c0b2ff3ecb94d862c22e3ef0",
      "tree": "06000cc7a917eddaa11d0ed9a91cd8470baa0969",
      "parents": [
        "b1ba762e34850582a1156ac56d280c8ce1980b28"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Jan 11 17:04:29 2021 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Jan 11 18:10:58 2021 -0800"
      },
      "message": "removing ro.kernel.ebpf.supported property\n\nAndroid S devices must support eBPF.\n\nTest: builds, atest, TreeHugger\nBug: 167500195\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I84a8d00f786fca8113dd3d555af279a1029f66f2\n"
    },
    {
      "commit": "b1ba762e34850582a1156ac56d280c8ce1980b28",
      "tree": "de44db41b56528dbed9fc07329cac817143c55f8",
      "parents": [
        "4e67866510aa27445e9d699ed40d55163b66e95f",
        "e1dc4f62eb0475244f69b04f77eeaba18ea179a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 21:50:40 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 11 21:50:40 2021 +0000"
      },
      "message": "Merge \"Fewer copies of ALIGN()/ALIGNBYTES.\""
    },
    {
      "commit": "4e67866510aa27445e9d699ed40d55163b66e95f",
      "tree": "be29d3005912db1337ccaeec0ec31de976483f01",
      "parents": [
        "08959d98b1d695ba00b683b6d473f20a7daac0ff",
        "7e20117a36c6cf7d3fbdee9b2ed4426c72185346"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Jan 11 20:42:44 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 11 20:42:44 2021 +0000"
      },
      "message": "Merge \"Remove ANDROID_EXPERIMENTAL_MTE.\""
    },
    {
      "commit": "e1dc4f62eb0475244f69b04f77eeaba18ea179a8",
      "tree": "cf222070f5e73bd961aa20f8e7350443f12e55d8",
      "parents": [
        "08959d98b1d695ba00b683b6d473f20a7daac0ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 11:51:29 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 11:51:29 2021 -0800"
      },
      "message": "Fewer copies of ALIGN()/ALIGNBYTES.\n\nNoticed while updating fts.c.\n\nBug: http://b/177003648\nTest: treehugger\nChange-Id: Ic3625c1c3af47c4dafb8ad686bbbddbc82b69b70\n"
    },
    {
      "commit": "08959d98b1d695ba00b683b6d473f20a7daac0ff",
      "tree": "0a858a46d14d801fd1891f26721f15e9ec91df1f",
      "parents": [
        "b19fc79350aef43afc7b8370aa67eb5211fb6cf5",
        "03ac158cabd53d15ebfc7699b2a789f4d00db29a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 19:19:22 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 11 19:19:22 2021 +0000"
      },
      "message": "Merge \"Sync upstream fts.c.\""
    },
    {
      "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": "f9dd1a760af7e3b285169bc38fb33739e54b4636",
      "tree": "2b1fcd3ac740a1380267c867f321dd1c37737813",
      "parents": [
        "771af5efc6954f7dfb1420328faeef961378c196"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 09:04:58 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 09:57:46 2021 -0800"
      },
      "message": "Store soname as a std::string.\n\nOnce upon a time (and, indeed, to this very day if you\u0027re on LP32) the\nsoinfo struct used a fixed-length buffer for the soname. This caused\nsome issues, mainly with app developers who accidentally included a full\nWindows \"C:\\My Computer\\...\\libfoo.so\" style path. To avoid all this we\nswitched to just pointing into the ELF file itself, where the DT_SONAME\nis already stored as a NUL-terminated string. And all was well for many\nyears.\n\nNow though, we\u0027ve seen a bunch of slow startup traces from dogfood where\n`dlopen(\"libnativebridge.so\")` in a cold start takes 125-200ms on a recent\ndevice, despite no IO contention. Even though libnativebridge.so is only\n20KiB.\n\nMeasurement showed that every library whose soname we check required\npulling in a whole page just for the (usually) very short string. Worse,\nthere\u0027s readahead. In one trace we saw 18 pages of libhwui.so pulled\nin just for `\"libhwui.so\\0\"`. In fact, there were 3306 pages (~13MiB)\nadded to the page cache during `dlopen(\"libnativebridge.so\")`. 13MiB for\na 20KiB shared library!\n\nThis is the obvious change to use a std::string to copy the sonames\ninstead. This will dirty slightly more memory, but massively improve\nlocality.\n\nTesting with the same pathological setup took `dlopen(\"libnativebridge.so\")`\ndown from 192ms to 819us.\n\nBug: http://b/177102905\nTest: tested with a pathologically modified kernel\nChange-Id: I33837f4706adc25f93c6fa6013e8ba970911dfb9\n"
    },
    {
      "commit": "03ac158cabd53d15ebfc7699b2a789f4d00db29a",
      "tree": "57551ae352a90b157ded66ae2fc79ae1d0707a6b",
      "parents": [
        "771af5efc6954f7dfb1420328faeef961378c196"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 08 14:19:27 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 11 08:43:48 2021 -0800"
      },
      "message": "Sync upstream fts.c.\n\nI realize that we can probably clean up more of our half-forked code by\nreusing the same *-compat.h headers we use for the clean upstream code,\nbut I\u0027ll come back and do that later.\n\nBug: http://b/177003648\nTest: treehugger\nChange-Id: I081255aaafd62718b85956c5502911a1cc80225d\n"
    },
    {
      "commit": "b19fc79350aef43afc7b8370aa67eb5211fb6cf5",
      "tree": "2ad22469f04879ca7dc3070b6d2b803ba2273ed4",
      "parents": [
        "423351439e154e2123a391cda336a8ecf6ceefd3",
        "651f1fa509f4d113fef1424ae99bca16aac01b5f"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Sat Jan 09 04:33:15 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 09 04:33:15 2021 +0000"
      },
      "message": "Merge \"Make the atomic load explicit\""
    },
    {
      "commit": "423351439e154e2123a391cda336a8ecf6ceefd3",
      "tree": "4a0694b300d62c5b096ab4874fbcac4bc88a6b53",
      "parents": [
        "771af5efc6954f7dfb1420328faeef961378c196",
        "1169bf9cf30622a88c511fb26064be5115ccb1c2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Jan 09 00:35:07 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 09 00:35:07 2021 +0000"
      },
      "message": "Merge \"Fix versioner for clang update.\""
    }
  ],
  "next": "771af5efc6954f7dfb1420328faeef961378c196"
}
