)]}'
{
  "log": [
    {
      "commit": "bf925b0580b63f0746303eb234d2684aadc29dc0",
      "tree": "527d9e983d5b0d4ce4bc11d5424c6104ca8573d0",
      "parents": [
        "d495e0b777a101e6a146e9cc87abf522bc64f687",
        "eadf50601bd968889a0cdb022abf29e2374c39b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 20:09:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 20:09:49 2018 +0000"
      },
      "message": "Merge \"Remove obsolete workaround.\""
    },
    {
      "commit": "eadf50601bd968889a0cdb022abf29e2374c39b1",
      "tree": "5e7bda5df8b37967bb2163b49b8b1217ad3f0f24",
      "parents": [
        "0c39bd468d3aa19b3e27937b36b101cc4aa65dab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 16 11:55:20 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 06 11:17:34 2018 -0800"
      },
      "message": "Remove obsolete workaround.\n\nBug: b/37423073\nTest: builds\nChange-Id: Ib0ad58abc7303967a80bb933501cc1247bb36385\n"
    },
    {
      "commit": "8178c417f68dac9c2d1a6b44dbca1e6b85e5b081",
      "tree": "ac31cd7fcd74e5b7beb05807bae4f288a6dbdf90",
      "parents": [
        "0c39bd468d3aa19b3e27937b36b101cc4aa65dab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 05 13:34:36 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 06 11:15:17 2018 -0800"
      },
      "message": "ART isn\u0027t using the ART-specific linker features any more.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ide3c295035687019608a2c4716a4a21cb889d121\n"
    },
    {
      "commit": "9ce28844db7cf80ee8cf7c88dab23b666eaab739",
      "tree": "a6dc35217992637cf0102c4beba99c6fdcd1ffdc",
      "parents": [
        "e898a17e8f2bf30506642be8106b1f8a6de61151"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 25 12:11:39 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 30 09:21:16 2018 -0700"
      },
      "message": "Update to v4.19 kernel headers.\n\nTest: Builds and boots.\nChange-Id: I99a9ed79666e143b47f02ca4e59eed94f69b7e4a\n(cherry picked from commit a981e2e52e2e95a65fa9c9b6fb16dcb4c83dd576)\n"
    },
    {
      "commit": "90856af78be11457f9b4a32ad8dad4946ae30bb3",
      "tree": "08afc2097c20cfe956ccb87f71b54cc3b2519e3b",
      "parents": [
        "2bfe37afc8a3efc28a2e59e94952c61740783b84",
        "25bcf59cb3f60f84856fca66c854f223f55645d9"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Oct 26 01:33:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 26 01:33:06 2018 +0000"
      },
      "message": "Merge changes I70ea4b23,Iedcfe36b,I3f21fc71,Ie99c0eef\n\n* changes:\n  libc: Match header annotations to version script\n  versioner: Build SymbolDatabase from version scripts\n  versioner: Add 28 to version list\n  libc: Add default __STRING implementation\n"
    },
    {
      "commit": "25bcf59cb3f60f84856fca66c854f223f55645d9",
      "tree": "d6fec62968dde66878d994c25e57ba2c69020a9a",
      "parents": [
        "9c123230e22d8fe9f691a72cc74def92d302a021"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 21:32:37 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Oct 25 14:54:44 2018 +0800"
      },
      "message": "libc: Match header annotations to version script\n\nAccording to `libc.map.txt`, `pselect64()` was introduced since API\nlevel 28. This commit adds the annotations to `sys/select.h`.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: I70ea4b23cef92857f1654cebb660e0219238fc95\n"
    },
    {
      "commit": "6032c38fb3d23a4d38cbc6eb4e180d58d7ef5300",
      "tree": "b7f8343a6fc3767bd968b68ba8b6be74466d027a",
      "parents": [
        "0ba6644b3e52752168798658fc61e26ac9508ab2",
        "2d0b28bc0da1ade2de2b72093dbdb740028fce7c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 24 16:31:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 24 16:31:21 2018 +0000"
      },
      "message": "Merge \"Add getloadavg(3).\""
    },
    {
      "commit": "8daea556e97b1e3b1fd2cf5b213300148ad6dd1a",
      "tree": "bb225ce17779f3ee9ed89b8cb494675cbae650e1",
      "parents": [
        "7562f1ab87e4b51042d185345248f1a54885489a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 23 11:17:24 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 23 13:43:48 2018 -0700"
      },
      "message": "Comment the M_PURGE option.\n\nTest: Compiles.\nChange-Id: Ib9e6f9a3f4b57a930a1ec5c149d273663f97a443\n"
    },
    {
      "commit": "2d0b28bc0da1ade2de2b72093dbdb740028fce7c",
      "tree": "75a1b66144e65f7141e3cf9ddaaae0049b07ca11",
      "parents": [
        "7562f1ab87e4b51042d185345248f1a54885489a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 11:23:00 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 11:23:00 2018 -0700"
      },
      "message": "Add getloadavg(3).\n\nLets us build ninja with bionic.\n\nBug: N/A\nTest: ran tests\nChange-Id: I97eef1247d794b58a2b9aee4851551632e5a4e48\n"
    },
    {
      "commit": "aede30d316fae9399c52b26e70f7e71fdb965412",
      "tree": "04c581d4e7a48e9932bed134511c72ffb79063cd",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 15:03:43 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 21:47:34 2018 +0800"
      },
      "message": "libc: Add default __STRING implementation\n\nThis commit defines a default `__STRING()` definition.  There should be\na default definition because the unit test cases of versioner will\ninclude `android/versioning.h` directly.  We cannot include\n`sys/cdefs.h` in `android/versioning.h` either because that will lead to\ncircular inclusion.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: Ie99c0eef4414fd687347baf3a2d295468877464f\n"
    },
    {
      "commit": "ac578f2587a3bd91b6357fe6cfbef25a627eecde",
      "tree": "f192df82f45783ee7d50f737ef6012fbdb4881e8",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Oct 15 16:26:56 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 22 16:25:28 2018 -0700"
      },
      "message": "malloc: add M_PURGE mallopt flag\n\nAdd a new mallopt flag that purges any pending decaying pages.\n\nTest: boots and works\nbug 117795621\n\nChange-Id: Ib250ae2b705b6a368c1efb801d6a7be54e075acb\n(cherry pciekd from commit 5083e833a650ebe510ed52603ce5c8cd4374c48e)\n"
    },
    {
      "commit": "f7f71e3c7b70c0369cf04cedbd988f55f88918fb",
      "tree": "8872ac6e3608cd8d6feb74621a8c6ed3e8da0632",
      "parents": [
        "7ff7d03286dcf8abc6b4bd0455c428256493c96d"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Aug 31 15:36:48 2018 -0700"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Oct 18 21:38:06 2018 +0100"
      },
      "message": "Add RT signal to load heapprofd library.\n\nTests: Ran malloc_debug_unit_tests\nTests: Flashed to walleye, sent signal, observed\n  \"Unable to open shared library: heapprofd.so\".\n\nChange-Id: Ia8ce216837e29e3edbda8789ca28023d53fa1fda\n"
    },
    {
      "commit": "eb6143037423a241ba8035304936149b300f7a5d",
      "tree": "add55935abdf6bc16c16c6edc111b376a3e3c933",
      "parents": [
        "ecf0c7515d4416ab4bf708b303ab7beab79a6f2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 14:27:36 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 14:27:36 2018 -0700"
      },
      "message": "Don\u0027t #define __ANDROID_NDK__ for the platform build!\n\nCaused an ODR violation trying to build current ToT of toybox.\n\nBug: N/A\nTest: can successfully build code with `#ifdef __ANDROID_NDK__`\nChange-Id: Ia80b8889b267779ee01f6257744e1794db0ebc65\n"
    },
    {
      "commit": "82ab481123c171d2029bb0a7767d649b576ee2f8",
      "tree": "3227b9e82293bb449edfb52e1c753a45e044a4fd",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 09 13:56:06 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 09 13:56:06 2018 -0700"
      },
      "message": "Add _SC_UIO_MAXIOV as a synonym for _SC_IOV_MAX.\n\nglibc and musl both have these as synonyms for one another, so we may\nas well do the same and get backwards compatibility on old OS releases.\n\nBug: N/A\nTest: ran tests\nChange-Id: I6bf38ea446560e1b11022ff539f07eb67c157049\n"
    },
    {
      "commit": "00dda09c08a525db748348ff55e0ad1854605da8",
      "tree": "dd1a33e69ab50ac3a928d57092541ee8ee908dcf",
      "parents": [
        "9ebcb013b192a9f882a2c06f83b39c682be74a64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 14:54:48 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 14:54:48 2018 -0700"
      },
      "message": "\u003csys/param.h\u003e: pollute the namespace with \u003cendian.h\u003e.\n\nglibc does, and autoconf relies on that for its AC_C_BIGENDIAN test.\n\nBug: N/A\nTest: N/A\nChange-Id: I3acaaf0d7a69e8ed4e64239e4fe7f21c7001e717\n"
    },
    {
      "commit": "dd6763a6c677687ad06727af037ed9a7b018c773",
      "tree": "51170c743639731a7e5a1a7540eb3f68870cb893",
      "parents": [
        "9df26193c8adc43a7ac1ba807e70d0b0772712c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 04 16:35:13 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 04 16:35:13 2018 -0700"
      },
      "message": "Another round of documentation.\n\nBug: N/A\nTest: N/A\nChange-Id: I1b818fbb36ddd6d084dee56828290c2717a0c9b0\n"
    },
    {
      "commit": "b177085ce7219562eecf77f2e8de49f8f2605005",
      "tree": "573947a27714273f7d78e9c6f85c9fd30e63dba9",
      "parents": [
        "e4e3de819d05481422f8bb9925486118924bf4a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 18 12:52:42 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 26 14:24:18 2018 -0700"
      },
      "message": "Add reallocarray(3).\n\nOriginally a BSD extension, now in glibc too. We\u0027ve used it internally\nfor a while.\n\n(cherry-pick of e4b13f7e3ca68edfcc5faedc5e7d4e13c4e8edb9.)\n\nBug: http://b/112163459\nTest: ran tests\nChange-Id: I813c3a62b13ddb91ba41e32a5a853d09207ea6bc\nMerged-In: I813c3a62b13ddb91ba41e32a5a853d09207ea6bc\n"
    },
    {
      "commit": "5fa9df8efc96667564cc5289b176592bd7882953",
      "tree": "8ab3d295b163dfc47d4214c059c7e40596a6ea1c",
      "parents": [
        "d527cf1f993f43d23c0cc171d46849c6e427c493"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 07 12:47:00 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Sep 18 13:23:31 2018 -0700"
      },
      "message": "fdsan: add type for libziparchive\u0027s ZipArchive.\n\nTest: debuggerd `pidof system_server` | grep \" fd \"\nChange-Id: I6a9a4306ecffe3899e4cc7285a0eb33efaa62616\n"
    },
    {
      "commit": "d527cf1f993f43d23c0cc171d46849c6e427c493",
      "tree": "f15e7e05ac4716845f56849b9ec4923421699f9e",
      "parents": [
        "431d2ff1418cf94c36437f35b1f55b81e2e1d976"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 07 12:46:02 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Sep 17 17:31:58 2018 -0700"
      },
      "message": "fdsan: add types for Java sockets.\n\nTest: art/tools/run-libcore-tests.sh\nChange-Id: If61211bc4ae225c3f89db989a167f9dc4fce375a\n"
    },
    {
      "commit": "ce934e3d9be9700946ba51a39ba966faf3867a93",
      "tree": "0db870d9253699cf6084818dabbe8f0a46bec6fc",
      "parents": [
        "74934aaf10d629de477095f0b92c467849f89638"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 06 13:26:08 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 06 14:19:46 2018 -0700"
      },
      "message": "Add android_get_device_api_level.\n\nBug: http://b/113615412\nTest: ran tests\nChange-Id: I0a7ae336c96c9ed6543b6935cbc242d14d4a4a67\n"
    },
    {
      "commit": "ab6a0802affb5c8050516c8dafc120906eca7e64",
      "tree": "8ef9fe80562b1b9f645f56419f92afdcac8dacd7",
      "parents": [
        "98b933a4b653f07d1e1f68d4f49aa98e6c60bb19"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 30 17:37:52 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 30 17:37:52 2018 -0700"
      },
      "message": "fdsan: add type for ART\u0027s FdFile.\n\nBug: http://b/113558485\nTest: none\nChange-Id: I9bc874d8689cc54563f2a5878d324b27ad85060e\n"
    },
    {
      "commit": "222ce95c8ab6bb01ced9652c904536adf72d9dc4",
      "tree": "a1b07a272b4d3604abe87cc5ee8ee930cd41af8c",
      "parents": [
        "003521af4760215c9c3b8ba80c88dd3b3c87ab67"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 30 09:26:43 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 30 09:26:43 2018 -0700"
      },
      "message": "Remove ARM/MIPS fenv duplication.\n\nBug: http://b/32709207\nTest: ran tests\nChange-Id: I58d354e9f8b1e6023427ba271bf39e4e24b7f8ab\n"
    },
    {
      "commit": "003521af4760215c9c3b8ba80c88dd3b3c87ab67",
      "tree": "ed22be7f21a8f5b171abb268cc2725a11d89d1c8",
      "parents": [
        "6ef10547e967e1b09d833087f60bd1be2444d0b1",
        "9c6017778bdc41a9c224c7f606f72195e666e36b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 28 22:52:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 22:52:31 2018 +0000"
      },
      "message": "Merge \"Document the set*id functions.\""
    },
    {
      "commit": "6ef10547e967e1b09d833087f60bd1be2444d0b1",
      "tree": "d8bde904c055a4d4b2c2b42ab17de8fc1c94324f",
      "parents": [
        "cd524ca71f90c1c1beca10c95d6cf1669da0b9fd",
        "4be542629a2ee9707e6916dbddd9212ed3e98bb5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 28 22:41:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 22:41:25 2018 +0000"
      },
      "message": "Merge \"Accept NULL for fds parameter in poll.\""
    },
    {
      "commit": "4be542629a2ee9707e6916dbddd9212ed3e98bb5",
      "tree": "69fd3c5d73a4ec5e583779aea34d6cae536257b0",
      "parents": [
        "4b9379c889ed9958094a8e82b27eb8f5d9167e5f"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 28 13:47:06 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 28 14:20:15 2018 -0700"
      },
      "message": "Accept NULL for fds parameter in poll.\n\n* Some callers, e.g. external/curl/lib/select.c, do\n  poll(NULL, 0, ...) and get clang-diagnostic-nonnull check error.\n\nTest: build with WITH_TIDY\u003d1\nBug: 111850071\nChange-Id: I7ea433d185cb84011a954f05964181b5518febd4\n"
    },
    {
      "commit": "cd524ca71f90c1c1beca10c95d6cf1669da0b9fd",
      "tree": "c8275d162a2ca718f30c1dbe2cf3ef7ff3b00eac",
      "parents": [
        "ec247245deaaa9123c65f79f6f594c0a5db0c9d3",
        "be66a06412205baf1077e806eacf0c926e1d87ac"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 28 20:20:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 20:20:21 2018 +0000"
      },
      "message": "Merge changes from topic \"fdsan_abort_msg\"\n\n* changes:\n  fdsan: provide abort message in warning tombstones.\n  Implement pthread_sigqueue.\n  Stringify api_level in \u003candroid/versioning.h\u003e.\n  Delete archaic pre-ANSI C support.\n"
    },
    {
      "commit": "ec247245deaaa9123c65f79f6f594c0a5db0c9d3",
      "tree": "5faeec603f51574252675246955b9102378b68ee",
      "parents": [
        "24107698b4e75ad8f74376c1a86a9b3260622e96",
        "c1b4476808702c160595e1ec725a2b0f2fbd13be"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 28 20:17:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 20:17:59 2018 +0000"
      },
      "message": "Merge changes from topic \"bionic_fdsan_java\"\n\n* changes:\n  fdsan: make the tag type values sequential.\n  fdsan: expose functions to get and interpret tags.\n"
    },
    {
      "commit": "9c6017778bdc41a9c224c7f606f72195e666e36b",
      "tree": "e32da2a82c712c93258c9fbe6a36b8691b689873",
      "parents": [
        "4b9379c889ed9958094a8e82b27eb8f5d9167e5f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 28 12:17:20 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 28 12:17:20 2018 -0700"
      },
      "message": "Document the set*id functions.\n\nIn particular, document the fact that they only affect the calling thread\non Android.\n\nBug: http://b/13134174\nTest: ran tests\nChange-Id: Ica6af451400d47e24358f59495ded63b2110eb8b\n"
    },
    {
      "commit": "24107698b4e75ad8f74376c1a86a9b3260622e96",
      "tree": "0744c9675a39a82db87702b846330fe314f37e00",
      "parents": [
        "3e5a32ce2c24969932634d84e2755755094fa582",
        "27cc4bc4147da374e03d109d992895297be66722"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 28 00:16:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 00:16:34 2018 +0000"
      },
      "message": "Merge \"Add fdsan owner type for sqlite.\""
    },
    {
      "commit": "726b63f725ccfb270bf780c96bdf104a26e72dad",
      "tree": "0b6e0e688d10a1dfdd109f036f73198ec87414ac",
      "parents": [
        "f3aa3007e34eb14e114bd86492d8e6b2673e83c6"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 27 16:00:58 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 27 16:48:17 2018 -0700"
      },
      "message": "Implement pthread_sigqueue.\n\nBug: http://b/112770187\nTest: bionic-unit-tests\nChange-Id: I03382cd5df2490b2e87265dba9007e2cb1b14cd2\n"
    },
    {
      "commit": "f3aa3007e34eb14e114bd86492d8e6b2673e83c6",
      "tree": "8809aa7a61d72a17c1dcf0bcb56a7d3492fa4819",
      "parents": [
        "1dc2503e1a62ae21f32ebaae483cc1f3bf43e33c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 27 13:59:42 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 27 16:48:17 2018 -0700"
      },
      "message": "Stringify api_level in \u003candroid/versioning.h\u003e.\n\nMake it so that we can use __ANDROID_API_\u003cletter\u003e__ constants in\n__INTRODUCED_IN macros.\n\nTest: treehugger\nChange-Id: I0929c01e23e58f51d12f73200e1daf5ef484ea5d\n"
    },
    {
      "commit": "1dc2503e1a62ae21f32ebaae483cc1f3bf43e33c",
      "tree": "ea25776fecef33bccd2adec20137e209a8c320a9",
      "parents": [
        "c1b4476808702c160595e1ec725a2b0f2fbd13be"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 27 13:57:01 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Aug 27 16:48:15 2018 -0700"
      },
      "message": "Delete archaic pre-ANSI C support.\n\nTest: treehugger\nChange-Id: I02e7887a18d947e657f32760d57e58f8b3295fd8\n"
    },
    {
      "commit": "062eac88b5a997c12444cd74b490c0da202940b0",
      "tree": "f3728fb7e7cc78ff305fa916ffe4e43ae9ea7e59",
      "parents": [
        "4b9379c889ed9958094a8e82b27eb8f5d9167e5f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 27 11:27:06 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 27 11:27:06 2018 -0700"
      },
      "message": "\u003csys/socket.h\u003e: add constant for kernel TLS.\n\nBug: N/A\nTest: builds\nChange-Id: I53e8dde1131fec781bee5371c03d4eb54cab9722\n"
    },
    {
      "commit": "4b9379c889ed9958094a8e82b27eb8f5d9167e5f",
      "tree": "22369dd2ec648235f37a8fe67d522c67c32ea830",
      "parents": [
        "f7f86a9669fb0d41b8400443a5cc719de8b8f65e",
        "462e90cf4dde9a0e512749b735ea1441e27ed8c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 24 17:16:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 24 17:16:53 2018 +0000"
      },
      "message": "Merge \"Start documenting libc.\""
    },
    {
      "commit": "c1b4476808702c160595e1ec725a2b0f2fbd13be",
      "tree": "f384f9441db83069f6e781d64c5886ce6bbec96c",
      "parents": [
        "b6b3a1d4f9ae5a86176d23774ce0112eafef03f3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 23 14:21:03 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 23 23:10:52 2018 -0700"
      },
      "message": "fdsan: make the tag type values sequential.\n\nIn retrospect, allocating tag types from both ends will just make the\nfuture creation of user-defined tags harder, because constants that are\nintroduced, and then used in previous versions might collide with\nuser-defined tags. Move all of the tag values to the front, so that we\ncan allocate from the end to minimize this.\n\nTest: bionic_unit_tests\nChange-Id: I5063adf8301b1063bd4931a6ce8b70dfe2411efd\n"
    },
    {
      "commit": "27cc4bc4147da374e03d109d992895297be66722",
      "tree": "55525419847eacdc1e2450751ac979ae1b9310ab",
      "parents": [
        "f7f86a9669fb0d41b8400443a5cc719de8b8f65e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Aug 22 12:40:08 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 23 23:10:52 2018 -0700"
      },
      "message": "Add fdsan owner type for sqlite.\n\nTest: none\nChange-Id: Ib331d108e7e0431250eba3609f3557d8e4665aba\n"
    },
    {
      "commit": "b6b3a1d4f9ae5a86176d23774ce0112eafef03f3",
      "tree": "e64e3bfe47d01b6a1241e79272e967288055ace4",
      "parents": [
        "27cc4bc4147da374e03d109d992895297be66722"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 23 14:04:11 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Aug 23 23:10:52 2018 -0700"
      },
      "message": "fdsan: expose functions to get and interpret tags.\n\nMake it easier to write tests in users of fdsan by exposing functions\nto allow users to get and interpret the tags.\n\nTest: bionic_unit_tests\nChange-Id: Iafa9bcaeb5e4db230f3dfec6f483274f34602694\n"
    },
    {
      "commit": "462e90cf4dde9a0e512749b735ea1441e27ed8c5",
      "tree": "9b8f2f3a9430814c5670c319b8b1a8722b978aac",
      "parents": [
        "3fd45bba4857fdbf320b6e89d2ae0569d9463bf5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 21 16:10:48 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 23 11:03:17 2018 -0700"
      },
      "message": "Start documenting libc.\n\nBug: N/A\nTest: N/A\nChange-Id: I17345cb72a5ffc3af1688cf5874589cfb1e1fea0\n"
    },
    {
      "commit": "780cc6b189f9a8bf7fcdcc4b619ced2043cc543c",
      "tree": "3bef24c29e4184cf97270f6ab9bc4032e4717ebc",
      "parents": [
        "5c18e6a153291951fea6ae9c9a074246c7bad373",
        "cf97d7f121c8e7c8127dbbe00ea2958b159368da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 22 20:11:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 22 20:11:19 2018 +0000"
      },
      "message": "Merge \"Folks are starting to need a placeholder name for Q.\""
    },
    {
      "commit": "cf97d7f121c8e7c8127dbbe00ea2958b159368da",
      "tree": "cbd6c42b02d94b545bc939882adc0ceb1c265480",
      "parents": [
        "8f2298e73f4d930b58a8466fd7264e9a88c96d99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 22 10:50:29 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 22 10:50:29 2018 -0700"
      },
      "message": "Folks are starting to need a placeholder name for Q.\n\nBetter to just have one place to update...\n\nBug: N/A\nTest: builds\nChange-Id: If7135d26f498b0841f9ae505bf6ca3ed05767345\n"
    },
    {
      "commit": "99d54656bda40edb817e6bc6de9a85d88ef4e6b5",
      "tree": "1a176f12c89582f0d06a3376ef66c6281d8af01c",
      "parents": [
        "8f2298e73f4d930b58a8466fd7264e9a88c96d99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 22 10:36:23 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 22 10:36:23 2018 -0700"
      },
      "message": "Add PR_SET_VMA and PR_SET_VMA_ANON_NAME to \u003csys/prctl.h\u003e.\n\nWe\u0027ve copied \u0026 pasted these to too many places. And if we\u0027re going to\nhave another go at upstreaming these, that\u0027s probably yet another reason\nto have the *values* in just one place. (Even if upstream wants different\nnames, we\u0027ll likely keep the legacy names around for a while for source\ncompatibility.)\n\nBug: http://b/111903542\nTest: ran tests\nChange-Id: I8ccc557453d69530e5b74f865cbe0b458c84e3ba\n"
    },
    {
      "commit": "b7b2884a2130c32b3ca7228891a0a9aa934a9be7",
      "tree": "0a84ca3f68ee988c501c776e0d957000aa1bf747",
      "parents": [
        "f2fb3b11c611536b19d4ce8949dffe7f151854b5",
        "0d1a8a5b0b78e0109c55b8f7a142488150b60cd6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 08 15:26:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:26:37 2018 +0000"
      },
      "message": "Merge \"Reland \"Retire GCC FORTIFY.\"\""
    },
    {
      "commit": "c1c8a188b26be9a8b9c48e6b21af4035226f9d1f",
      "tree": "a15bef933c4ca1e363e48b6124f49b7be5baa3f3",
      "parents": [
        "3bf897e12d73f5c038aeef85f91ccce1c35fe326"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Apr 24 18:43:19 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Jul 30 23:49:19 2018 -0700"
      },
      "message": "Fix arm32/64 dynamic TLS relocations\n\narm32: Add a relocation for TLS descriptors (e.g. gcc\u0027s\n-mtls-dialect\u003dgnu2).\n\narm64: Add all the dynamic TLS relocations.\n\nTwo of the relocations here are obsolete:\n\n - ARM documents R_ARM_SWI24 as an obsolete static relocation without\n   saying what it did. It\u0027s been replaced by R_ARM_TLS_DESC, a dynamic\n   relocation. We could probably remove it, but I left it because arm32\n   is old, and I see the macro in other libc\u0027s. It\u0027s probably analogous\n   to R_ARM_THM_SWI8, which is also an obsolete relocation reserved for\n   a future dynamic relocation.\n\n - I couldn\u0027t find any ARM documentation at all for\n   R_AARCH64_TLS_DTPREL32. It seems to have been part of three\n   relocations:\n\n    - R_AARCH64_TLS_DTPREL32 1031\n    - R_AARCH64_TLS_DTPMOD32 1032\n    - R_AARCH64_TLS_TPREL32 1033\n\nBug: b/78026329\nTest: run bionic unit tests\nChange-Id: I5e7432f6e3e906152dc489be5e812fd8defcbafd\n"
    },
    {
      "commit": "3bf897e12d73f5c038aeef85f91ccce1c35fe326",
      "tree": "0c0e363829e3fe8aefb575c5fff262a461b19dfe",
      "parents": [
        "17b2add51452455fa257bb78e92a1c982cf5327a",
        "ab528076854c7bc2bb5ad30ead5aadf630fb7de8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 25 20:11:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 25 20:11:28 2018 +0000"
      },
      "message": "Merge \"Update to FreeBSD libm r336665.\""
    },
    {
      "commit": "439bb1d048018c14e858156c1558effe3f626d7c",
      "tree": "9ed547cde8024a1e95e180c03f90cfa51a95789e",
      "parents": [
        "576f5253024ba4b0ff1efd6922c32594f5dac116",
        "0fe22033095dc0805c191c37075eb0c3e9d29334"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 24 23:09:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 24 23:09:57 2018 +0000"
      },
      "message": "Merge \"Fixup an out of date comment.\""
    },
    {
      "commit": "0fe22033095dc0805c191c37075eb0c3e9d29334",
      "tree": "2820e096c3e9115b48830690a78c7755d1e2b850",
      "parents": [
        "ee213170db2b1bb63e8d86f033a137b1a93c4dc8"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jul 24 13:32:41 2018 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jul 24 13:34:34 2018 -0700"
      },
      "message": "Fixup an out of date comment.\n\nTest: n/a\nChange-Id: Ieb5d18d479becb8c92cbf71a8bb7cd67f7c27dba\n"
    },
    {
      "commit": "7763ab4bcb18be44d3c458d194d786b5a3fb5224",
      "tree": "532f3a694ece09e15b4ad9df6c9ab949980190ed",
      "parents": [
        "94ab04c17a0e9f412b7de079f2ef35f39c7f06fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 12:45:58 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 12:45:58 2018 -0700"
      },
      "message": "Use the FreeBSD __CONCAT.\n\nWe had the NetBSD __CONCAT macro, despite the fact that our only callers\nare FreeBSD code. The FreeBSD libm changes in FreeBSD r336665 require\nthe FreeBSD implementation rather than the NetBSD one.\n\nUnfortunately for me, that libm code is built in the NDK build too,\nwhere it\u0027s built against the NDK\u0027s \u003csys/cdefs.h\u003e. So I need to update\n__CONCAT first before I can update the libm code.\n\nBug: http://b/111710419\nTest: ran tests\nChange-Id: I70e76e4caab2929c939bfb7009df9fe79d26806a\n"
    },
    {
      "commit": "0d1a8a5b0b78e0109c55b8f7a142488150b60cd6",
      "tree": "48a51876da8e0a43c2c46393d03a599f016dceae",
      "parents": [
        "4dbe8fc22f96868d3e5164653a6387b86b163673"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 19:36:51 2018 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 19:36:51 2018 +0000"
      },
      "message": "Reland \"Retire GCC FORTIFY.\"\n\nThis reverts commit 4dbe8fc22f96868d3e5164653a6387b86b163673.\n\nThe angler/bullhead builds are now dead, so this can go in.\n\nBug: https://issuetracker.google.com/74404306\nChange-Id: I130cdcd6375b6125cb8a1e63a4a540b0dbe41ceb\n"
    },
    {
      "commit": "4dbe8fc22f96868d3e5164653a6387b86b163673",
      "tree": "068475a0a85f6ed4919d4443fb39e7027e8485ed",
      "parents": [
        "067bdc9546557a1a107f2617d7d15b864ff493f1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 18:54:16 2018 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 18:54:16 2018 +0000"
      },
      "message": "Revert \"Retire GCC FORTIFY.\"\n\nThis reverts commit 067bdc9546557a1a107f2617d7d15b864ff493f1.\n\nThe angler/bullhead builds still use GCC, so I\u0027ll wait until they\u0027re turned down.\n\nBug: https://issuetracker.google.com/74404306\nChange-Id: I777b08dd6ab5250d532b4b5cc56e9a790c13db20\n"
    },
    {
      "commit": "ab528076854c7bc2bb5ad30ead5aadf630fb7de8",
      "tree": "442c4c850041694a4139f8176b1eb86cf78f4a25",
      "parents": [
        "94ab04c17a0e9f412b7de079f2ef35f39c7f06fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 00:01:52 2018 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 10:36:00 2018 -0700"
      },
      "message": "Update to FreeBSD libm r336665.\n\nThis reverts commit 253a8306316cedfd6fd3e3a169fbffe4cac04035 and moves\nus forward to a revision that contains fixes for the problem with the\nprevious attempt.\n\nThis also makes sincos(3)/sincosf(3)/sincosl(3) available to `_BSD_SOURCE`\nas well as `_GNU_SOURCE`.\n\nThe new FreeBSD libm code requires the FreeBSD `__CONCAT` macro, and all\nour existing callers are FreeBSD too, so update that.\n\nThere\u0027s also an assumption that \u003ccomplex.h\u003e drags in \u003cmath.h\u003e which isn\u0027t\ntrue for us, so work around that with `-include` in the makefile. This\nthen causes clang to recognize a bug -- returning from a void function --\nin our fake (LP32) sincosl(3), so fix that too.\n\nBug: http://b/111710419\nChange-Id: I84703ad844f8afde6ec6b11604ab3c096ccb62c3\nTest: ran tests\n"
    },
    {
      "commit": "067bdc9546557a1a107f2617d7d15b864ff493f1",
      "tree": "48a51876da8e0a43c2c46393d03a599f016dceae",
      "parents": [
        "94ab04c17a0e9f412b7de079f2ef35f39c7f06fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 23 16:53:12 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 23 17:22:58 2018 -0700"
      },
      "message": "Retire GCC FORTIFY.\n\nNDK r18 (which removes GCC) is about to ship. We don\u0027t need this any more.\n\nThe immediate motivation for removing this right now is that the test\nfails whenever we add Clang-only flags to the build system.\n\nWhile we\u0027re here, clean up \u003cstdatomic.h\u003e too.\n\nBug: https://issuetracker.google.com/74404306\nTest: ran tests\nChange-Id: Iaad5d634d1ba76f0b6f19ad32cc27b2533771a4a\n"
    },
    {
      "commit": "e899e798b8c9daf36cc15f01e97d9a3d3785ebe4",
      "tree": "c2fb9bce4a3575cef85e8667e4d326c907f61986",
      "parents": [
        "170540398a3eb7a4ef65fc3a9a6856a61a4ff369"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 20 13:12:31 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 20 13:51:28 2018 -0700"
      },
      "message": "Mark fdsan functions as __attribute__((weak)).\n\nMake it so that users can check for availability of fdsan at runtime.\n\nBug: http://b/110100358\nTest: treehugger\nTest: make libjnitest\nChange-Id: Ief3054161f3e255d048370975f7dd90cf7ad3687\n"
    },
    {
      "commit": "f6e5b582604715729b09db3e36a7aeb8c24b36a4",
      "tree": "1d68c449355f88a0652d3c1e2d6679b54fce1b20",
      "parents": [
        "ad596bf4fc406c0940d0f76f6b7c4ff22ecee7ac"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 01 15:30:54 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jul 19 14:28:54 2018 -0700"
      },
      "message": "Introduce api to track fd ownership in libc.\n\nAdd two functions to allow objects that own a file descriptor to\nenforce that only they can close their file descriptor.\n\nUse them in FILE* and DIR*.\n\nBug: http://b/110100358\nTest: bionic_unit_tests\nTest: aosp/master boots without errors\nTest: treehugger\nChange-Id: Iecd6e8b26c62217271e0822dc3d2d7888b091a45\n"
    },
    {
      "commit": "bf74815b5281406a2cb8a87f652ac81c9e4a0899",
      "tree": "188e0d8e6e6cdd8b9aebb63b0bc77bd9a3e3c8ff",
      "parents": [
        "a7119af33ef71ae24d809b5ea52c1ba913f97a6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 17 13:55:36 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 17 13:55:36 2018 -0700"
      },
      "message": "setjmp is a macro.\n\nPOSIX says it\u0027s unspecified whether setjmp is a macro or a function,\nbut C11 says it\u0027s a macro, and the C standard always wins.\n\nBug: https://github.com/android-ndk/ndk/issues/744\nTest: ran tests\nChange-Id: I4a1abc37724f8e9d9498f2093ef3c1f3b8253949\n"
    },
    {
      "commit": "f98d87b831958cc71ef7f6b6fa18a7a2a2d24737",
      "tree": "7f6aa1a75c0f51eb8b602c31d29a03ff71cdf7b1",
      "parents": [
        "3a5fd0014c0a415b88467bb692a9606c5221d5f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 17 13:21:05 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 17 13:21:05 2018 -0700"
      },
      "message": "Add C11 timespec_get.\n\nBug: https://github.com/android-ndk/ndk/issues/744\nTest: ran tests\nChange-Id: Iad9514946e06d55b6a3aa0f945d9a63bff900881\n"
    },
    {
      "commit": "3a5fd0014c0a415b88467bb692a9606c5221d5f9",
      "tree": "913a06d1a4fd36b3a03e9127d61fd66ab395a0fa",
      "parents": [
        "a9713035baecf21f607ef81c8652eb344086966c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 17 13:02:52 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 17 13:02:52 2018 -0700"
      },
      "message": "Expose __res_randomid.\n\nI don\u0027t think this will help the original submitter, because \u003cresolv.h\u003e\nis mostly useless on Android. One day we might have a deprecation and\nremoval policy for the NDK, but until then we should probably maintain\nthis header.\n\nBug: https://github.com/android-ndk/ndk/issues/739\nTest: ran tests\nChange-Id: I2db859abfdebc3824c997462fa6133d5b355a8dd\n"
    },
    {
      "commit": "f0296f35f67cf4c112b3ed407858999bdc2f33b0",
      "tree": "3edb9f5e07b3edd881eca2462fcccd2105acb4db",
      "parents": [
        "e2228cb64ae28082e3008628c4133a60d5fc21c7",
        "6c0eab9c5bb1e84548e441a836d41729eb6bb2a1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 10 00:42:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 10 00:42:25 2018 +0000"
      },
      "message": "Merge \"Include uchar.h only for bionic\""
    },
    {
      "commit": "bcff2441343608ddc0a66d6a97f736a4712b16d7",
      "tree": "0dd8e8671862d6a7e9f39414d7db887ef5077f12",
      "parents": [
        "07a7c9b31618d6d30be7d7c9662ed54e41798d37",
        "76a1d45599fb287742bfe645dea117039fca7949"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 09 19:23:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 09 19:23:00 2018 +0000"
      },
      "message": "Merge \"Update to v4.17.3 kernel headers.\""
    },
    {
      "commit": "6c0eab9c5bb1e84548e441a836d41729eb6bb2a1",
      "tree": "d7432bc49f7321ad2c207c26c203d775609c2d8e",
      "parents": [
        "57fe8130af8cb38a49192a1c4f0814fd71578f99"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Jul 09 11:42:23 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Jul 09 12:03:23 2018 -0700"
      },
      "message": "Include uchar.h only for bionic\n\nBug: http://b/111265772\n\nuchar.h is not available in the glibc used for the host.  Since Bionic\u0027s\nstdatomic.h is also used for the host (via a copy in prebuilts/clang)\nguard the include with a check for __BIONIC__.\n\nAlso replace the check for C11 around definition of\natomic_char_{16,32}_t with a check for __BIONIC__.  While we\u0027re here,\ncheck if __cplusplus is defined before checking its value.  This avoids\na potential -Wundef warning.\n\nTest: Build\nChange-Id: Icb62150d978703175b78d8ad12b42cf98b424b9a\n"
    },
    {
      "commit": "76a1d45599fb287742bfe645dea117039fca7949",
      "tree": "ea764b786629b81444fb42469cfdbb100ef29112",
      "parents": [
        "6747bd1631c24f76684278020056ee0d41cbb402"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 27 14:12:29 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 27 14:12:29 2018 -0700"
      },
      "message": "Update to v4.17.3 kernel headers.\n\nTest: Builds, boots on a walleye.\nChange-Id: I389d8b61ec00ea309e38d1b1a2e0dace48c21edb\n"
    },
    {
      "commit": "e7d185f59e50afb0b1d9105f7d426584167be0f0",
      "tree": "ad2bac24da7280235bfa65bc315c14b58cc86664",
      "parents": [
        "e5a5eec5e588957aba2582ef25795bb3b573669f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 13:30:02 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 14:08:48 2018 -0700"
      },
      "message": "\u003csys/un.h\u003e: add SUN_LEN.\n\nAlso used by lldb.\n\nBug: N/A\nTest: ran tests\nChange-Id: I4c2aa60e7a3d8c691742c12ebde142d9438bf60f\n"
    },
    {
      "commit": "e5a5eec5e588957aba2582ef25795bb3b573669f",
      "tree": "fda9d6bfc6e3273c90e94928f4a0f4514ac17758",
      "parents": [
        "92c6f7ee9014f434fbcce89ab894c745e36732d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:29:06 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:29:06 2018 -0700"
      },
      "message": "\u003cnetinet/ip_icmp.h\u003e: ensure struct icmphdr is available.\n\nNeeded to build toybox ping.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ifd0f0ccbb8351c6a0ece526b050778fd02e984bf\n"
    },
    {
      "commit": "7c5bbf627ca31bee45ede5a4421ff1c5ada1186a",
      "tree": "913a6944ff9a1a070718863cd4ceef4c8888984c",
      "parents": [
        "3bc5e74c54dea64773e5c1fcdc083769563f1a36"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 09:11:47 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 09:11:47 2018 -0700"
      },
      "message": "Add missing __INTRODUCED_IN to pthread_attr_setinheritsched/pthread_attr_getinheritsched.\n\nBug: https://github.com/android-ndk/ndk/issues/716\nTest: N/A\nChange-Id: Ie49f96976f93b0f0d59796169e98918a9f69c0df\n"
    },
    {
      "commit": "70a8f2272e4998aa37db89232ea9a4264432f0aa",
      "tree": "0adb6da4f1475b3b7afe513d84e31811c58da751",
      "parents": [
        "cf4b4706be4ba1eeb027a148453ebb86f9f840ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 16:44:13 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 08 15:20:07 2018 -0700"
      },
      "message": "Fix various ftw/nftw \"shall fail\"s from POSIX.\n\nPOSIX says ftw/nftw \"shall fail\" in various cases where BSD\u0027s fts_open\ndoesn\u0027t. Since our ftw/nftw are written in terms of fts_open, add a back\ndoor so we can hint to ourselves when we should have the POSIX semantics.\n\nAlso pull several O_CLOEXEC and don\u0027t-null-check-before-free cleanups\nfrom upstream, and add a couple of tests.\n\nBug: http://b/31152735\nTest: ran bionic tests and LTP \"nftw01\" test\nChange-Id: Ib05facacc1da4c8b2ab48e9ecce88f11a5406630\n"
    },
    {
      "commit": "e219cefc173bf93b8ff710431784e5de30ffab8f",
      "tree": "98d61abdaa00c0e32000ef921958eb4822822bac",
      "parents": [
        "6880f936173081297be0dc12f687d341b86a4cfa"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 29 15:12:05 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 20 10:46:16 2018 -0700"
      },
      "message": "Fix posix_memalign introduced tag.\n\nApparently this didn\u0027t make it to all android-16 devices. As far as\nwe know it did make it for all android-17 devices.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/647\nChange-Id: I2f07cfb1254e2a203c1c10b91b0be46bf37ea853\n"
    },
    {
      "commit": "af0ad77af5fc2a4f39fa29b4e6720898d92fb2b4",
      "tree": "5b4352c5e0ddacfac7785f290f08a7535b0631ad",
      "parents": [
        "9ee88bdbc792c510c71e313829263ba0ae0622f7",
        "00a6d5fe0ab034e4d5e87636456cd49ef0ca5b8d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 15:34:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 15:34:14 2018 +0000"
      },
      "message": "Merge \"Bionic: Always use fortified versions of FD_X macros\""
    },
    {
      "commit": "9ee88bdbc792c510c71e313829263ba0ae0622f7",
      "tree": "32091b3e457489ffc5d6bbc17d5ee6da54fff614",
      "parents": [
        "bf885f874572eaaefa3e38940384aa65b8597d6e",
        "37793a18926fa689a832e75c33bc766027b1bc3c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 01:27:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 14 01:27:28 2018 +0000"
      },
      "message": "Merge \"Type of second __sched_cpucount should be \"const cpu_set_t*\".\""
    },
    {
      "commit": "00a6d5fe0ab034e4d5e87636456cd49ef0ca5b8d",
      "tree": "f01406adcd3b0ae1e42b018e5dd67f5ed464e87a",
      "parents": [
        "48227e66026724f9a94d9ff9cdef0aacae75b3a9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 13:52:10 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 17:57:21 2018 -0700"
      },
      "message": "Bionic: Always use fortified versions of FD_X macros\n\nWhen compiling on/for at least Lollipop, always use the fortified\nversions of FD_X macros. This works around side-effect issues (which\nare explicitly called out in the specification) and generally\nincreases robustness of code.\n\nBug: 77986327\nTest: mmma bionic\nTest: m\nTest: bionic_unit_tests\nChange-Id: I9096c6872770e46ba5ab64e7375ff83fc0518e07\n"
    },
    {
      "commit": "37793a18926fa689a832e75c33bc766027b1bc3c",
      "tree": "9bd412233e89fbba0b4b78c39e5869d899415c4b",
      "parents": [
        "48227e66026724f9a94d9ff9cdef0aacae75b3a9"
      ],
      "author": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Fri Apr 13 15:21:18 2018 -0700"
      },
      "committer": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Fri Apr 13 16:07:21 2018 -0700"
      },
      "message": "Type of second __sched_cpucount should be \"const cpu_set_t*\".\n\nTest: none\n\nBug: 77341596\nChange-Id: Ib4f1a75d2cfe147855b4d5f0203f4a64c22c116a\n"
    },
    {
      "commit": "da1994ced6fd870a9ad198c0435d3e5ebbf65636",
      "tree": "42cf094bc08d6ce3006607257c1ceb6c5d32a594",
      "parents": [
        "48227e66026724f9a94d9ff9cdef0aacae75b3a9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:32:37 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:32:37 2018 -0700"
      },
      "message": "Add dlext.h to the libdl doc group.\n\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/libdl\nBug: http://b/77236573\nChange-Id: Ie09351ee961554488e34c79511712b07c345b8ad\n"
    },
    {
      "commit": "27dd91514797a657d79efe3b902a1ff97bcc5546",
      "tree": "200995a5b03d00e6cde441727ed744031ef894ff",
      "parents": [
        "a9419d89879889f14fe4cdf6aeb90e26fc1c1bd8"
      ],
      "author": {
        "name": "Ben Schwartz",
        "email": "bemasc@google.com",
        "time": "Mon Feb 05 17:54:06 2018 -0500"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Apr 02 05:28:16 2018 +0000"
      },
      "message": "Pad queries when EDNS0 is enabled.\n\nBehavior is compliant with\nhttps://tools.ietf.org/html/draft-ietf-dprive-padding-policy-04\n\nEDNS0 is only enabled when the netcontext requests it, i.e. in DNS-over-TLS\nmode.\n\nBug: 69623036\nBug: 64133961\nTest: Wireshark verified. Integration tests echo padding and pass.\nChange-Id: I5ef600e02a572d281441e890cc981614f150629b\n"
    },
    {
      "commit": "60fd72e8a315ff931ad0458f72110c209bda04db",
      "tree": "48379ea53d8913afd2c515a623677e71232510e3",
      "parents": [
        "8bd8121204c8081fa2129d47f097adcf77010191",
        "f0f3d2f002aa23ded26cf2c02260ceee92ce790e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 26 23:15:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 26 23:15:11 2018 +0000"
      },
      "message": "Merge \"Create PTHREAD_COND_INITIALIZER_MONOTONIC_NP\""
    },
    {
      "commit": "f0f3d2f002aa23ded26cf2c02260ceee92ce790e",
      "tree": "d0c4a5c551b379a949e557eb2d3d543216f5a473",
      "parents": [
        "1423bb849879f3f126cb1e6dcb279da5360ef5fc"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Mar 08 16:02:06 2017 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 26 09:00:51 2018 -0700"
      },
      "message": "Create PTHREAD_COND_INITIALIZER_MONOTONIC_NP\n\nNeeded for std::condition_variable to wait on CLOCK_MONOTONIC.\n\nTest: boot bullhead\nChange-Id: I32a30817f0ec2190393fcc6faec45b40822cba32\n"
    },
    {
      "commit": "9724e93c196d0dbaa0e60bf45c29971a22da50c9",
      "tree": "0d3e0847bff250b168a0fcb2af431ba7fed097ee",
      "parents": [
        "4d339287080022ed67bb98949d7eb6737f8c917b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 18:46:07 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 18:46:07 2018 -0700"
      },
      "message": "Reject .so files using ELF TLS.\n\nBug: http://b/74361956\nTest: ran tests\nChange-Id: I53e71252eb08c607c2c436dcba433374c8c53887\n"
    },
    {
      "commit": "90234e57487642076e91a827d9f0cba9ad64faac",
      "tree": "3d59c7e5626b58b409f7c5144db1a0cf961632f0",
      "parents": [
        "1315e3ef852eafb3377a73212242bbe6b5247800",
        "b83bf14a352269135d3e2fe783414c3b6e1d0ac5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 23:49:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 23:49:40 2018 +0000"
      },
      "message": "Merge \"Fortify ppoll64.\""
    },
    {
      "commit": "b83bf14a352269135d3e2fe783414c3b6e1d0ac5",
      "tree": "3e3b5604f28445915e5011af96bacf8e6021f1aa",
      "parents": [
        "1423bb849879f3f126cb1e6dcb279da5360ef5fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 11:01:25 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 13:59:02 2018 -0700"
      },
      "message": "Fortify ppoll64.\n\nI\u0027ve deliberately not bothered with the GCC implementation because we\u0027ll\nhave removed GCC from the NDK before anyone gets to use this.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: Icfc2a3b214739ab53aa41bacacc11b5c67498fb4\n"
    },
    {
      "commit": "1315e3ef852eafb3377a73212242bbe6b5247800",
      "tree": "ba1e6bfa6ab56adbc235303fee1f51cf5b2557f8",
      "parents": [
        "1423bb849879f3f126cb1e6dcb279da5360ef5fc",
        "de45dcbbab9c36054172637231ba32bef86a73a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 02:06:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 02:06:34 2018 +0000"
      },
      "message": "Merge \"libc: silence unsigned-\u003esigned warnings with ioctl\""
    },
    {
      "commit": "c6b5bcd182edef34f058827882b1908f890cc4cd",
      "tree": "63b9b787f9434c2424f0c2957eb8ce668cb9bd69",
      "parents": [
        "0bc4772ee5e9cbf772227732135fd13e125571a9"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 05 14:14:44 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Mar 20 18:41:22 2018 -0700"
      },
      "message": "Add _monotonic_np versions of timed wait functions\n\nAs a follow up to Ibba98f5d88be1c306d14e9b9366302ecbef6d534, where we\nadded a work around to convert the CLOCK_REALTIME timeouts to\nCLOCK_MONOTONIC for pthread and semaphore timed wait functions, we\u0027re\nintroducing a set of _monotonic_np versions of each of these functions\nthat wait on CLOCK_MONOTONIC directly.\n\nThe primary motivation here is that while the above work around helps\nfor 3rd party code, it creates a dilemma when implementing new code\nthat would use these functions: either one implements code with these\nfunctions knowing there is a race condition possible or one avoids\nthese functions and reinvent their own waiting/signaling mechanisms.\nNeither are satisfactory, so we create a third option to use these\nAndroid specific _monotonic_np functions that completely remove the\nrace condition while keeping the rest of the interface.\n\nSpecifically this adds the below functions:\npthread_mutex_timedlock_monotonic_np()\npthread_cond_timedwait_monotonic_np()\npthread_rwlock_timedrdlock_monotonic_np()\npthread_rwlock_timedwrlock_monotonic_np()\nsem_timedwait_monotonic_np()\n\nNote that pthread_cond_timedwait_monotonic_np() previously existed and\nwas removed since it\u0027s possible to initialize a condition variable to\nuse CLOCK_MONOTONIC.  It is added back for a mix of reasons,\n1) Symmetry with the rest of the functions we\u0027re adding\n2) libc++ cannot easily take advantage of the new initializer, but\n   will be able to use this function in order to wait on\n   std::steady_clock\n3) Frankly, it\u0027s a better API to specify the clock in the waiter function\n   than to specify the clock when the condition variable is\n   initialized.\n\nBug: 73951740\nTest: new unit tests\nChange-Id: I23aa5c204e36a194237d41e064c5c8ccaa4204e3\n"
    },
    {
      "commit": "de45dcbbab9c36054172637231ba32bef86a73a6",
      "tree": "4750706cdbb27c13e467c2801060988040894321",
      "parents": [
        "6655ba1c321e8af27b1e8c0676e4a619227d8395"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Mar 16 14:15:01 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Mar 20 15:59:46 2018 -0700"
      },
      "message": "libc: silence unsigned-\u003esigned warnings with ioctl\n\nThis also tweaks cdefs to make __overloadable usable outside of\nFORTIFY. It had to be FORTIFY-only before we had unmarked overload\nsupport in clang+Bionic.\n\nBug: https://github.com/android-ndk/ndk/issues/402\nTest: Internal master builds + `mma`. `mma` in Bionic fails if the\nchange to ioctl is undone.\n\nChange-Id: Ib386b1786e1dca625e6d5a18682005adc734d9c1\n"
    },
    {
      "commit": "d5172fced0f88114e21086db5defaee64371de32",
      "tree": "30bd20a165f5ba825d82e488a6f6f561c0f7de8b",
      "parents": [
        "665ce210fab00911321829e6e190405ef18e5032",
        "457852666cb870a844df016962fac487cb5e7559"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 02:36:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 02:36:38 2018 +0000"
      },
      "message": "Merge \"Add __fseterr.\""
    },
    {
      "commit": "665ce210fab00911321829e6e190405ef18e5032",
      "tree": "69b8621dfae13859842cc9a2f64f409fe16040cd",
      "parents": [
        "38a78728c343f6398763ae8d7e3e8202b927a056",
        "3376c23daceddd603478347c00163f39e7c9e1ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 15 01:26:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 01:26:17 2018 +0000"
      },
      "message": "Merge \"Add remaining _l function stubs.\""
    },
    {
      "commit": "457852666cb870a844df016962fac487cb5e7559",
      "tree": "b6d5ea190fca3841b956dc1cbe714fdef8982655",
      "parents": [
        "38a78728c343f6398763ae8d7e3e8202b927a056"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 15:21:45 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 15:25:21 2018 -0800"
      },
      "message": "Add __fseterr.\n\nTrivial, obvious counterpart to the standard ferror(3) and clearerr(3),\nand lets us build bison out of the box.\n\nBug: http://b/64273806\nTest: ran tests\nChange-Id: I20affabddb71210051165c41e86adfe5ae04f77f\n"
    },
    {
      "commit": "38a78728c343f6398763ae8d7e3e8202b927a056",
      "tree": "5f3188b527d17aff29fc7d50cd5c62ddcf17f4ab",
      "parents": [
        "2d1e1011cfe01716573e79c66c03a7d9f6cb2c86",
        "23415fc60d18b41b1a1ff9591176ce98b6f84485"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 21:24:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 14 21:24:11 2018 +0000"
      },
      "message": "Merge \"Add uc_sigmask64.\""
    },
    {
      "commit": "3376c23daceddd603478347c00163f39e7c9e1ee",
      "tree": "d8a6f5383a285783630af07f03e11a5a06677b10",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 23:14:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 23:14:12 2018 -0800"
      },
      "message": "Add remaining _l function stubs.\n\nBug: http://b/65595804\nTest: ran tests\nChange-Id: I3bea3af20b354d1f0d3e05fd35421a9045f29020\n"
    },
    {
      "commit": "23415fc60d18b41b1a1ff9591176ce98b6f84485",
      "tree": "bb79fd7cf82c54ad730c8c268b68e02f29997e69",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 19:09:04 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 19:09:04 2018 -0800"
      },
      "message": "Add uc_sigmask64.\n\nAdded to each ucontext_t for source compatibility between platforms where\nsigset_t and sigset64_t differ (arm, x86) and where they\u0027re the same\n(all the rest).\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I65a37bfa177933701bbe6c2350448885fd0f9c43\n"
    },
    {
      "commit": "db478a627482c73c52df9e3929fe7a39f03e4eeb",
      "tree": "15fcd3caeea9269e5e3eefb881ec25bade966bcb",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 07 18:42:14 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 13 13:37:30 2018 -0800"
      },
      "message": "Implement malloc hooks.\n\nUse the malloc debug framework to implement the malloc debug hooks\nsince it can introduce a performance issue.\n\nAlso, modify the bionic/tests/utils.h slightly to dump an error message\nwhen the exe failed.\n\nBug: 30561479\n\nTest: Ran malloc hook unit tests.\nTest: Ran malloc debug unit tests.\nTest: Enabled malloc hooks and ran bionic unit tests and verified no\nTest: unexpected failures.\nTest: Enabled malloc debug and malloc hooks and verified malloc debug wins.\nTest: Enabled malloc debug using env, property, and property with name\nTest: still works.\n\nChange-Id: Ib50046a0493c5c2050cf831befb812310bdcc249\n(cherry picked from commit d6a1dc23796696f73f483943534d4c5c4b312d39)\n"
    },
    {
      "commit": "25f17e48df2e5e9e88b0c5cd2ebeded33c7cedc0",
      "tree": "f117b124c5aa047b3a4d922526040b8c894aef7c",
      "parents": [
        "919dd9dcb4ca547a67079b85494236cd5f680598"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 12 15:48:01 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 12 15:48:01 2018 -0800"
      },
      "message": "Better backwards compatibility for stat64.\n\nCaused problems for some Google source switching to unified headers\nbecause the legacy headers just used #define instead.\n\nBug: http://b/73210428\nTest: builds\nChange-Id: If8a36f284031e57af419903610029a8c34a23d91\n"
    },
    {
      "commit": "379666996de37cc21a9b05faf692cd17a4421631",
      "tree": "e73d4137a7fd1c906b8117be9755e0e5359694f2",
      "parents": [
        "4362da80760ef76af310280e70fddb6b6d3d043f"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Feb 12 09:03:10 2018 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Feb 12 09:03:10 2018 +0100"
      },
      "message": "MIPS32: Make sigset64_t equal to sigset_t\n\nsigset_t is already large enough on mips so use the same principle\nas on LP64 architectures: typedef sigset_t sigset64_t\n\nAlso prevent accessing sa_restorer field for architectures which\ndon\u0027t define SA_RESTORER in signal_test.\n\nThis allows compilation of signal_test.\n\nTest: bionic-unit-tests in QEMU (MIPS32)\nChange-Id: I965e202c9a7f7d109e4ec25ad87172dc7c1b8806\n"
    },
    {
      "commit": "4362da80760ef76af310280e70fddb6b6d3d043f",
      "tree": "1c82e79065e631ec1739f588025154696469d253",
      "parents": [
        "6fa9bddbc7188aeb20d6faa4da2e62c12f5a5af2",
        "90242350053e6fd2c03640d3f9b37864d18c414d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 02:30:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 10 02:30:37 2018 +0000"
      },
      "message": "Merge \"Remove __overloadable/__RENAME_CLANG\""
    },
    {
      "commit": "13dec2354d0ed1e1f91a583d6f0bc474ff4c80ea",
      "tree": "573d84b4f5ca0ce348c41dd2ba60708e22b2f60d",
      "parents": [
        "dd1742aca592c7f53b9be0daa71ff02f9d2f601f",
        "4d4a7832add84dbae97f17efd478cd0ecfb8d8bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 19:55:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 19:55:43 2018 +0000"
      },
      "message": "Merge \"Add a few more legacy inlines for strto*_l.\""
    },
    {
      "commit": "cae21a9b53a10f0cba79bf6783c4a5af16228fed",
      "tree": "c60c6622d2b80f9ad4ae5a990b7fb3439f16444b",
      "parents": [
        "be6fbae74fc3048647caadd58a9eaad81245e934"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 05 18:14:55 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 07 06:57:14 2018 -0800"
      },
      "message": "Add aligned_alloc to libc.\n\nBug: 72969374\n\nTest: Bionic unit tests pass.\nTest: Malloc debug unit tests pass.\nChange-Id: I235985bbc638855d94249c97c98f14ab2924bda0\n(cherry picked from commit d69ee59594088c0d92ba9273188ef53ea5e6cd6a)\n"
    },
    {
      "commit": "4d4a7832add84dbae97f17efd478cd0ecfb8d8bc",
      "tree": "51974db8a37e902d78d47578717f6fa9b2df2cc0",
      "parents": [
        "177429cb8db80496a5fe65430253b37d254dc66f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 13:45:29 2018 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 13:45:29 2018 -0800"
      },
      "message": "Add a few more legacy inlines for strto*_l.\n\nThese three functions are the only reason we need libandroid_support\npost-L. Add these so we can remove it entirely for LP64 or users\ntargeting L+.\n\nTest: make checkbuild\nTest: build/soong/scripts/build-ndk-prebuilts.sh\nTest: Imported the prebuilts generated from the above to the NDK,\n      `./checkbuild.py \u0026\u0026 ./run_tests.py` with a handful of patches\n      to remove libandroid_support for L+.\nBug: None\n\nChange-Id: I39f8ee686bd76ebdb2fc3745b013d56175ba8ff0\n"
    },
    {
      "commit": "90242350053e6fd2c03640d3f9b37864d18c414d",
      "tree": "86bd08eae994cc61618b28520cab3ea1b423493e",
      "parents": [
        "2bf1d3dae262f92dbc964be467060dc6a24787af"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 06 12:51:31 2018 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 06 13:35:56 2018 -0800"
      },
      "message": "Remove __overloadable/__RENAME_CLANG\n\nNow that we have a clang that supports transparent overloads, we can\nkill all of this cruft, and restore our upstream sources to their\nuntouched glory. Woohoo!\n\nBug: 12231437\nTest: Built aosp_marlin; no obvious patch-related aosp_mips issues.\nChange-Id: I520a19d014f12137f80e43f973dccd6711c571cd\n"
    },
    {
      "commit": "3e235911c9cf5062adbb73efb53fe5ed712d7c53",
      "tree": "cdd84807bba4a7d0b0fd947555b2edaa2618df95",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 01 14:21:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 01 14:45:15 2018 -0800"
      },
      "message": "Add `struct sigaction64` and `sigaction64`.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I47b0560a30aa33a9b1f1978dfb7f84d2e3d389b8\n"
    },
    {
      "commit": "5905d6f8797056ca4178d42bf1220b6692e557a5",
      "tree": "222848ae0ced32fcf2028a2c6502b4a763c83830",
      "parents": [
        "d435d256da57fdf4278b3198720d881f3edcf452"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 15:09:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 18:47:16 2018 -0800"
      },
      "message": "Add `sigset64_t` and accompanying functions.\n\nThis doesn\u0027t address `struct sigaction` and `sigaction`. That will\ncome later.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I4134346757ce3a4dac6feae413361cec16223386\n"
    },
    {
      "commit": "cc0fe6e8c0bb2dfb250522872be6facb4d4a0339",
      "tree": "73b9e54a979e9d4b1e2ce50ccc129e58b0484b31",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "message": "The future is now (2018 edition).\n\nBug: N/A\nTest: builds\nChange-Id: Ic638e5b1f4e5901885fe7bc60b2a265817636b21\n"
    },
    {
      "commit": "2e2a8930e5f9eb2d9ea4fdb61f746c6f2e2048ac",
      "tree": "8adca0f4df67038588d4dbe7095204498e2f4dce",
      "parents": [
        "97d1c75ca5125f8e1dc6db32af1d22807fca1950",
        "f16b65932bb7adb1568a3a1e11ffa750d18e30ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 00:00:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 27 00:00:17 2018 +0000"
      },
      "message": "Merge \"linker: simpler encoding for SHT_RELR sections.\""
    },
    {
      "commit": "f16b65932bb7adb1568a3a1e11ffa750d18e30ae",
      "tree": "61eba52655668d025687547b8f9b3cf3c4c75c6b",
      "parents": [
        "25ac4476d86f93990d1404526618fd0529cc9d36"
      ],
      "author": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Thu Jan 25 15:34:15 2018 -0800"
      },
      "committer": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Fri Jan 26 11:46:47 2018 -0800"
      },
      "message": "linker: simpler encoding for SHT_RELR sections.\n\nThis change modifies the encoding used in SHT_RELR sections to a simpler\nversion that gives better results. This encoding was suggested by Andrew\nGrieve and is described in this post on generic-abi@googlegroups.com:\n    https://groups.google.com/d/msg/generic-abi/bX460iggiKg/Pi9aSwwABgAJ\n\nBug: None\nTest: Built image for marlin, flashed on device, ran arm and\n      aarch64 binaries containing \u0027.relr.dyn\u0027 sections using\n      the new encoding.\n\nChange-Id: I266affe0fbad91dc375995985a221cb02499447b\n"
    },
    {
      "commit": "c6ea39d33b50b54354e4709c4f65d83c87022adf",
      "tree": "bfec4d6262242f04eb5170cc7b2263bd203553af",
      "parents": [
        "4debf20829b152bf3efae79bc85377c44b40eb8a",
        "f81abef14852f2738043998e2f420d97ba59c286"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 26 17:08:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 17:08:26 2018 +0000"
      },
      "message": "Merge \"Use __BIONIC_FORTIFY_VARIADIC for variadic functions.\""
    },
    {
      "commit": "4debf20829b152bf3efae79bc85377c44b40eb8a",
      "tree": "260005caaf5a88282787418341dcedf6a7caae34",
      "parents": [
        "c9cd4eb1635fa8a621735046c0bb09e3f929763f",
        "5046e5fe87a2638049ee3113b603944f42241ca5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 16:06:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 16:06:54 2018 +0000"
      },
      "message": "Merge \"Make the \u003candroid/dlext.h\u003e docs show up on the web.\""
    }
  ],
  "next": "c9cd4eb1635fa8a621735046c0bb09e3f929763f"
}
