)]}'
{
  "log": [
    {
      "commit": "97271920bf831610819ddfa44e4e2cc0815afd6e",
      "tree": "0ba61ad31242b38becb89cab8702df68328a1e71",
      "parents": [
        "7ef4c774da59bbf942b5652b1f68e46cac2e5099"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 06 13:15:00 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Add a tool to track down fd leaks.\n\nAdd a hook that\u0027s called upon file descriptor creation to libc, and a\nlibrary that uses it to capture backtraces for file descriptor creation,\nto make it easier to hunt down file descriptor leaks.\n\nCurrently, this doesn\u0027t capture all of the ways of creating a file\ndescriptor, but completeness isn\u0027t required for this to be useful as\nlong as leaked file descriptors are created with a function that is\ntracked. The primary unhandled case is binder, which receives file\ndescriptors as a payload in a not-trivially-parsable byte blob, but\nthere\u0027s a chance that the leak we\u0027re currently trying to track down\nisn\u0027t of a file descriptor received over binder, so leave that for\nlater.\n\nBug: http://b/140703823\nTest: manual\nChange-Id: I308a14c2e234cdba4207157b634ab6b8bc539dd9\n(cherry picked from commit b7eccd4b1577c101132e52d4a5313d5322dcae2d)\n"
    },
    {
      "commit": "09e77f35ab8d291bf88302bb9673aaa518c6bcb0",
      "tree": "8cd94a94db1ab872266022a3ad2b746d0b215e36",
      "parents": [
        "945001da54637082fb30ea2a8bc50beb24442ffa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 19:20:45 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 29 19:36:14 2020 -0800"
      },
      "message": "_FILE_OFFSET_BITS\u003d64 support for fcntl.\n\nOn Android, fcntl is always implemented by fcntl64(2). This means that\nan LP32 binary can `fcntl(F_SETLK, struct flock)` (because fcntl64(2)\npasses through to the 32-bit fcntl(2) to handle F_SETLK), and it can\nalso `fcntl(F_SETLK64, struct flock64)`. What it can\u0027t do before this\npatch is set _FILE_OFFSET_BITS\u003d64 and then `fcntl(F_SETLK, struct\nflock)` where that `struct flock` is actually implicitly `struct\nflock64`.\n\nMove the kernel uapi structs out of the way, define them ourselves based\non __LP64__ and _FILE_OFFSET_BITS, and fix up the relevant F_ constants.\n\n(Also add a .clang-format to turn off clang-format in libc/include/.)\n\nBug: N/A\nTest: treehugger (and strace!)\nChange-Id: Iccd6c83d9133e1efcf93a7b49a6ae0f1bbd3d58b\n"
    },
    {
      "commit": "fdaf82f96b96aaa4504c2d007befdce5a83ee8c6",
      "tree": "3bac7f0493594f701201e1e31eb469366569f3d8",
      "parents": [
        "0e0b473a4c01ec6b739ac7aa9eccb63005fa3da2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 29 10:23:08 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 29 15:14:20 2020 -0800"
      },
      "message": "Link .clang-format file to system/core one.\n\nUse the .clang-format-2 found in system/core instead of this which is\nnot actually being used.\n\nAlso, enable clang-format running by default.\n\nAll upstream directories are marked as ignoring formatting so that\ntheir source files are not modified.\n\nTest: NA\nChange-Id: Icee6030f373fa5f072df162f97e6f34320e3d89a\n"
    },
    {
      "commit": "0e0b473a4c01ec6b739ac7aa9eccb63005fa3da2",
      "tree": "79f23f7919e4c355d8878fa78c496d9414e94505",
      "parents": [
        "35a09a3493283cb2d08c1f5ac0e550e40b626305",
        "4df29ed9b497ba9b5fd1a9b189a13774c95339e3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 29 17:22:01 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 29 17:22:01 2020 +0000"
      },
      "message": "Merge \"Update to remove direct include of jemalloc_new.\""
    },
    {
      "commit": "b070cabea875c5fd9d671708f45634010dbcbd55",
      "tree": "8a5f9e7b325f15a26be84a6c2ba5aad405dc5d97",
      "parents": [
        "1d8f6f2f5d180db07158e9d75c50adabd2826f30"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 27 16:00:19 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 27 16:00:19 2020 -0800"
      },
      "message": "elf.h: move all the Android extensions together.\n\n...and document them slightly better.\n\nTest: N/A\nChange-Id: I32ad209f4086f617978c093782ac45977561445f\n"
    },
    {
      "commit": "4df29ed9b497ba9b5fd1a9b189a13774c95339e3",
      "tree": "c370597950e31c1f17d496732711ad69afe63b92",
      "parents": [
        "1d8f6f2f5d180db07158e9d75c50adabd2826f30"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jan 24 18:06:42 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 27 14:50:52 2020 -0800"
      },
      "message": "Update to remove direct include of jemalloc_new.\n\nIn order to support scudo for non-svelte malloc and jemalloc5 for\nsvelte malloc, do not include jemalloc_new directly. Move that to\nthe export_include_dirs for libjemalloc5.\n\nAlso, change the way to enable scudo so that it only enables it\nfor the non-svelte config for now.\n\nBug: 137795072\n\nTest: Builds\nChange-Id: I3d68b443fe4d6b21729795649d0dcf66b7e95e03\n"
    },
    {
      "commit": "1d8f6f2f5d180db07158e9d75c50adabd2826f30",
      "tree": "8af545e4ff6561c1d2de2395123fcb5f6fa1a9dc",
      "parents": [
        "f62865767f480e45f042b09bbc7604d5bebdd9ed",
        "6663f5525dafc31de1891d7e0fa6da88c4c7dc4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 27 18:10:13 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 27 18:10:13 2020 +0000"
      },
      "message": "Merge \"Modernize SHT_RELR support.\""
    },
    {
      "commit": "f62865767f480e45f042b09bbc7604d5bebdd9ed",
      "tree": "d1440f61c949635bff90e88ce97684aa21b52436",
      "parents": [
        "823f74b4c379fb178e4cb70ffa97a463ad132f43",
        "d3df35e026e37985754e8766da0afcfcb9531290"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Mon Jan 27 08:36:08 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 27 08:36:08 2020 +0000"
      },
      "message": "Merge \"Soft-enables MAC address restrictions.\""
    },
    {
      "commit": "6663f5525dafc31de1891d7e0fa6da88c4c7dc4b",
      "tree": "20be89b877823e6c2c3521037aa4a21f6bcb0345",
      "parents": [
        "5b9cc3144239511ec9062a3ff47dc20202848388"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 14:36:10 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 24 15:39:01 2020 -0800"
      },
      "message": "Modernize SHT_RELR support.\n\nUntil now we\u0027ve only supported RELR with our own OS-private-use\nconstants. Add support for the official numbers (while maintaining\nsupport for the historical numbers).\n\nAdd tests to ensure we continue to support both indefinitely.\n\nWe can\u0027t yet flip the build system over to using the official constants\nbecause the old GNU binutils objcopy we still use in most cases (for the\nmini-debug section) only supports the historical constants.\n\nBug: http://b/147452927\nTest: treehugger\nChange-Id: If214fce7fade4316115947e90b78ab40864b61f2\n"
    },
    {
      "commit": "29546b91330ca004e298d8ee1d1c6993870128df",
      "tree": "b3d4076c0bc258c5915109159c3d32d470924742",
      "parents": [
        "5b9cc3144239511ec9062a3ff47dc20202848388",
        "5a39cee1ce7638133eaaa65dc09d1734732b309b"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Jan 24 22:39:41 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 24 22:39:41 2020 +0000"
      },
      "message": "Merge \"Make ramdisk_available.\""
    },
    {
      "commit": "484b0cd5d401ea3ff604e3ddb650e4f02f74ad2d",
      "tree": "265c6e217934f8d7a6bd9e59564566a584e5e690",
      "parents": [
        "3af2071f766f3b7da18128c5741ad507e2288ad6"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Fri Jan 24 09:16:44 2020 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Fri Jan 24 09:16:44 2020 -0800"
      },
      "message": "Fix includes for MTE builds.\n\nFixes includes in heap tagging to ensure that bionic under MTE builds\nsuccessfully.\n\nThanks Kevin for finding this!\n\nTest: TARGET_EXPERIMENTAL_MTE\u003dtrue mmma bionic\nBug: N/A\nChange-Id: Idd1b9ed3737e48a35f8d8628d13e85f1d58f5c93\n"
    },
    {
      "commit": "3af2071f766f3b7da18128c5741ad507e2288ad6",
      "tree": "3d47cf8f7e7a4acbbd5476616d73a3f0c35d13d2",
      "parents": [
        "3ff4245c70a0cd340a5231f7f1f7d98608a47b53",
        "d54ad07f50efb5a1f35d460deb5857b6ad220942"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Fri Jan 24 08:40:14 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 24 08:40:14 2020 +0000"
      },
      "message": "Merge \"Extends ifaddrs for cases where the client cannot send RTM_GETLINK requests.\""
    },
    {
      "commit": "3ff4245c70a0cd340a5231f7f1f7d98608a47b53",
      "tree": "ece6fabb44f7340285c65dc73f2a83b198d92ea8",
      "parents": [
        "8fe1fcd804add7a79a4f7dca44a9b624d031b99b",
        "3b21ada5f1bd98b337143ee5d5baba7373bfdbb1"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jan 24 00:26:32 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 24 00:26:32 2020 +0000"
      },
      "message": "Merge \"Add tagged pointers to bionic.\""
    },
    {
      "commit": "8fe1fcd804add7a79a4f7dca44a9b624d031b99b",
      "tree": "d2de101136cc01f7d683f8f41a803a5103d80b81",
      "parents": [
        "51aa2cfe798e062d0f563d039bb427b527bdef8d",
        "22fb267ad6f95ab083abb56e914f8081552108a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 23 20:34:15 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 23 20:34:15 2020 +0000"
      },
      "message": "Merge \"Reimplement realpath.\""
    },
    {
      "commit": "3b21ada5f1bd98b337143ee5d5baba7373bfdbb1",
      "tree": "7e5bf3c1ae9008eccc61f7f6eefef9b0039af1b5",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jan 07 15:47:47 2020 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Jan 23 10:37:24 2020 -0800"
      },
      "message": "Add tagged pointers to bionic.\n\nThis patch introduces tagged pointers to bionic. We add a static tag to\nall pointers on arm64 compatible platforms (needs requisite\ntop-byte-ignore hardware feature and relevant kernel patches).\n\nWe dynamically detect TBI-compatible devices (a device with the TBI feature and\nkernel support) at process start time, and insert an implementation-dependent\ntag into the top byte of the pointer for all heap allocations. We then check\nthat the tag has not been truncated when deallocating the memory.\n\nIf an application incorrectly writes to the top byte of the pointer, we\nterminate the process at time of detection. This will allow MTE-incompatible\napplications to be caught early.\n\nBug: 135754954\nBug: 147147490\n\nTest: cd bionic \u0026\u0026 atest .\nChange-Id: Ie424325ba1e3c4443040ac265aeaa28d9e405d28\n"
    },
    {
      "commit": "51aa2cfe798e062d0f563d039bb427b527bdef8d",
      "tree": "fcadb8484f5eb8f9b69d788e67071da1b8823823",
      "parents": [
        "c53b0e9603f233c28069f9ff9f52d7e3a94b8c43",
        "75064c177fc11b032b4d68b60e6265f2c6c52d9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 23 18:07:39 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 23 18:07:39 2020 +0000"
      },
      "message": "Merge \"Initialize __progname correctly.\""
    },
    {
      "commit": "75064c177fc11b032b4d68b60e6265f2c6c52d9b",
      "tree": "7606da424e6caeae2ab13eecf3097a385324711b",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 20:46:12 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 23 08:28:48 2020 -0800"
      },
      "message": "Initialize __progname correctly.\n\nsetprogname() does a basename, but we were initializing __progname\ndirectly. Stop doing that, and add some tests.\n\nTest: treehugger\nChange-Id: I06f306ade4161b2f0c7e314a3b1b30c9420117b7\n"
    },
    {
      "commit": "d3df35e026e37985754e8766da0afcfcb9531290",
      "tree": "2645aaf3cc0e276815a5814c8605588532e1014f",
      "parents": [
        "d54ad07f50efb5a1f35d460deb5857b6ad220942"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Thu Jan 23 17:05:42 2020 +0100"
      },
      "committer": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Thu Jan 23 17:05:42 2020 +0100"
      },
      "message": "Soft-enables MAC address restrictions.\n\nUpdates getifaddrs() to behave as if RTM_GETLINK requests are not\nallowed for non-system apps that have their target SDK set to R.\n\nThis change will be reverted when kernel changes enforcing this behavior\nare merged, and is purely meant to check for potential appcompat issues\nbeforehand.\n\nBug: 141455849\nTest: atest bionic-unit-tests-static\nTest: atest NetworkInterfaceTest\nTest: Connect to Wi-Fi network\nTest: Set up hotspot\nTest: Cast from device\nTest: Pair Bluetooth device\nTest: Call getifaddrs() directly from within an app.\nTest: Call NetworkInterface#getNetworkInterfaces() from within an app.\nTest: Repeat above tests with an app that targets Android R.\nChange-Id: I472891d3e8a18c86ae478be1bab1048636aa95b4\n"
    },
    {
      "commit": "d54ad07f50efb5a1f35d460deb5857b6ad220942",
      "tree": "d2dd2e14715ac09b33b26d7317bc80d0d79e1c64",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Wed Jan 15 14:17:07 2020 +0100"
      },
      "committer": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Thu Jan 23 16:15:44 2020 +0100"
      },
      "message": "Extends ifaddrs for cases where the client cannot send RTM_GETLINK requests.\n\nThe previous implementation of getifaddrs() depended on RTM_GETLINK requests being allowed, returning an error otherwise. This change makes getifaddrs() attempt to get all necessary information from RTM_NEWADDR messages when RTM_NEWLINK messages are not available.\n\nThe code is functionally the same when RTM_GETLINK requests are allowed. When RTM_GETLINK requests are denied, only interfaces that have a network address are returned, and physical addresses for these interfaces remain unset.\n\nIn addition, this change updates the copyright notice because repohooks asked nicely.\n\nBug: 141455849\nTest: atest bionic-unit-tests-static\nTest: atest NetworkInterfaceTest\nTest: Connect to Wi-Fi network\nTest: Set up hotspot\nTest: Cast from device\nTest: Pair Bluetooth device\nTest: Call getifaddrs() directly from within an app.\nTest: Call NetworkInterface#getNetworkInterfaces() from within an app.\n\nChange-Id: Ia47e037d181ca5df6d9fdae19b405cabfafc6b0f\n"
    },
    {
      "commit": "00a131f387e7cde76c30bd3fbbd81ab5d86adf49",
      "tree": "f6a3a587f5282fa417b3f08a87741bdbc17db71f",
      "parents": [
        "96fbba1ea07c1496c3fbde86b19b935badc74084"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 22 23:23:17 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 22 23:29:43 2020 -0800"
      },
      "message": "Update for change MapInfo constructor.\n\nBug: 148075852\n\nTest: Ran unit tests.\nChange-Id: I8326d8db9887e2bba26d6d94786a72c49edc5d21\n"
    },
    {
      "commit": "22fb267ad6f95ab083abb56e914f8081552108a7",
      "tree": "6c29afacad5803924a83a0430ea509eaa76a0564",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 01 08:07:25 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 18:30:50 2020 -0800"
      },
      "message": "Reimplement realpath.\n\nUse O_PATH like musl to let the kernel do the hard work, rather than the\ntraditional BSD manual scheme.\n\nAlso add the most obvious missing tests from reading the man page, plus\na non-obvious test for deleted files.\n\nBug: http://b/131435126\nTest: treehugger\nChange-Id: Ie8a8986fea55f045952a81afee377ce8288a49d5\n"
    },
    {
      "commit": "3d34bfc45c0ddff4467ab8a1fd8a29e2003d03a4",
      "tree": "d5045a3e0e397f928fffb59e458bec47fdba7498",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9",
        "8bff8bb622fda20aae2764140749bed8b6023f57"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 22 23:51:46 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 22 23:51:46 2020 +0000"
      },
      "message": "Merge \"Update the copyright notice\""
    },
    {
      "commit": "8bff8bb622fda20aae2764140749bed8b6023f57",
      "tree": "9130c05558610d7b08a054d3a93217d0e026a183",
      "parents": [
        "70a5c9923df98d812e84cdd7b66e5d218317ecd9"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 22 13:59:03 2020 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jan 22 13:59:15 2020 -0800"
      },
      "message": "Update the copyright notice\n\nThe repo/pore upload hook made this change automatically.\n\nBug: none\nTest: manual\nChange-Id: I1a00edc525f05b53511d8affd84bff926a5c090d\n"
    },
    {
      "commit": "5a39cee1ce7638133eaaa65dc09d1734732b309b",
      "tree": "58a1b9f81bac698e2f5c107ce5e1645633b4e750",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Jan 21 16:43:56 2020 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 22 12:09:33 2020 -0800"
      },
      "message": "Make ramdisk_available.\n\nTest: pass\nBug: 147347110\nChange-Id: I142311a7558a19d209bcd63207a88e12cf6f130e\n"
    },
    {
      "commit": "73e9f242ed07631798433df4e35f5f73443cb9f9",
      "tree": "c5015260f7231c087ff1555548a51c1c187fb035",
      "parents": [
        "70a5c9923df98d812e84cdd7b66e5d218317ecd9",
        "a8c454245054a34c7a6cb8f4ceadb2271d0c350a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 00:59:19 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 22 00:59:19 2020 +0000"
      },
      "message": "Merge \"There are no typewriters in 2020.\""
    },
    {
      "commit": "c8226ec23d8aec160356f51227cecbd7771826a4",
      "tree": "9983425bf147dc8dc577364c95703c7754467b6d",
      "parents": [
        "39d9156bdc435999f01d8a06983924b77a75580a",
        "9981a1dac84169c116241a923d99b365dfe1f462"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 21 21:32:32 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 21 21:32:32 2020 +0000"
      },
      "message": "Merge \"Revert \"Enable the scudo native allocator.\"\""
    },
    {
      "commit": "39d9156bdc435999f01d8a06983924b77a75580a",
      "tree": "d923c1a1cb43909d50b2e49b0e9bbd9bae8c36bf",
      "parents": [
        "b04be9b4ee45613000c669224044c2d2fbb86d4d",
        "f2b1e03606968acc7557c3e35e7e36a7da3ec524"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jan 21 21:28:44 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 21 21:28:44 2020 +0000"
      },
      "message": "Merge \"Export the unwinder implementation from libc.\""
    },
    {
      "commit": "a8c454245054a34c7a6cb8f4ceadb2271d0c350a",
      "tree": "16429eabd4e1af9f3de6d85d58c8a02f6ba52659",
      "parents": [
        "3779d6da40fc90b989b343c1b0d5b22611226b43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 21 13:10:13 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 21 13:10:13 2020 -0800"
      },
      "message": "There are no typewriters in 2020.\n\nThe BSD \"Not a typewriter\" translation of ENOTTY looks very weird in\n2020. The glibc \"Inappropriate ioctl for device\" is more generic, and\nso much less likely to be inappropriate.\n\nTest: strace on a failed fs ioctl\nChange-Id: Iad374d6b91ca9f2e4fa1079986fd698feef8359f\n"
    },
    {
      "commit": "b04be9b4ee45613000c669224044c2d2fbb86d4d",
      "tree": "7526c04e7ec0bccd8ce3314fd47a703730af12a5",
      "parents": [
        "227b44d69d1384bb7258f3ca2a353dca7dcb0877",
        "e95316330bbbad46ef1cb3e0fa612639698b55cd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 21 19:35:25 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 21 19:35:25 2020 +0000"
      },
      "message": "Merge \"platform profiler signal: add traced_perf codepath\""
    },
    {
      "commit": "9981a1dac84169c116241a923d99b365dfe1f462",
      "tree": "ac35a77076a4f86234dd3db4b3f72bb019220495",
      "parents": [
        "b1989584125ff863986068e2080e0ea686bf0b81"
      ],
      "author": {
        "name": "Anna Trostanetski",
        "email": "atrost@google.com",
        "time": "Mon Jan 20 20:16:29 2020 +0000"
      },
      "committer": {
        "name": "Anna Trostanetski",
        "email": "atrost@google.com",
        "time": "Mon Jan 20 20:17:10 2020 +0000"
      },
      "message": "Revert \"Enable the scudo native allocator.\"\n\nThis reverts commit b1989584125ff863986068e2080e0ea686bf0b81.\n\nReason for revert: b/147838132. Breaks JNI calls.\n\nBug: 147838132\n\nChange-Id: I657cf9fddc1e8ee60c1830a1b3f560ab51928a40\n"
    },
    {
      "commit": "2185a123128b0e8a6506e0b4195d03a9d9225079",
      "tree": "d1915cc2d90a1e5745bc313e5d39f7a750530e63",
      "parents": [
        "f5421dde7f6c9d2c79f840e474072fab31478d25"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Jan 17 09:37:26 2020 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Jan 17 12:12:26 2020 -0800"
      },
      "message": "Add a README.md for async_safe\n\nParticularly to document why both this and liblog exist, when they do\nessentially the same thing.\n\nTest: n/a\nChange-Id: I216194402a12270cfbb6bc9b840d054dc9c1dc16\n"
    },
    {
      "commit": "b72fed164ed633525e0376087e51daa4652f8e16",
      "tree": "4be0bd67d4bb77165314c7495b79a02f5f3cfaf3",
      "parents": [
        "c9bde27fbb7f60246532c20d06a08b8af6d95790",
        "175c8867b05ec14a8da1fd528c2bf17c4e67c280"
      ],
      "author": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Thu Jan 16 16:04:08 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 16 16:04:08 2020 +0000"
      },
      "message": "Merge \"allow for heapprofd\u0027s signal to be multiplexed\""
    },
    {
      "commit": "e95316330bbbad46ef1cb3e0fa612639698b55cd",
      "tree": "235ad453cda544dff949af6495e48d2ffa2d8ed8",
      "parents": [
        "175c8867b05ec14a8da1fd528c2bf17c4e67c280"
      ],
      "author": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Mon Jan 06 16:51:05 2020 +0000"
      },
      "committer": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Wed Jan 15 22:55:04 2020 +0000"
      },
      "message": "platform profiler signal: add traced_perf codepath\n\nThis patch adds a case for the profiling signal handler (previously just\nfor native heapprofd profiling) when si_value \u003d\u003d 1, corresponding to\ntraced_perf being the requesting party.\n\nThe handler opens /proc/self/{maps,mem}, connects to (init-created)\n/dev/socket/traced_perf, and then sends the fds over the socket.\nEverything happens synchronously within the signal handler. Socket is\nmade non-blocking, and we do not retry.\n\nBug: 144281346\nChange-Id: Iea904694caeefe317ed8818e5b150e8819af91c2\n"
    },
    {
      "commit": "175c8867b05ec14a8da1fd528c2bf17c4e67c280",
      "tree": "ac5536a5465cb98d1810c204dd6762544abdbc5a",
      "parents": [
        "a04764bd286cf86f28d65487e1b6d6d36c9671e8"
      ],
      "author": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Thu Jan 02 19:54:57 2020 +0000"
      },
      "committer": {
        "name": "Ryan Savitski",
        "email": "rsavitski@google.com",
        "time": "Wed Jan 15 22:55:03 2020 +0000"
      },
      "message": "allow for heapprofd\u0027s signal to be multiplexed\n\nThis patch refactors heapprofd_malloc to make it easier to reuse the\nreserved signal for multiple purposes. We define a new generic signal\nhandler for profilers, which dispatches to more specific logic based on\nthe signal\u0027s payload (si_value).\n\nThe profiler signal handler is installed during libc preinit, after\nmalloc initialization (so races against synchronous heapprofd\ninitialization need not be considered). In terms of code organization, I\ncopied the existing approach with a loosely referenced function in\nbionic_globals.h. Do tell if you\u0027d rather a different approach here.\n\nThe profileability of a process is quite tied to the malloc\nfiles/interfaces in bionic - in particular, it\u0027s set through\nandroid_mallopt. I do not change that, but instead introduce a new\nandroid_mallopt option to be able to query profileability of the\nprocess (which is now used by the new profiler signal handler). As part\nof that, gZygoteChildProfileable is moved from heapprofd_malloc to\ncommon (alongside gZygoteChild).\n\nI\u0027ve removed the masking and reraising of the heapprofd signal when\nracing against malloc_limit init. We\u0027re ok with taking a simpler\napproach and dropping the heapprofd signal in such an unlikely race.\n\nNote: this requires a corresponding change in heapprofd to use sigqueue()\ninstead of kill(), as the latter leaves the si_value uninitialized(?) on\nthe receiving side.\n\nBug: 144281346\nChange-Id: I93bb2e82cff5870e5ca499cf86439860aca9dfa5\n"
    },
    {
      "commit": "5ad528917b2846e8813d7b9cb8d306fc17ab5c7d",
      "tree": "d485134f68c7a17ef51f75835e8936520ee8c962",
      "parents": [
        "fee43f6e89e94d1a7b3ff2363492f7970cb38c28",
        "b1989584125ff863986068e2080e0ea686bf0b81"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 15 19:50:35 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 15 19:50:35 2020 +0000"
      },
      "message": "Merge \"Enable the scudo native allocator.\""
    },
    {
      "commit": "be64282b8c33751c309b5a4042609a4ee303a4b3",
      "tree": "6ea8a329603593914a8af92841a7922ccc69928c",
      "parents": [
        "7909f4c667aaa1a869077a793ebd9a5bb7537d2b",
        "e986722e65a8e10597340271bfc1b1e6a7b65099"
      ],
      "author": {
        "name": "Jing Ji",
        "email": "jji@google.com",
        "time": "Wed Jan 15 06:25:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 15 06:25:34 2020 +0000"
      },
      "message": "Merge \"libc: Add pidfd_open to common seccomp allowed list\""
    },
    {
      "commit": "b1989584125ff863986068e2080e0ea686bf0b81",
      "tree": "dacae1d22bfec86aeb03745203de0b6975678735",
      "parents": [
        "7909f4c667aaa1a869077a793ebd9a5bb7537d2b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 14 14:05:34 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 14 17:25:10 2020 -0800"
      },
      "message": "Enable the scudo native allocator.\n\nThis is attempt number two, all known failures and issues have\nbeen fixed.\n\nBug: 137795072\n\nTest: Built both svelte and non-svelte versions. Ran enormous numbers\nTest: of performance testing.\nTest: Ran scudo unit tests.\nTest: Ran bionic unit tests.\nTest: Ran libmemunreachable tests.\nTest: Ran atest CtsRsBlasTestCases on cuttlefish instance.\nChange-Id: Ib0c6ef38b63b7a1f39f4431ed8414afe3a92f9b5\n"
    },
    {
      "commit": "e986722e65a8e10597340271bfc1b1e6a7b65099",
      "tree": "285ad063e5b4355ea59863504553109b54454d4e",
      "parents": [
        "9c5c87ed0575328b004a2512d7ff8ef8495cdcca"
      ],
      "author": {
        "name": "Jing Ji",
        "email": "jji@google.com",
        "time": "Tue Jan 14 14:33:29 2020 -0800"
      },
      "committer": {
        "name": "Jing Ji",
        "email": "jji@google.com",
        "time": "Tue Jan 14 14:35:34 2020 -0800"
      },
      "message": "libc: Add pidfd_open to common seccomp allowed list\n\nApps could use this API to monitor the death of processes\n\nBug: 118991081\nTest: manual\nChange-Id: If38e0b6c57713a069706b59128b22a94f23a497c\n"
    },
    {
      "commit": "26f583f046e75747db5fd6de294ee0cc16fa0068",
      "tree": "b4d6006a7b56ececfc1b21c0860e596cd61a5d8e",
      "parents": [
        "2f21482f14b0500ee8e921fcc910826417219b7b",
        "f39b0856fef005c734c40959f07f711b94c0c4f6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 14 19:08:41 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 14 19:08:41 2020 +0000"
      },
      "message": "Merge \"Consistent \u003ctermios.h\u003e behavior on all API levels.\""
    },
    {
      "commit": "2f21482f14b0500ee8e921fcc910826417219b7b",
      "tree": "74af3c7118829227123e30b53c03d71a47219537",
      "parents": [
        "c7a9d88816fa91a4337327f9b180a3f6d0b327a6",
        "866387dc32849b8a18b2de851a7b14fedfd52ff6"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Tue Jan 14 16:59:18 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 14 16:59:18 2020 +0000"
      },
      "message": "Merge \"Revert \"Move pipe, open, and getdents from the APP to COMMON seccomp whitelist.\"\""
    },
    {
      "commit": "866387dc32849b8a18b2de851a7b14fedfd52ff6",
      "tree": "ecc24a0c0a9e0f70e891f500239c64fee77168c1",
      "parents": [
        "3779d6da40fc90b989b343c1b0d5b22611226b43"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Mon Jan 13 14:05:31 2020 -0500"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Mon Jan 13 14:20:59 2020 -0500"
      },
      "message": "Revert \"Move pipe, open, and getdents from the APP to COMMON seccomp whitelist.\"\n\nThis reverts commit 74cdb253bae513197c5f96545b3c87cd3920e841.\n\nChromium (and thus WebView) no longer uses Breakpad for crash reporting,\nso the old compat syscalls that were whitelisted for Breakpad can be\nmoved back to the APP list.\n\nTest: `am start com.android.settings/.SettingsLicenseActivity`\nTest: Get the pid of the sandboxed_process0 for the license viewer.\nTest: Send the process SIGABRT and check logcat for Crashpad log\n      messages.\n\nBug: 115557900\nChange-Id: I877ebe6bfabec544e58723b2e9a2f84c9cbf0a57\n"
    },
    {
      "commit": "6a363f7f41960bdc0ded3b1f69c4e6d2d336b3e3",
      "tree": "98b033e99dbb9eb6209f06af28af79a8d141058a",
      "parents": [
        "a04764bd286cf86f28d65487e1b6d6d36c9671e8"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Jan 13 10:39:33 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Jan 13 10:40:08 2020 -0800"
      },
      "message": "Let libmemunreachable use bionic_libc_platform_headers.\n\nBug: 135772972\nChange-Id: I2702abce849a46292dc467f9083f3b6816bfc5e6\n"
    },
    {
      "commit": "f2b1e03606968acc7557c3e35e7e36a7da3ec524",
      "tree": "97fc6c6a20f8a2eeb63d17dbeab9092feb8f584f",
      "parents": [
        "27a8c60f045f939ab1cb7157313778966ed29404"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Dec 10 17:41:16 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 10 19:07:59 2020 -0800"
      },
      "message": "Export the unwinder implementation from libc.\n\nThis supports the soong commit which causes most platform binaries to stop\nstatically linking against the unwinder implementation. The soong commit\nmessage has more motivation for this change.\n\nARM32 uses LLVM libunwind, while all other platforms use libgcc as the\nunwinder implementation. This matches the current choices of unwinders on\nthe various architectures, but means that apps which were directly linking\nagainst the libc.so unwinder symbols on ARM32 are now using LLVM libunwind\ninstead of libgcc.\n\nSet libc_headers sdk_version to 1 so that libunwind_llvm can depend on it,\nand stop statically linking libunwind into libc_malloc_debug.\n\nBug: 144430859\nChange-Id: I52c7f7893d93f500383aeb0b76086c3b6f1935a5\n"
    },
    {
      "commit": "6dfde988e3a68ea627cea9c71fd411599229172e",
      "tree": "f1e501ea735717cd1b3c2a7841936d88ddecdcf9",
      "parents": [
        "3779d6da40fc90b989b343c1b0d5b22611226b43",
        "1e110fb717b70da82a36b3627020f218e3dea1d8"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 10 15:22:24 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 10 15:22:24 2020 +0000"
      },
      "message": "Merge \"Add an android_mallopt for controlling the heap tagging level.\""
    },
    {
      "commit": "f39b0856fef005c734c40959f07f711b94c0c4f6",
      "tree": "553d6335e5816e0a9f680a7165c8ad972de85564",
      "parents": [
        "3779d6da40fc90b989b343c1b0d5b22611226b43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 16:28:22 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 16:42:15 2020 -0800"
      },
      "message": "Consistent \u003ctermios.h\u003e behavior on all API levels.\n\nBug: https://issuetracker.google.com/146886722 (where the difference was noticed)\nBug: http://b/69816452 (most recent fixes)\nTest: treehugger\nChange-Id: I487399c44f63ba276ccde74bf0c4a01e4cd4f4bf\n"
    },
    {
      "commit": "1e110fb717b70da82a36b3627020f218e3dea1d8",
      "tree": "f264aada1b4f8449a2b55ed6c95fe1c4465080f9",
      "parents": [
        "f4e03ef45bd0ed3160c4302801d0b6388da081b6"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 09 10:48:22 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 09 16:39:10 2020 -0800"
      },
      "message": "Add an android_mallopt for controlling the heap tagging level.\n\nThis doesn\u0027t add any functionality for now, but there are\na couple of changes in flight that will want to add enumerators\nto the mallopt, so let\u0027s give them a place to add them.\n\nBug: 135772972\nBug: 135754954\nChange-Id: I6e810020f66070e844500c6fa99b703963365659\n"
    },
    {
      "commit": "3779d6da40fc90b989b343c1b0d5b22611226b43",
      "tree": "ea9dd683f20ad87d47e13033663d357821a6acc0",
      "parents": [
        "932a83399a11f9c8ff3faa5f3d388f3a4c339970",
        "580d17d2adec17e3bd926445573c1e51d5f1621f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 08 03:43:18 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 03:43:18 2020 +0000"
      },
      "message": "Merge \"Add /system_ext/bin to shell search path\""
    },
    {
      "commit": "932a83399a11f9c8ff3faa5f3d388f3a4c339970",
      "tree": "ad7207afc6bb15429f351005ca88ff3a53b58b36",
      "parents": [
        "d63a8c67fb55b59b21cac50c1b82ab3098af75aa",
        "5a750f3cf7756f3426402bc063ff30ee13956e07"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Jan 08 02:32:17 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 02:32:17 2020 +0000"
      },
      "message": "Merge changes from topic \"update-clang-tools-6114689\"\n\n* changes:\n  versioner: Add __VERSIONER_FORTIFY_INLINE\n  versioner: Only enable annotation while running versioner\n"
    },
    {
      "commit": "580d17d2adec17e3bd926445573c1e51d5f1621f",
      "tree": "50e4a4f2c68b3a653f20ba277c25d053ca97aa80",
      "parents": [
        "d2b8149ddad8b21ce535fb02ff752c85c7aa9d43"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Jan 07 20:19:20 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Jan 07 20:39:52 2020 +0900"
      },
      "message": "Add /system_ext/bin to shell search path\n\n/system_ext/bin has executable binaries. They must be in the shell\nsearch path.\n\nBug: 134909174\nBug: 134359158\nTest: check PATH in the adb shell\nChange-Id: I997a2347fa85c444f2e335bede0d63b7703ba001\n"
    },
    {
      "commit": "51d158f38dfdb0d443d1e1fa7d1f7a0053093d69",
      "tree": "58c0f055d30ee3121366843f70fe7aaa976139bd",
      "parents": [
        "7bc71075eabaf037397065c0374a536c7eba52e2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 06 14:29:06 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 06 14:29:06 2020 -0800"
      },
      "message": "Fix a few incorrect types in SYSCALLS.TXT.\n\nNothing that actually affected the generated code.\n\nTest: treehugger\nChange-Id: I14b3a5f4608d9f446beb1d039bc434a214632a6b\n"
    },
    {
      "commit": "171cf7a66e4faf205f72e3d355bcc2245be9b91b",
      "tree": "9e3451b9f021345f9d04b624b6399b2b756bbd80",
      "parents": [
        "84d00460df204a89c9a166a3c847d4359810abbc",
        "d98dac41df84e3f99d9a2e2bf158dc29ca7edf53"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jan 06 18:50:46 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 06 18:50:46 2020 +0000"
      },
      "message": "Merge \"versioner: Fix fortified sendto\""
    },
    {
      "commit": "5074e7d28f128d8150dd36366b9e0867cfb80a27",
      "tree": "20d1080bef67ac6c1fc5e2d92eb9e4b2b532897c",
      "parents": [
        "4956c372cf320328952665629b2626e7cbc84c54"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Dec 13 13:55:53 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 02 14:14:15 2020 -0800"
      },
      "message": "Move sigrtmin.h into platform headers.\n\nTest: mma\nChange-Id: Ibc97ef96fe9e32b948c245b06039b95fe4342f39\n"
    },
    {
      "commit": "4956c372cf320328952665629b2626e7cbc84c54",
      "tree": "7a02304c6c2eadc93b1b7a357fb31a143b661a89",
      "parents": [
        "e592dacfa254f59bb097c98d118d0c860b181da1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Dec 19 16:35:51 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 02 14:09:50 2020 -0800"
      },
      "message": "Move bionic_macros.h from private to platform.\n\nTest: treehugger\nChange-Id: Ie473914f4c8924c7240b3ac22093a9daf42fc948\n"
    },
    {
      "commit": "5a750f3cf7756f3426402bc063ff30ee13956e07",
      "tree": "f91b37d6af07ea347ab0b45448ec75efa0cfa7ef",
      "parents": [
        "d7d9ebca37df2ee34fd620c26574b12f557c0c16"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Nov 20 10:29:14 2019 -0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Dec 23 07:22:48 2019 -0800"
      },
      "message": "versioner: Add __VERSIONER_FORTIFY_INLINE\n\nThis commit adds `__VERSIONER_FORTIFY_INLINE` to fortify overload\nfunctions.  Fortified functions are always overloaded and are likely to\nbe different from `libc.map.txt`.\n\nBug: 118991081\nTest: source development/vndk/tools/header-checker/android/envsetup.sh \u0026\u0026 \\\n      source build/envsetup.sh \u0026\u0026 \\\n      lunch aosp_arm64-userdebug \u0026\u0026 \\\n      m versioner \u0026\u0026 \\\n      ./bionic/tools/versioner/run_tests.py\nChange-Id: I28903d0f039d74a07eb2833c754ff017335bac95\n"
    },
    {
      "commit": "d7d9ebca37df2ee34fd620c26574b12f557c0c16",
      "tree": "2399b03cf784154d9cabcbd7243481852529370b",
      "parents": [
        "c88331b062803cf2a5257e41b9e38c6a2ea25122"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Nov 27 07:25:07 2019 -0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Dec 23 07:22:48 2019 -0800"
      },
      "message": "versioner: Only enable annotation while running versioner\n\nBug: 118991081\nTest: source development/vndk/tools/header-checker/android/envsetup.sh \u0026\u0026 \\\n      source build/envsetup.sh \u0026\u0026 \\\n      lunch aosp_arm64-userdebug \u0026\u0026 \\\n      m versioner \u0026\u0026 \\\n      ./bionic/tools/versioner/run_tests.py\nChange-Id: Id6cc776f8ea27bf7230c7a63dd75445a99e5ba58\n"
    },
    {
      "commit": "d98dac41df84e3f99d9a2e2bf158dc29ca7edf53",
      "tree": "0964a13ed92b2093f96bdf9ceeda954e9fb9aaa1",
      "parents": [
        "aaffa3c6d4bf620e211257b505223fab370ba3a1"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Nov 20 09:52:06 2019 -0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Dec 23 07:14:05 2019 -0800"
      },
      "message": "versioner: Fix fortified sendto\n\nThis commit fixes an error in fortified `sendto` function.  Since\n`__sendto_chk` is only introduced in API 26, the usage should be guarded\nwith `__ANDROID__API__ \u003e\u003d 26` instead of\n`__ANDROID_API__ \u003e\u003d __ANDROID_API_N_MR1__` (25).\n\nBug: 118991081\nTest: source development/vndk/tools/header-checker/android/envsetup.sh \u0026\u0026 \\\n      source build/envsetup.sh \u0026\u0026 \\\n      lunch aosp_arm64-userdebug \u0026\u0026 \\\n      m versioner \u0026\u0026 \\\n      ./bionic/tools/versioner/run_tests.py\nChange-Id: Ibc08244645c3fe76a72d0107138f67ffd56f5caa\n"
    },
    {
      "commit": "aaffa3c6d4bf620e211257b505223fab370ba3a1",
      "tree": "fa460f4c50db045474035fa67f7fb4e41731c6f4",
      "parents": [
        "5e2ac29165a5ecdff9be1e8b3aa0c0f968abf539"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Nov 20 09:21:04 2019 -0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Dec 23 07:13:33 2019 -0800"
      },
      "message": "versioner: Update libc.map.txt to match annotations\n\nThis commit removes several symbol versions (API 14 and 15) from\n`libc.map.txt` because we no longer support NDK with those API levels.\nThis also matches the versioner annotations in the header files.\n\nThis commit also annotates twalk() with __INTRODUCED_IN(21).  It was\naccidentally removed in aosp/1157510.\n\nTest: source development/vndk/tools/header-checker/android/envsetup.sh \u0026\u0026 \\\n      source build/envsetup.sh \u0026\u0026 \\\n      lunch aosp_arm64-userdebug \u0026\u0026 \\\n      m versioner \u0026\u0026 \\\n      ./bionic/tools/versioner/run_tests.py\nChange-Id: I211fe5b7b1b66793d5e76a8676f9d18825f96b5e\n"
    },
    {
      "commit": "95c6cd753f028b1afc0c6a800a3dd6bd85a5a6a0",
      "tree": "3d785e53e88c0b5864a8129c7b13e31f5d0e9caf",
      "parents": [
        "508d270886e90fac23ce51f81864d009307f13ae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "message": "Stop using the __ANDROID_API_x__ constants.\n\nHistorically we\u0027ve made a few mistakes where they haven\u0027t matched the\nright number. And most non-Googlers are much more familiar with the\nnumbers, so it seems to make sense to rely more on them. Especially in\nheader files, which we actually expect real people to have to read from\ntime to time.\n\nTest: treehugger\nChange-Id: I0d4a97454ee108de1d32f21df285315c5488d886\n"
    },
    {
      "commit": "5105ece8160b2e2ebf4a663ce6b4d3aa689067cb",
      "tree": "f43417731c81aa512f878960394861bffac8d820",
      "parents": [
        "6ffbe97859fb6f753a9c0d1b2bfe220af9b2ca46"
      ],
      "author": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Thu Dec 19 19:08:58 2019 +0000"
      },
      "committer": {
        "name": "Ytai Ben-tsvi",
        "email": "ytai@google.com",
        "time": "Thu Dec 19 19:09:59 2019 +0000"
      },
      "message": "Revert \"Enable the scudo native allocator.\"\n\nThis reverts commit 6ffbe97859fb6f753a9c0d1b2bfe220af9b2ca46.\n\nReason for revert: Droidcop-triggered revert due to breakage b/146543543\n\nChange-Id: Ie9a5b2f6ca5dbc8d3c6cafe70e34838d74e45c56\nBug: 146543543\n"
    },
    {
      "commit": "6ffbe97859fb6f753a9c0d1b2bfe220af9b2ca46",
      "tree": "265edc47c58a9835676461ff0577951be11d23dd",
      "parents": [
        "35ee9d9a9f42e410c5fa573602e9be0c5df5c2e9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Dec 17 10:08:19 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 18 12:27:40 2019 -0800"
      },
      "message": "Enable the scudo native allocator.\n\nBug: 137795072\n\nTest: Built both svelte and non-svelte versions. Ran enormous numbers\nTest: of performance testing.\nTest: Ran scudo unit tests.\nTest: Ran bionic unit tests.\nChange-Id: Iec6c98f2bdf6e0d5a6d18dff0c0883fac391c6d5\n"
    },
    {
      "commit": "35ee9d9a9f42e410c5fa573602e9be0c5df5c2e9",
      "tree": "f43417731c81aa512f878960394861bffac8d820",
      "parents": [
        "4ea64e91e8cdce8cc706ced5ab221a14d4c158ea",
        "69537f1e2aaf835fa3f52a2b0202bc4e9e2df37f"
      ],
      "author": {
        "name": "Wenhao Wang",
        "email": "wenhaowang@google.com",
        "time": "Tue Dec 17 23:41:57 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 17 23:41:57 2019 +0000"
      },
      "message": "Merge \"Add scsi directory\""
    },
    {
      "commit": "69537f1e2aaf835fa3f52a2b0202bc4e9e2df37f",
      "tree": "3f8b034627106d170b21665ab71c6f2b9bad4158",
      "parents": [
        "ca1834de7a8180ee8db0a629fa950387c9da49b1"
      ],
      "author": {
        "name": "Wenhao Wang",
        "email": "wenhaowang@google.com",
        "time": "Tue Dec 17 13:54:04 2019 -0800"
      },
      "committer": {
        "name": "Wenhao Wang",
        "email": "wenhaowang@google.com",
        "time": "Tue Dec 17 14:05:47 2019 -0800"
      },
      "message": "Add scsi directory\n\nThis CL exports bionic/libc/kernel/android/scsi directory\nto enable the usage of header files (e.g. sg.h) on that directory.\n\nTest: Build AOSP 1187028\nChange-Id: If580fcbc67378fab42d4f14cca1de337b603b673\n"
    },
    {
      "commit": "e1fd409fcb075fdfe96b11ffd7d579741902d56a",
      "tree": "35b2d0912edaa83aa67ac744abf59fe542591d6a",
      "parents": [
        "5761dd85b6efbc72449e2fe578486d189ccc9dec"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 16 16:22:55 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 16 16:22:55 2019 -0800"
      },
      "message": "Add support for scudo svelte.\n\nBug: 137795072\n\nTest: Built with scudo and scudo svelte.\nChange-Id: Ib2afd5249b897b818012ee71547af1f4ee60201b\n"
    },
    {
      "commit": "a8f98b4fa5a1e40594c0e4a3455c97c4536b764c",
      "tree": "97d7eaf39cc6182628413f750c7d74bb53d1a782",
      "parents": [
        "c58208bd3a5462f8cf6be6d92848ce94c035e9f5",
        "edbc9e2074130de0d17cd5b13daea2036c5d0bfd"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Dec 16 18:14:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 16 18:14:31 2019 +0000"
      },
      "message": "Merge \"Make android_mallopt weak for native bridge\""
    },
    {
      "commit": "c58208bd3a5462f8cf6be6d92848ce94c035e9f5",
      "tree": "f9ccc502e6a1f45b035f7e4a9b3e2b751ecb2081",
      "parents": [
        "403b99d44a25b16fcf75b859d5a3d7a66f2932db",
        "86a8f3f32dfc2f810ff2576eecdd651d8f7bdea4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 16 17:48:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 16 17:48:52 2019 +0000"
      },
      "message": "Merge \"Update documentation around kernel header imports.\""
    },
    {
      "commit": "e5dbd3f71be78eb2324855447f46eb41542bbcf9",
      "tree": "2b08c154aff0de56e1bd3581df74c0ce43f32530",
      "parents": [
        "838ca10715d8c66aee9cf849c5056b6f3a38e47c",
        "e5e7395c9f59868909077b511572a24e597aa836"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Dec 16 17:02:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 16 17:02:11 2019 +0000"
      },
      "message": "Merge \"Update bionic to use the MTE API proposed on LKML.\""
    },
    {
      "commit": "edbc9e2074130de0d17cd5b13daea2036c5d0bfd",
      "tree": "017dade7fee1f8f7ad11d94cc69b357878289564",
      "parents": [
        "838ca10715d8c66aee9cf849c5056b6f3a38e47c"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Dec 16 16:37:44 2019 +0100"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Dec 16 16:37:44 2019 +0100"
      },
      "message": "Make android_mallopt weak for native bridge\n\nIt is not intercepted by malloc hooks.\n\nTest: bionic-unit-tests --gtest_filter\u003dandroid_mallopt*\nChange-Id: I3fb4101bdcdb62d82a09212fda9eafff7f43c786\n"
    },
    {
      "commit": "afe7e53003138a4b37a4c4877690c99add890ec4",
      "tree": "bb581822381b67b254533d1805c03366193d8c28",
      "parents": [
        "0d61854b39289e5eb3deca937a662e6645b3a296"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Dec 13 17:24:44 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Dec 13 17:24:44 2019 -0800"
      },
      "message": "Clone with --depth 1 in generate_uapi_headers.sh --download-kernel.\n\nTest: manual\nChange-Id: Id60b354fb1914470315976dd103d2665a6fefab8\n"
    },
    {
      "commit": "86a8f3f32dfc2f810ff2576eecdd651d8f7bdea4",
      "tree": "bcb2507d98a32fb91e07a848179b1474f04a8485",
      "parents": [
        "0d61854b39289e5eb3deca937a662e6645b3a296"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Dec 13 17:17:10 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Dec 13 17:20:20 2019 -0800"
      },
      "message": "Update documentation around kernel header imports.\n\nTest: NA\nChange-Id: I8866ef30efbc565e8996c574a9f895c574cd8e55\n"
    },
    {
      "commit": "0d61854b39289e5eb3deca937a662e6645b3a296",
      "tree": "c5dc1361f8288c17e0c944b2862f764bc57089f3",
      "parents": [
        "b8c16c02e838675a61deb08fc6ac8c4173a0795f",
        "9584fa46e9dd7071f8ad870341e7a0ab5ab918e8"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Dec 13 21:39:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 13 21:39:54 2019 +0000"
      },
      "message": "Merge \"Update to android-mainline kernel headers v5.4.\""
    },
    {
      "commit": "e5e7395c9f59868909077b511572a24e597aa836",
      "tree": "29688cbc15a122f23633e06f0014859abff87afc",
      "parents": [
        "b8c16c02e838675a61deb08fc6ac8c4173a0795f"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Dec 12 17:48:36 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Dec 13 12:13:29 2019 -0800"
      },
      "message": "Update bionic to use the MTE API proposed on LKML.\n\nPatch set available here:\nhttps://lore.kernel.org/linux-arm-kernel/20191211184027.20130-1-catalin.marinas@arm.com/\nand in my android-experimental-mte branch.\n\nBug: 135772972\nChange-Id: Ib46fd508330b330ef3afc713a9a4e26675ddb857\n"
    },
    {
      "commit": "b8c16c02e838675a61deb08fc6ac8c4173a0795f",
      "tree": "f2854cc2257c9404c5018027ef9e63112b0729ca",
      "parents": [
        "024f067061c3c8000acf8b3a07fe421cb9e02b51",
        "cdb52fc14747645d42d07e5f680da6058fbfd01c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 13 01:32:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 13 01:32:11 2019 +0000"
      },
      "message": "Merge \"Make private/bionic_page.h available as platform/bionic/page.h.\""
    },
    {
      "commit": "b030de25b862e237fc6a40276b77e6e361d28248",
      "tree": "c6a40a80b2194027367f04acfe4993b01c10ba06",
      "parents": [
        "cad05d2e212f2e38974732826a86adc199504a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 12 15:31:39 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 12 15:32:10 2019 -0800"
      },
      "message": "Use the canonical form of the APL2 boilerplate.\n\nTest: repo upload hooks\nChange-Id: I49fd4d3131d0cc7f26cdc380d180a950c070541a\n"
    },
    {
      "commit": "cdb52fc14747645d42d07e5f680da6058fbfd01c",
      "tree": "9e9e07157d206a7d04e2beddf04f982791f66f61",
      "parents": [
        "cad05d2e212f2e38974732826a86adc199504a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 12 15:26:14 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 12 15:26:14 2019 -0800"
      },
      "message": "Make private/bionic_page.h available as platform/bionic/page.h.\n\nBug: http://b/145825270\nTest: treehugger\nChange-Id: I52958f370c0df2c02cb8250e2cf0705d4e93e908\n"
    },
    {
      "commit": "9584fa46e9dd7071f8ad870341e7a0ab5ab918e8",
      "tree": "69b5e82e39efc53887aa45ae288ff600ae2e49b7",
      "parents": [
        "27a8c60f045f939ab1cb7157313778966ed29404"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 09 15:36:13 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Dec 12 14:59:25 2019 -0800"
      },
      "message": "Update to android-mainline kernel headers v5.4.\n\nUpdate generate_uapi_headers.sh to checkout the android mainline\nkernel. Also, add a small modification to look for the kernel directory\nin common not linux-stable.\n\nRemove deprecated android headers from android/uapi/linux. Also,\nremove f_accessory.h since it\u0027s in the android mainline kernel.\n\nTest: Builds and runs on walleye.\nChange-Id: Ia371305e19f56e6bcc2db6d5b4d299819f07ffc6\n"
    },
    {
      "commit": "570de3337ded15501a7ac79ec2fcc70ab44ee1dd",
      "tree": "8f0268a055440d6f0a59bbb4d1ca807e50b4af22",
      "parents": [
        "27a8c60f045f939ab1cb7157313778966ed29404"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Dec 11 10:00:58 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Dec 11 10:01:15 2019 -0800"
      },
      "message": "Stop linking ndk_cruft*.cpp into libc.a.\n\nWe are about to introduce code into ndk_cruft that uses dlfcn.h, which isn\u0027t\navailable in static executables. Besides, none of the users of libc.a ought\nto be depending on ndk_cruft anyway.\n\nBug: 144430859\nChange-Id: Ic1f2e554e1fdbfee768c859acac032c1306d71fc\n"
    },
    {
      "commit": "c6b38aefa71b773d4b077ba2db2af7c3604b9cd6",
      "tree": "782074f038c271448de7624fa4a5aee0cdb97c81",
      "parents": [
        "1134b695bc3e8b7cdebf4d7d8238a58891a09045"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 22 11:15:42 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 22 11:16:23 2019 -0800"
      },
      "message": "Sync with upstream OpenBSD strstr().\n\nBug: http://b/124855136\nTest: treehugger\nChange-Id: I6cbeb82bc0e418f50e6c171ac4e38e335c448db8\n"
    },
    {
      "commit": "feb88ff424298e58c3c6002c033be3ff4365533e",
      "tree": "ab9caa48a0d00336cea4130fc32d35d031869066",
      "parents": [
        "b902de6499145185122dc9cd438686eb3748421c",
        "9a4b68e20d617b2cb3355071521f16e8c3d538df"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 21 02:34:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 21 02:34:06 2019 +0000"
      },
      "message": "Merge \"Take a bunch of trivial patches from upstream OpenBSD.\""
    },
    {
      "commit": "b902de6499145185122dc9cd438686eb3748421c",
      "tree": "482a080159c964a346f02c5bc01612a7f61c6746",
      "parents": [
        "0e4af16ad54d4b2e37123628cdc7708a21b27c6e",
        "8a0cdb15a1f6bbce41dcb185237f8723e6b101fd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 21 01:02:56 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 21 01:02:56 2019 +0000"
      },
      "message": "Merge \"fortify: allow diagnostics without run-time checks (attempt #2)\""
    },
    {
      "commit": "9a4b68e20d617b2cb3355071521f16e8c3d538df",
      "tree": "c1f53c5498c2f080d4f524c428e3b3d1fa800e2e",
      "parents": [
        "2a8bca749533dcefabff497d4f7346a35601a702"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 14:56:22 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 14:57:01 2019 -0800"
      },
      "message": "Take a bunch of trivial patches from upstream OpenBSD.\n\nTest: treehugger\nChange-Id: Ie18a94cddada926eff23b53ac9e4d5e5cabd91ed\n"
    },
    {
      "commit": "1fb79443d6b383e65a4476fa3bfe0147c74dfb1d",
      "tree": "7e20b2f3c43f34dfca3e2c2131ccc9074f5c09c1",
      "parents": [
        "2a8bca749533dcefabff497d4f7346a35601a702"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Nov 19 17:00:49 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Nov 19 17:27:42 2019 -0800"
      },
      "message": "Issue a prctl to let the kernel accept tagged pointers in syscall arguments.\n\nThis is a no-op (kernel returns -EINVAL) if the kernel doesn\u0027t understand\nthe prctl.\n\nBug: 144799191\nChange-Id: I8708e92e31d7a60b2847ae2bc242e46dafb77680\n"
    },
    {
      "commit": "8a0cdb15a1f6bbce41dcb185237f8723e6b101fd",
      "tree": "7db1fcdfcc891d33d32c8add93efdb6d6131420b",
      "parents": [
        "2a8bca749533dcefabff497d4f7346a35601a702"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 21 13:27:57 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Nov 19 14:20:26 2019 -0800"
      },
      "message": "fortify: allow diagnostics without run-time checks (attempt #2)\n\nIn configs like ASAN, we can\u0027t use _chk functions. This CL builds off of\nprevious work to allow us to still emit diagnostics in conditions like\nthese.\n\nWasn\u0027t 100% sure what a good test story would look like here. Opinions\nappreciated.\n\nBug: 141267932\nTest: checkbuild on internal-master. TreeHugger for x86_64.\nChange-Id: I65da9ecc9903d51a09f740e38ab413b9beaeed88\n"
    },
    {
      "commit": "2a8bca749533dcefabff497d4f7346a35601a702",
      "tree": "fefe2d7f3f0715eec81080e027a72e6f06da9c6e",
      "parents": [
        "b332a2c0013fd78db5f623b2ee0f57e3c78df482",
        "73166c8bfb03e886708c8a798d7ecd3824417821"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 18 18:10:36 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 18 18:10:36 2019 +0000"
      },
      "message": "Merge \"Stop exporting certain deprecated unwinder symbols from libc.so and libm.so.\""
    },
    {
      "commit": "b332a2c0013fd78db5f623b2ee0f57e3c78df482",
      "tree": "662ff84c90b374cbdd8c39d7dfa5dbb8e5ed5fd0",
      "parents": [
        "b6f26e3b724053925208a7d3f4b465d531c83317",
        "e4619f771984064da861a1be17de53132542dade"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Nov 16 16:32:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 16 16:32:53 2019 +0000"
      },
      "message": "Merge \"Add automatic running of tests on bionic changes.\""
    },
    {
      "commit": "b6f26e3b724053925208a7d3f4b465d531c83317",
      "tree": "3d28e5e4f23ea118ad1488c9ca66778f01e1423a",
      "parents": [
        "0b12b006558769d8d7fb33ee2bd58ab0627fd942",
        "c11e39bcff53b69cff694311b535e561f6f3bc4e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 16 00:48:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 16 00:48:29 2019 +0000"
      },
      "message": "Merge \"Call __libc_init_malloc from scudo.\""
    },
    {
      "commit": "73166c8bfb03e886708c8a798d7ecd3824417821",
      "tree": "05fedd720c32a88f40d7e48e18049e55c6ccf95a",
      "parents": [
        "0b12b006558769d8d7fb33ee2bd58ab0627fd942"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 15 15:51:40 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 15 15:59:58 2019 -0800"
      },
      "message": "Stop exporting certain deprecated unwinder symbols from libc.so and libm.so.\n\nWe have data that indicates that we no longer need to export the libgcc\nunwinder\u0027s implementation detail symbols from libc.so, as well as the entire\nunwinder interface from libm.so, so stop exporting them.\n\nBug: 144430859\nChange-Id: Iebb591c4a121abe6368d9854ec96819abe70a006\n"
    },
    {
      "commit": "e4619f771984064da861a1be17de53132542dade",
      "tree": "2a9d64631584bf725571225d1ee34cf0fdf5b04d",
      "parents": [
        "17dfa33200f8b72e3bf96271f590e2fd7db10529"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Nov 11 14:17:44 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 15 14:19:33 2019 -0800"
      },
      "message": "Add automatic running of tests on bionic changes.\n\nmalloc debug and malloc hooks have been broken for a long time\nand no one noticed. So add them to be run by default on bionic\nchanges since that provides the most coverage.\n\nChange the malloc debug and malloc hooks tests to support isolated\nruns.\n\nChanged the name of the malloc hooks unit tests to system tests\nbecause they weren\u0027t really unit tests.\n\nChanged the verify leak malloc debug tests to print out extra\ninformation so it is possible to figure out what sized allocation\nfailed.\n\nTest: Ran tests.\nChange-Id: Idea4c864f1d62598148ee78d7c9397e45234b1ca\n"
    },
    {
      "commit": "0b12b006558769d8d7fb33ee2bd58ab0627fd942",
      "tree": "bda4e7c740ed21c779ed903d3a89e369352543a0",
      "parents": [
        "17dfa33200f8b72e3bf96271f590e2fd7db10529",
        "db602e8a477622864a72787893554150315d5c09"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 15 20:49:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 15 20:49:58 2019 +0000"
      },
      "message": "Merge \"sysconf(_SC_ARG_MAX): go back to imitating the kernel.\""
    },
    {
      "commit": "db602e8a477622864a72787893554150315d5c09",
      "tree": "b4054f94f0f540eb223afb01f1c79383b0a6e172",
      "parents": [
        "5e85d1b290877201174fdb2f09226b5bd34b80a9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 15 09:04:27 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 15 09:24:35 2019 -0800"
      },
      "message": "sysconf(_SC_ARG_MAX): go back to imitating the kernel.\n\nFor reasons explained in the code comment, go back to roughly our old\ncode. The \"new\" tests are just the old tests resurrected.\n\nThis also passes the current toybox xargs tests, which were the\nmotivation for going back on our earlier decision.\n\nTest: bionic and toybox tests\nChange-Id: I33cbcc04107efe81fdbc8166dc9ae844e471173e\n"
    },
    {
      "commit": "c11e39bcff53b69cff694311b535e561f6f3bc4e",
      "tree": "58d21ac9c59812f54d9307ef2a9a0a074f4321ae",
      "parents": [
        "6dc945babd33f67bef7ed545e737b05b5a087d2a"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Fri Nov 15 08:42:03 2019 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Fri Nov 15 08:42:03 2019 -0800"
      },
      "message": "Call __libc_init_malloc from scudo.\n\nCurrently, scudo doesn\u0027t call libc\u0027s malloc initialisers. This causes\nproblems with any functionality that relies on an initialised__libc_globals\ninside of bionic malloc\u0027s stubs (e.g. malloc()).\n\nThis manifests in two ways (that I can think of):\n 1. Dispatch tables don\u0027t work with scudo, so malloc_debug has never\n worked in an executable linked against scudo.\n 2. Allocators that require initialisation and are called from bionic\n malloc\u0027s stubs (GWP-ASan) never get initialised.\n\nBug: 135634846\nTest: atest bionic-unit-tests-scudo\nChange-Id: I3e3344d7d510ce4e8d3709cd69c8cb0fe5adedda\n"
    },
    {
      "commit": "1d2aadc0363979410f3b0644a98065d729d0f286",
      "tree": "e19e2b248ebc8a8a3537881b7fb1747c9ca20d57",
      "parents": [
        "6dc945babd33f67bef7ed545e737b05b5a087d2a"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Nov 14 16:02:09 2019 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Nov 14 16:02:09 2019 -0800"
      },
      "message": "Init fork handler after __libc_init_malloc.\n\npthread_atfork may call malloc() during its once-init. This causes\nproblems with allocators (GWP-ASan) that require explicit initialisation\nbefore calls to malloc().\n\nBug: 135634846\nTest: atest bionic\nChange-Id: I1810a00465db99d5aa34fa6f74dea5908a628d3a\n"
    },
    {
      "commit": "a4fe44e339e4e84bcea9d81d99625e53a3512f02",
      "tree": "fac9e8c6f4e2ef3978424817aea4172227e4c6aa",
      "parents": [
        "754b27d3ddf29a42b88cc0b2756dd789e83a46e4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Nov 06 12:44:25 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Nov 13 14:31:26 2019 +0900"
      },
      "message": "Rename # vndk tag to # llndk\n\nThe APIs that are tagged with # vndk are actually for LLNDK libraries.\nAlthough LLNDK is part of VNDK, calling those APIs \u0027vndk\u0027 has given\nusers a wrong perception that the APIs don\u0027t need to be kept stable\nbecause that\u0027s the norm for most of the VNDK libraries that are not\nLLNDK.\n\nIn order to eliminate the misunderstanding, rename the tag to \u0027llndk\u0027 so\nthat people introducing new such API will realize what they are signing\nthemselves up for.\n\nBug: 143765505\nTest: m\nMerged-In: I56e49876410bd43723a80d0204a9aef21d20fca9\n(cherry picked from commit 3e2cd44aa41855286d71608810d4c81a7bcc83ae)\nChange-Id: I56e49876410bd43723a80d0204a9aef21d20fca9\n"
    },
    {
      "commit": "b061e77748257c598cc63bd290c7de8c98938362",
      "tree": "66aa9e18199001fcde07a25f484d343997703eff",
      "parents": [
        "afe44cc483ea5a55822123f3c61229045fb3e81f"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Nov 12 14:26:21 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Nov 12 14:26:23 2019 -0800"
      },
      "message": "Link libgcc_stripped into libc.so and libm.so with --whole-archive on ARM.\n\nThis library was previously being statically linked into both libraries as a\nconsequence of the relocation to __aeabi_unwind_cpp_prX present in most object\nfiles. However, after LLVM commit 1549b469, we no longer emit these relocations\non Android, so we need to link the library explicitly with --whole-archive. The\nintent is to eventually stop linking libgcc into these libraries altogether,\nbut for now, we need to keep linking them in order to avoid breaking the build.\n\nChange-Id: I275109527b7cbd6c4247b3fe348975d720626273\n"
    },
    {
      "commit": "afe44cc483ea5a55822123f3c61229045fb3e81f",
      "tree": "0b9edbed97d30cd3709983e9fba85a3ec6e8af7a",
      "parents": [
        "e5c900f011c915a46752c5ff1d9eb876f9777f07",
        "b481a2e743102efc6b18cc586aa979a70e575d64"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 20:43:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 12 20:43:29 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Make system property reads wait-free\"\"\""
    },
    {
      "commit": "b481a2e743102efc6b18cc586aa979a70e575d64",
      "tree": "25b69c933cd0ca4d776d7845ad22a8692157a0cd",
      "parents": [
        "de39d9242ae38733c33173957386db0b8060e52a"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 20:41:55 2019 +0000"
      },
      "committer": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 20:41:55 2019 +0000"
      },
      "message": "Revert \"Revert \"Make system property reads wait-free\"\"\n\nThis reverts commit de39d9242ae38733c33173957386db0b8060e52a.\n\nReason for revert: This revert is not needed\n\nChange-Id: I34af8e5d75c724f6c4066fafbfc6bc7d58377601\n"
    },
    {
      "commit": "de39d9242ae38733c33173957386db0b8060e52a",
      "tree": "2a7e44d156dac92caacf04f9c6c9c3540638a03f",
      "parents": [
        "0cf90556de2bde53a1957c5946036b2fe2e4e429"
      ],
      "author": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 18:24:06 2019 +0000"
      },
      "committer": {
        "name": "Raman Tenneti",
        "email": "rtenneti@google.com",
        "time": "Tue Nov 12 18:24:06 2019 +0000"
      },
      "message": "Revert \"Make system property reads wait-free\"\n\nThis reverts commit 0cf90556de2bde53a1957c5946036b2fe2e4e429.\n\nReason for revert: Device boot failures - 144355953\n\nChange-Id: Icd4fc8c7a1d06d688a6d37e6f1c1aa45563f711b\n"
    },
    {
      "commit": "2e50fa7cf802a544345d456ae108e7f8eeefc720",
      "tree": "8a35529dbf463696fcab7835c8a288be95eded5e",
      "parents": [
        "ebe5bfefe1a01fbd5c64bdbb5a9ad06bd1a72e2d"
      ],
      "author": {
        "name": "jaishank",
        "email": "jaishankar.rajendran@intel.com",
        "time": "Tue Nov 12 08:57:14 2019 +0530"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 12 15:58:34 2019 +0000"
      },
      "message": "Optimized L2 Cache value for Intel(R) Core Architectures.\n\nPerformance Gain:\nAnTuTu             - 4.80%\n3D Mark Sling Shot - 3.47%\nBaseMarkGPU        - 5.51%\nGeekBench          - 3.19%\n\nTest: ./tests/run-on-host.sh 64\n\nChange-Id: I6122835a3f5fd97cc291623d1062fe25843a2d93\nSigned-off-by: jaishank \u003cjaishankar.rajendran@intel.com\u003e\n"
    },
    {
      "commit": "0cf90556de2bde53a1957c5946036b2fe2e4e429",
      "tree": "25b69c933cd0ca4d776d7845ad22a8692157a0cd",
      "parents": [
        "5d9ba9ea702a4d20b99639996b8bd27f121d5bd7"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Tue Oct 29 15:40:16 2019 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Mon Nov 11 11:17:00 2019 -0800"
      },
      "message": "Make system property reads wait-free\n\nRight now, when we read a system property, we first (assuming we\u0027ve\nalready looked up the property\u0027s prop_info) read the property\u0027s serial\nnumber; if we find that the low bit (the dirty bit) in the serial\nnumber is set, we futex-wait for that serial number to become\nnon-dirty. By doing so, we spare readers from seeing partially-updated\nproperty values if they race with the property service\u0027s non-atomic\nmemcpy to the property value slot. (The futex-wait here isn\u0027t\nessential to the algorithm: spinning while dirty would suffice,\nalthough it\u0027d be somewhat less efficient.)\n\nThe problem with this approach is that readers can wait on the\nproperty service process, potentially causing delays due to scheduling\nvariance. Property reads are not guaranteed to complete in finite time\nright now.\n\nThis change makes property reads wait-free and ensures that they\ncomplete in finite time in all cases. In the new approach, we prevent\nvalue tearing by backing up each property we\u0027re about to modify and\ndirecting readers to the backup copy if they try to read a property\nwith the dirty bit set.\n\n(The wait freedom is limited to the case of readers racing against\n*one* property update. A writer can still delay readers by rapidly\nupdating a property --- but after this change, readers can\u0027t hang due\nto PID 1 scheduling delays.)\n\nI considered adding explicit atomic access to short property values,\nbut between binary compatibility with the existing property database\nand the need to carefully handle transitions of property values\nbetween \"short\" (compatible with atomics) and \"long\" (incompatible\nwith atomics) length domains, I figured the complexity wasn\u0027t worth it\nand that making property reads wait-free would be adequate.\n\nTest: boots\nBug: 143561649\nChange-Id: Ifd3108aedba5a4b157b66af6ca0a4ed084bd5982\n"
    },
    {
      "commit": "97c43095b973ae6eb42637f857df75c8c4126ed1",
      "tree": "f137e86e1a6d667a58f53ca20e1d11bf62535ad4",
      "parents": [
        "28fb781ef73ee82d949150b0d3316447b74fe44a"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Nov 11 10:49:10 2019 -0800"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Nov 11 10:49:10 2019 -0800"
      },
      "message": "bionic: libc: remove -Wimplicit-fallthrough\n\naosp/144287300 set it to a global cppflag.\n\nThe compiler upgrade can now check for this warning in C code.\n\nThis patch should be reverted once the BSD sources with instances of\n-Wimplicit-fallthrough have been fixed.\n\nRemove it from cflags, so that it\u0027s not re-enabled for C code until\nfixed.\n\nBug: 139945549\nBug: 144287300\nTest: mm\nChange-Id: Ieca0d5b41634636477392e5209a41807f9b44bd4\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\n"
    },
    {
      "commit": "ffad55954ba6ce33f6121c46eb7dd006f62d414b",
      "tree": "ee9dd896ff965ab548d1baaef266b1142207fb3d",
      "parents": [
        "c686ab54c24df01987b4775970de60f63860572b",
        "f38e8ca149b54e17632c61b7ed5b729f16abb9f9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 08 23:25:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 08 23:25:19 2019 +0000"
      },
      "message": "Merge \"Stop using `__out` as a name.\""
    }
  ],
  "next": "f38e8ca149b54e17632c61b7ed5b729f16abb9f9"
}
