)]}'
{
  "log": [
    {
      "commit": "915898489464158524a30881154881384d5b0ba0",
      "tree": "7802a754a857e0589d2140e1d90e2ad05ca5be6d",
      "parents": [
        "81f5424560c0a67155fd2f0c94ce2e79f9c6dc20"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Apr 25 13:10:30 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Apr 29 09:14:37 2019 -0700"
      },
      "message": "liblog: display valid utf8 characters with \u0027printable\u0027 log format\n\nThis started as a change to use mbrtowc() instead of\nutf8_character_length() as mbrtowc() does everything that\nutf8_character_length() intends to do, but is a libc function. The\nchange was further intended to add unit tests to ensure that these\nfunctions operate as intended.\n\nIt turns out that utf8_character_length() returned an error for the\nutf8 characters that I tested, so this also has the side effect of\nallowing valid utf8 characters to be printed in the \u0027printable\u0027 log\nformat, which was the original intention.\n\nAlso, print the binary data as hex instead of octal, since it is a\nmore suitable choice.\n\nTest: new unit tests, existing unit tests, logcat -v printable\nChange-Id: I4cc95aee81519411ef47892ca74eb31117c972d2\n"
    },
    {
      "commit": "927c3d9184896e1f6921478cd9da2b50dffe4540",
      "tree": "a6011f792bbe4bb3add9c10a2eec54fb2cad3bf2",
      "parents": [
        "4d89dc0f546fd7bc3fe659257f32409ec8e40bf3"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Apr 24 17:24:23 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Apr 24 17:24:23 2019 -0700"
      },
      "message": "liblog: remove LIBLOG_WEAK\n\nI\u0027m not sure why I didn\u0027t remove this when I got rid of the other\nfunctions marked as weak.\n\nTest: build\nChange-Id: I45e6bca7be0497e33be88d15afea8bb1d5165380\n"
    },
    {
      "commit": "92c9e8ab7f5c54c2b616b49a038b2a113b7bd017",
      "tree": "b59f820bffa278ee21f667ff0bdf5ff53824aaba",
      "parents": [
        "2b8e96bd64ac901905b3bb96e255c68664f3d7bc",
        "270f65ffdb4e789407bc18b50c1e05d15b430183"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:16:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 23:16:22 2019 +0000"
      },
      "message": "Merge \"Version liblog LL-NDK library\""
    },
    {
      "commit": "270f65ffdb4e789407bc18b50c1e05d15b430183",
      "tree": "ea13809b03447e3f9340c1c752380864e00af9f9",
      "parents": [
        "8a5a918ef836d6df353b6644f921ad81536b0c35"
      ],
      "author": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Tue Apr 02 12:22:50 2019 -0700"
      },
      "committer": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Tue Apr 02 12:22:50 2019 -0700"
      },
      "message": "Version liblog LL-NDK library\n\nThe system version of liblog has been versioned.  Do the same for\nLL-NDK verison as well.\n\nTest: Build and examine the dynamic symbols.\nChange-Id: Ie63cc845c891d9372fb1990e713b3fe4f0f2f723\n"
    },
    {
      "commit": "c6ad69d1d467580455aacc2399e155610f76def6",
      "tree": "9deabc9d769f312bbcc5b135e5b523210a4573f2",
      "parents": [
        "8a5a918ef836d6df353b6644f921ad81536b0c35"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 25 14:55:39 2019 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 25 16:41:39 2019 -0700"
      },
      "message": "liblog: don\u0027t return 0xFFFFFFFF as an invalid log id.\n\nThere are a bunch of branches that check \"id \u003e\u003d LOG_ID_MAX\", but because\nC++ hates you, this does a promotion to signed int despite the\nfact that both sides of the comparison are the same enum with an\nunderlying type of unsigned int. (C++17 §7.6.3)\n\nReturn LOG_ID_MAX instead of a value that gets promoted to signed -1, to\navoid this.\n\nBug: http://b/129272512\nTest: /data/nativetest64/logcat-unit-tests/logcat-unit-tests\nChange-Id: I4b3ee662d76d5cc80d9a9625d17f7e5b5980de41\n"
    },
    {
      "commit": "dd2ea5fd682b797d60ef138a9b81330830185fb7",
      "tree": "dccc300f3d6a068b3b51517c55fc5ed14db345ef",
      "parents": [
        "588a87d68ed177858a73acb5f64a5fc6b0b54dcf"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Mar 18 22:16:14 2019 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Mar 18 22:16:14 2019 -0700"
      },
      "message": "Suppress -Wstring-plus-int warning\n\nThe code section is already marked as to be removed, simply suppress\nthe -Wstring-plus-int warning.\n\nTest: m checkbuild\nBug: 128878287\nChange-Id: I95a03aca90dbb5d27db49f5baf534cbaacf9b830\n"
    },
    {
      "commit": "15800946e09f7272fe487cbebb4c9e009cb59811",
      "tree": "0e86bebd895d26917fa9a76aea7316e52c9150ce",
      "parents": [
        "fe1f7017617d1e8b4b68cac15bf659adc88790b2"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 20 12:51:33 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 20 12:52:02 2019 -0800"
      },
      "message": "__android_log_is_debuggable() shouldn\u0027t be an apex symbol\n\nRemove a superfluous check in fs_mgr, since those return values are\nalready impossible for a non-debuggable build.  Replace a one time\ncall to __android_log_is_debuggable(), since there\u0027s no reason to\ncache the value or use this symbol.\n\nTest: build\nChange-Id: Icd4bef7b616c49d304303747388d7e3018c6fcfc\n"
    },
    {
      "commit": "fe1f7017617d1e8b4b68cac15bf659adc88790b2",
      "tree": "ed6fbe52d0141f338cf7b54b554572f9b05c1935",
      "parents": [
        "86f38d56b8c9e8a6d79d7f0871214b3a8002c9db"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Feb 08 11:55:36 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 20 12:32:12 2019 -0800"
      },
      "message": "liblog: add stubs variant\n\nEnsure that only the symbols in liblog.map.txt can be used by the\nplatform.\n\nBug: 123349183\nTest: build\nChange-Id: I99ae5d0e8ba8f5061ec20701c941d861c9eb615d\n"
    },
    {
      "commit": "c911d5af6f92ac88680c766c9b12869875465fac",
      "tree": "68b4e2c0295497e1c9817d549027ea2e83c08b6b",
      "parents": [
        "81767b1d3d729329395068e51390452198ca0081",
        "3c3bdc128f1a71014db3d601a6efe25cc8d691d7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 16 00:12:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 16 00:12:51 2019 +0000"
      },
      "message": "Merge \"liblog: make liblog_headers truly stand-alone.\""
    },
    {
      "commit": "3c3bdc128f1a71014db3d601a6efe25cc8d691d7",
      "tree": "95e0cf6fd2ce20a5472345fc9e922fcdf856b257",
      "parents": [
        "c7b5c4fa6b6f50c8ac14852275141483686895f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 13 12:42:06 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 13 12:42:06 2019 -0800"
      },
      "message": "liblog: make liblog_headers truly stand-alone.\n\nWe don\u0027t want to imply dependencies on libc or libc++.\n\nBug: https://issuetracker.google.com/issues/119713191\nTest: boots\nChange-Id: I4abe312e73fad3ca8e96abd328b16387507baed4\n"
    },
    {
      "commit": "05de1ba38eea7675c7af547c6e608417fd3ca1bc",
      "tree": "c3659e0c53797b010db54364636dc13d5a43d494",
      "parents": [
        "5272f9b017e2e32551ec53c680b9869b0ec135d2"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 12 11:26:23 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 12 12:53:19 2019 -0800"
      },
      "message": "liblog: simplify socket_local_client() and always use CLOEXEC\n\nsocket_local_client() was copied from libcutils, but we only need a\nsmall subset of its functionality.  We instead create our own version\nwith just the needed parts.\n\nImportantly, use CLOEXEC in this new function and other places where\nit was missing previously.\n\nTest: logging works, liblog-unit-tests\nChange-Id: Ifb929227af67bafa13e391eab92358d9f6fe6450\n"
    },
    {
      "commit": "2d9779e87b110b33745de9cec006f205396bef5d",
      "tree": "a43f1796ada94440e8c5da57dc611938a1b27c0c",
      "parents": [
        "2210f80e48839fc38d18155d4221d64f6f7d78e9"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Feb 08 11:46:19 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Feb 08 11:48:19 2019 -0800"
      },
      "message": "liblog: remove visibility macros\n\nVisibility is managed through version scripts now.\n\nBug: 123349183\nTest: build\nChange-Id: Ia388611a2ec14d0ff9c3896cfe97ccdce17dbb8b\n"
    },
    {
      "commit": "3882b509b46069a3ba0a575609e40263b0a73115",
      "tree": "f87842a05e9fdc49f8c7b2c4ee223c3aa0782502",
      "parents": [
        "accdf0e9c777b24ccd8c2a5d03daa9886ebde71e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 29 16:07:22 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 29 17:12:35 2019 -0800"
      },
      "message": "Actually add right instant app boilerplate.\n\nBug: 123366871\nTest: treehugger\nChange-Id: Id3d01396efe6afb69dea0e59dd6e1040ba82a1fd\n"
    },
    {
      "commit": "d722fbf4b00d6e837e29188b18b638db3b64a206",
      "tree": "f53cfaa85436d741d8f795089aed804b4a9d3503",
      "parents": [
        "561498e357c00f9ae18e06efefc16ec68fb5d439"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 29 08:53:01 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 29 08:53:01 2019 -0800"
      },
      "message": "Add \"instant app\" boilerplate.\n\nBug: 123366871\nTest: treehugger\nChange-Id: I2963aea53ae96651854bbbcb8e411add5183e523\n"
    },
    {
      "commit": "44f0023e8193caed4453e4c900be2d96979447df",
      "tree": "0dc6aa2f00f76e376d3c6e799c2c7482a414471f",
      "parents": [
        "9e12433760cb26126a71d17d608cc84f9971d31c"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jan 17 11:38:31 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jan 17 11:46:31 2019 -0800"
      },
      "message": "Add a version script for liblog for the platform\n\nliblog has a version script for the NDK and VNDK, however it doesn\u0027t\nhave symbols intended to be used by the platform.  This change adds\nthose symbols to the version script and enables it, hiding the rest of\nthe symbols.\n\nTest: build\nChange-Id: I494d048d78bb47d763482eb56a6f79babfe163f4\n"
    },
    {
      "commit": "e181bf51163a57c4625cf92f2a05469f7fe8d326",
      "tree": "9f6ba45028fea981d716c6cc9aa45a1a50528305",
      "parents": [
        "065854748e84cb4b29baf52948296f7d293ddb02",
        "6f6ef39b481d8b3f7fb24536b3e28327a48fcec4"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jan 17 17:19:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 17 17:19:52 2019 +0000"
      },
      "message": "Merge \"Remove liblog/uio.c and \u003clog/uio.h\u003e\""
    },
    {
      "commit": "065854748e84cb4b29baf52948296f7d293ddb02",
      "tree": "bfd1a90330d796c27bd022f01d49e2aa94b12e9e",
      "parents": [
        "b94c2e52a674d43705045d0662e6a427aee2e873",
        "c2ea6e7c39c5a03a3b3cdcbfeed3f58bdc059921"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jan 17 17:18:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 17 17:18:10 2019 +0000"
      },
      "message": "Merge \"Remove __android_log_event_list and the reader aspect of android_log_event_list\""
    },
    {
      "commit": "804e7d8c4f90acda6e40ebb401bc18b95f5d77b4",
      "tree": "940da020f3f7e216ee4bccab140688474b63f71b",
      "parents": [
        "ccb06c7b2b5b3ec83724c48dcccbf9c28ca5e9e9"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Jan 16 15:25:18 2019 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Jan 17 14:45:19 2019 +0900"
      },
      "message": "Fix clang-tidy warnings in log_time.h\n\n - Zero initialize log_time instances by default\n - Disable implicit conversions by making constructors explicit\n - Explicitly initialize to EPOCH in most places\n - Change sniffTime() to avoid in-place modification of a log_time\n\nI stopped here, but we could consider following up with a more invasive\nchange to make log_time instances immutable and perhaps also remove the\ndefault constructor to force explicit initialization to EPOCH.\n\nTest: atest libbase_test netd_unit_test\nChange-Id: I67e716ef74adaaf40ab2c6e2e0dddb8d309bc7ca\n"
    },
    {
      "commit": "6a462405d078c7db3a6aff41c7ea9b7bc86e223b",
      "tree": "29f9097d7a32e7115ee669fe533c68693614d38b",
      "parents": [
        "1b676027c4e6d1b2d3242ef8bc39124015ccd606",
        "3b4bddc6386f40d57181f0e93cf8f2f37695f230"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 17 01:25:27 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 17 01:25:27 2019 +0000"
      },
      "message": "Merge \"Remove liblog\u0027s rate limiting\""
    },
    {
      "commit": "9ddb1ddf1417e1bd06cbac8574ae6b99ad118eb1",
      "tree": "95b376d70d9f5350b07fdc722b4e65ea8a96a0d6",
      "parents": [
        "4f8246122f9324b1f19fad97a4b3e6362b8d6ee2",
        "bbf2a0d79728e0f4f4d9b2a760eea453066c78eb"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 23:45:18 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 23:45:18 2019 +0000"
      },
      "message": "Merge \"liblog: statically link tests\""
    },
    {
      "commit": "c2ea6e7c39c5a03a3b3cdcbfeed3f58bdc059921",
      "tree": "dff4e763e54ff5e805129e0a97d481eb85c66b1a",
      "parents": [
        "df8063d04582ab1d4466237ff3facdc811ea48c9"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 13:57:31 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 15:35:20 2019 -0800"
      },
      "message": "Remove __android_log_event_list and the reader aspect of android_log_event_list\n\nOne user of each, dubious API, remove it while we work on a new one.\n\nTest: build\nChange-Id: If422246226addaf873dc2af32553fad3a5182089\n"
    },
    {
      "commit": "6f6ef39b481d8b3f7fb24536b3e28327a48fcec4",
      "tree": "20e2e866d28f09ba1fac35b28e10f9e9b9aa1f0a",
      "parents": [
        "4f8246122f9324b1f19fad97a4b3e6362b8d6ee2"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 14:17:08 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 14:26:36 2019 -0800"
      },
      "message": "Remove liblog/uio.c and \u003clog/uio.h\u003e\n\nreadv() isn\u0027t used by anyone, writev() has one easily replaced user.\nuio.h can be left as a private header for windows compatibility with\nstruct iovec.\n\nTest: build\nChange-Id: I33d4c6bdee6fd818271f78ae06abdd2aa09430f2\n"
    },
    {
      "commit": "4f8246122f9324b1f19fad97a4b3e6362b8d6ee2",
      "tree": "f4c11c77b56b60129e33cd6932df9744b2c0c156",
      "parents": [
        "c8b83f3874cdef096b37e01ded8a15a47dbfa1c2",
        "bab52203b7c0a2610c1f51428703388223cb634a"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 22:25:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 22:25:53 2019 +0000"
      },
      "message": "Merge \"Use #pragma one for all liblog includes\""
    },
    {
      "commit": "1d69860960f51f166ed570206936e1e46bca7c32",
      "tree": "488111dda3f13d160d8f9bf09c640f2437eef119",
      "parents": [
        "3a4591c750a2499bd1d760339c0e025475e9d597",
        "a6d599815c2e221c10bf8f0a54b042c0bd233c5b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 19:50:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 19:50:23 2019 +0000"
      },
      "message": "Merge \"Remove \u003clog/logd.h\u003e and \u003clog/logger.h\u003e\""
    },
    {
      "commit": "bab52203b7c0a2610c1f51428703388223cb634a",
      "tree": "75971624aec79210906bf22632d4765b3b3374c3",
      "parents": [
        "3a4591c750a2499bd1d760339c0e025475e9d597"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 17:47:48 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 10:49:45 2019 -0800"
      },
      "message": "Use #pragma one for all liblog includes\n\nTest: build\nChange-Id: I0ffe40853a89acffc1af4fd3838ef488706d23dc\n"
    },
    {
      "commit": "3a4591c750a2499bd1d760339c0e025475e9d597",
      "tree": "9d0331bde0ea19a10ab6907f55fc3537af42e826",
      "parents": [
        "e780431345dbf4973de906fa2b1c7e050d3c8e04",
        "e5b615076b0598e6043de9f90c0e9f8c21bbaa52"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 18:43:18 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 18:43:18 2019 +0000"
      },
      "message": "Merge \"Remove checks for _USING_LIBCXX\""
    },
    {
      "commit": "3b4bddc6386f40d57181f0e93cf8f2f37695f230",
      "tree": "a135dc6ff621a213784ffe5a3c1bdc55987432e6",
      "parents": [
        "e780431345dbf4973de906fa2b1c7e050d3c8e04"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 15:19:43 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 16 10:37:14 2019 -0800"
      },
      "message": "Remove liblog\u0027s rate limiting\n\nAfter a few years of being available, there only ended up being one\nuser of this, so it is clear that logd\u0027s duplicate message mechanism\nis the favored solution.\n\nThe one user of this rate limiting is questionable as is, since due to\nthe nature of storaged, the mainloop only runs once per minute by\ndefault as is, so there is essentially nothing to be gained by rate\nlimiting any further.\n\nTest: build\nChange-Id: I0610d11efda1ce8b581b939bad11ff295cb2daa6\n"
    },
    {
      "commit": "e780431345dbf4973de906fa2b1c7e050d3c8e04",
      "tree": "f1bf52b9cc454217c545278bcbdcf59112b90f19",
      "parents": [
        "72c06c5f688647d47cef74ef34cab86d28e2c826",
        "1e1b9155f4feee5295b79616363ef76d3d07d35f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 18:28:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 18:28:21 2019 +0000"
      },
      "message": "Merge \"Remove __ANDROID_USE_LIBLOG_* guards\""
    },
    {
      "commit": "a6d599815c2e221c10bf8f0a54b042c0bd233c5b",
      "tree": "2c8bcf1189a7c009381da798af7697caf07216dc",
      "parents": [
        "dea312bf1422d8df81e476f4a851dc640125ba86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 17:09:03 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 20:53:37 2019 -0800"
      },
      "message": "Remove \u003clog/logd.h\u003e and \u003clog/logger.h\u003e\n\nThese are deprecated and no one is currently using them, so remove\nthem.\n\nTest: build\nChange-Id: Ia8d96e8aacdc3dd80e061c835072a3df4e8d38d9\n"
    },
    {
      "commit": "1e1b9155f4feee5295b79616363ef76d3d07d35f",
      "tree": "e7bc7a76f6805244c6d15b49e2e0a52d0ed39a2b",
      "parents": [
        "dea312bf1422d8df81e476f4a851dc640125ba86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 17:25:35 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 20:51:01 2019 -0800"
      },
      "message": "Remove __ANDROID_USE_LIBLOG_* guards\n\nThese headers are platforms headers, so by definition they\u0027ll never be\ncompiled for a platform less than the current one.\n\nTest: build\nChange-Id: Ic1c1535b935929d713806faf17fbf9cd82275329\n"
    },
    {
      "commit": "e5b615076b0598e6043de9f90c0e9f8c21bbaa52",
      "tree": "d2af18eae7fa9e8054be58ccf494cc582c1f7a5a",
      "parents": [
        "dea312bf1422d8df81e476f4a851dc640125ba86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 18:22:37 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 20:49:06 2019 -0800"
      },
      "message": "Remove checks for _USING_LIBCXX\n\n__cplusplus is enough\n\nTest: build\nChange-Id: Ia0cf3b5beafe41ae1ce17335b5b06c753e665a32\n"
    },
    {
      "commit": "71ba16488b45068f9df2d1658fa9147231ef1012",
      "tree": "3af4e9839da15549127b444cfcc3e1af8affed2f",
      "parents": [
        "dea312bf1422d8df81e476f4a851dc640125ba86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jan 10 10:37:36 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 15:57:33 2019 -0800"
      },
      "message": "liblog: convert to C++\n\nBug: 119867234\nTest: liblog, logcat, logd unit tests\n\nChange-Id: I2a33b6fc37f9860c0041e3573bfb59ea389f623c\n"
    },
    {
      "commit": "bbf2a0d79728e0f4f4d9b2a760eea453066c78eb",
      "tree": "7fbb4eab7fa064e1f3e7c7b0ce8339f2145dce96",
      "parents": [
        "dea312bf1422d8df81e476f4a851dc640125ba86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 13:12:44 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 15 13:12:44 2019 -0800"
      },
      "message": "liblog: statically link tests\n\nSome liblog tests test symbols that aren\u0027t otherwise used on the\nplatform.  Statically link the tests such that we can add version\nscripts that expose only the symbols used by the platform, and still\nallow the tests to test the rest.\n\nTest: build + unit tests\nChange-Id: I898280fa52d31a2c7ad4eafdaa85e8b5f2e87971\n"
    },
    {
      "commit": "d1febd3316357655650fd7bb1e9991bf92b312cc",
      "tree": "1783a16e2986cdc83e40305de827e5b8e1d7e7f4",
      "parents": [
        "b9d6cef75e60f7af526d94a6f57bd8ac5b41aac7"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 09 13:35:43 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Jan 10 10:39:35 2019 -0800"
      },
      "message": "liblog: remove LOGGER_LOCAL\n\nNo users ever signed up to use this, so remove it to ease the\nrefactoring of liblog/libbase.\n\nBug: 119867234\nTest: liblog unit tests\nChange-Id: I37b99644112bae7b4a2e3f4d06749db08de4ea14\n"
    },
    {
      "commit": "b9d6cef75e60f7af526d94a6f57bd8ac5b41aac7",
      "tree": "af5f0bbb6e6e3858ee3ae9a7a7cac3dd7671dc75",
      "parents": [
        "29c44f5710d6b2f99f5d1f2582cc6098bc5b51fc",
        "afd483c64530226c0eb4ea580cfe8cac71fac809"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 10 18:34:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 10 18:34:23 2019 +0000"
      },
      "message": "Merge \"liblog: convert README to markdown\""
    },
    {
      "commit": "afd483c64530226c0eb4ea580cfe8cac71fac809",
      "tree": "8898b67249b24d2f1e34acace4f6ca012f17687d",
      "parents": [
        "789d905b50eb4acac76ef064f039ebce57729570"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 09 13:51:15 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 09 14:04:05 2019 -0800"
      },
      "message": "liblog: convert README to markdown\n\nAndroid uses markdown for its readmes, not man pages, so update\nappropriately.\n\nTest: n/a\n\nChange-Id: I674a9da5af56aeebfaca852764eb6c1ca0b166ff\n"
    },
    {
      "commit": "ff4e07076d08af5edb99be731938891147e2e3a4",
      "tree": "81e6e9cca45de6112bfa94dc439ad856b9668405",
      "parents": [
        "789d905b50eb4acac76ef064f039ebce57729570"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 09 13:08:10 2019 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Jan 09 13:08:10 2019 -0800"
      },
      "message": "Use the existing .clang-format-2 for liblog\n\nTest: n/a\nChange-Id: Iadbb88d99aecbc2f7485a5dfa91f5b54846a5b67\n"
    },
    {
      "commit": "bfb465c7337441531663a0d2083d98fd08d36d72",
      "tree": "a46a324568a82301276e71cad9298b2e0c332a72",
      "parents": [
        "c728550de76390955d2a17f00913bd162ad1eb23",
        "a38c2b6910c821d89faaa8c596f61f8f45f4a8fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 02 23:32:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 02 23:32:43 2018 +0000"
      },
      "message": "Merge \"Add missing \u003candroid/log.h\u003e documentation.\""
    },
    {
      "commit": "a38c2b6910c821d89faaa8c596f61f8f45f4a8fd",
      "tree": "eb8bdd3cae91abd84054026c1a1a5abb54d197ee",
      "parents": [
        "787de64fade7034c422174096569c9cfb5c06d2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 02 13:17:18 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 02 13:18:41 2018 -0700"
      },
      "message": "Add missing \u003candroid/log.h\u003e documentation.\n\nBug: N/A\nTest: N/A\nChange-Id: Iec6db210055eb2765b98fd76c53bc77f3c28aaea\n"
    },
    {
      "commit": "3e963f9df7834f3ca67d9049d5a48a26e680577d",
      "tree": "a47fc61d262d3c2dc823016e79836bb660590638",
      "parents": [
        "312339167e7b4f702b8747bbcea4d2231b1988b0"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 31 10:32:32 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 31 21:53:37 2018 -0700"
      },
      "message": "Convert more modules to Android.bp\n\nTest: cd system/core; mma\nTest: check for mkbootfs in build artifacts\nTest: out/host/linux-x86/nativetest64/libcrypto_utils_test/libcrypto_utils_test\nTest: out/host/linux-x86/nativetest64/libnativebridge-tests/*_test\nChange-Id: I71141bd85f052d5d86763a8b79b219cc4c46aafb\n"
    },
    {
      "commit": "91c47309a0fef3910bd3b3db9abf1827df44b906",
      "tree": "d28a90512abce4f08bc4c1bcce5b29f3bf21e7f1",
      "parents": [
        "bb3e479268cb79cc1aed39d1a4a68d5e0653e29d",
        "559387df56b5578a784943296a6f9e75a6bd2b64"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 02:11:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 02:11:31 2018 +0000"
      },
      "message": "Merge \"liblog: Fix memory leaks\""
    },
    {
      "commit": "747eb149d06d9077e7b44aa1edd966e637386f33",
      "tree": "f64bdec4eba3c79bcb6dd1da72e948da5e3a08f6",
      "parents": [
        "5f2a21d244be6cbbc64047474b0aca352f93b2d9"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 25 11:16:22 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 05 16:43:47 2018 +0000"
      },
      "message": "Add noexcept to move constructors and assignment operators.\n\nBug: 116614593\nTest: build with WITH_TIDY\u003d1\nChange-Id: I5a7461386946ca623ab509609092aa0ac8418b80\n"
    },
    {
      "commit": "559387df56b5578a784943296a6f9e75a6bd2b64",
      "tree": "aed3a5cb77f4ba1e994ad0c617b060141c185c84",
      "parents": [
        "e4ab668994f643032c03d46f6eccf9f40af90424"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Oct 03 14:10:00 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Oct 03 21:20:21 2018 +0000"
      },
      "message": "liblog: Fix memory leaks\n\nIf realloc returns NULL, the memory passed to it will remain allocated.\nThat doesn\u0027t appear to be intended here.\n\nCaught by our static analyzer.\n\nBug: None\nTest: Ran the static analyzer.\n\nChange-Id: I579bee6827146d404fc6f6b86074366aefbda63f\n"
    },
    {
      "commit": "9cb232b4defdf7da216b15cbe553c259908538ca",
      "tree": "aaa718a39ea32f0d347d7b9fbbcd8927c282c8a0",
      "parents": [
        "dcee6d22fb083cbf5f8cc2a6e442bef316c3843e"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 02 14:46:48 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 02 17:38:41 2018 -0700"
      },
      "message": "Declare __fake_use_va_args as a constexpr function.\n\n* Need a body and return value for this function\n  so the constexpr check can inline it.\n* C mode can just use an extern function declaration, but not constexpr.\n\nBug: 116854606\nBug: 111614304\nTest: build with WITH_TIDY\u003d1 and enable static analyzer checks\nChange-Id: Ie3f4efbcabed99416d196b6c361a772b8c6a4035\n"
    },
    {
      "commit": "692c9973e1ecece5590211a273ca8a72fcd04fb5",
      "tree": "c6073e9c229432092d6d6e3dacd715918034832c",
      "parents": [
        "3da42a6c05311653ff5d12b5057d5f3c40ac0c1a",
        "0e16d89960dff0b690a96d53dc5e0085967c11e5"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Sep 21 20:34:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 21 20:34:15 2018 +0000"
      },
      "message": "Merge \"liblog#__android_log_btwrite__android_logger_list_read fail\""
    },
    {
      "commit": "502f4864d6c92fce4cb0e4f7f2b12d7124da902b",
      "tree": "b34cb377a8a6543fb0baf68e566b120209b3aaf9",
      "parents": [
        "c2501fda600ea2067099c1de042e3db7acde74ee"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 11:08:41 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 16:50:11 2018 +0000"
      },
      "message": "Suppress implicit-fallthrough warnings.\n\nAdd FALLTHROUGH_INTENDED for clang compiler.\n\nBug: 112564944\nTest: build with global -Wimplicit-fallthrough.\nChange-Id: I40f8bbf94e207c9dd90921e9b762ba51abab5777\n"
    },
    {
      "commit": "0e16d89960dff0b690a96d53dc5e0085967c11e5",
      "tree": "e1ca3400f8a63d2267a877522c91ada5bf7d70fe",
      "parents": [
        "6590255dbbcbd35c527b3a2e6871275ec88fee64"
      ],
      "author": {
        "name": "Yuxian Xu",
        "email": "yuxian.xu@mediatek.com",
        "time": "Mon Jul 30 18:57:55 2018 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 13 04:56:37 2018 +0000"
      },
      "message": "liblog#__android_log_btwrite__android_logger_list_read fail\n\nWith replaced AOSP system.img, adb can be root by other test.\nThe fail is caused by the reason that logdw is still active after\n__android_log_close().\n\nThis test has a potential bug.\nproc/net/unix may contain \u0027\\0\u0027, then \"grep\" command will treat this file\nas a bianry file.\nUsing \"grep -a\" instead of \"grep\" could be a safer way to get the right\nresults from bianry file.\n\nbug: 112250722\nTest: Build CTS\nTest: Pixel 2 XL PPP5.180610.010 passed the following tests\nTest: run cts-on-gsi -m CtsLiblogTestCases --skip-preconditions\nChange-Id: I9bfca1522e90ebb68e6cecbdb63e3b67248e47c4\nSigned-off-by: Xinghua Yang \u003cxinghua.yang@mediatek.com\u003e\n"
    },
    {
      "commit": "bb20b9e6b85c381199a495a7dfdbbfd57fcb1705",
      "tree": "b0a6967d0408d1290b8e935fce2a839c884a8e67",
      "parents": [
        "8f2a34a89b7ff1263217049fe837237b3af16814"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jul 27 12:47:26 2018 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Aug 02 00:55:01 2018 +0000"
      },
      "message": "liblog: Add functions to reset log context\n\nAdd android_log_parser_reset and android_log_reset to reset reader/writer\nlog context. This allows to generate multiple log messages of the same\nformat without context reallocation.\n\nChange-Id: Icb0f15855378aa4e66fc671ffefd15d9df6fee1e\n"
    },
    {
      "commit": "cd3965e425e6a84d085561ed0d80ee0b24d82779",
      "tree": "f1c78f31b2958ee626a0cdc221965165bd842903",
      "parents": [
        "46f281edf5e78a51c5c1765460cddcf805e88d48"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jul 26 14:29:41 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jul 26 14:33:12 2018 -0700"
      },
      "message": "Suppress gnu-zero-variadic-macro-arguments warning.\n\nBug: 111614304\nTest: make with WITH_TIDY\u003d1\nChange-Id: I2a52073202f42d1912363ae864f2f7f892589cea\n"
    },
    {
      "commit": "62b0ef556d778a5734ce84d1da6e7ca8cf8f9362",
      "tree": "a96112f8fee69a776bc9165ca1b3a4450aa00532",
      "parents": [
        "56795ac483e09678b4c92b7cc213c1c68f8718f7"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jul 25 12:15:25 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jul 25 14:36:35 2018 -0700"
      },
      "message": "Declare __fake_use_va_args as a variadic function.\n\n* New clang compiler requires variadic function to have\n  at least one named parameter type.\n* Use ##__VA_ARGS__ to work with empty __VA_ARGS__.\n* Fix one ALOG_ASSERT parameter bug in lmkd/lmkd.c.\n\nBug: 111614304\nTest: make with WITH_TIDY\u003d1\nChange-Id: I90f35aa88527a6897954f69a35b256a157a725c5\n"
    },
    {
      "commit": "67f72bde26e8e97227f72c7ff0b0d8b3bef62f0e",
      "tree": "712ad476f274cdcb43b3520cdc03b7b4d37525dc",
      "parents": [
        "1d2b29a9022ae9910bda2e1371066179bbd176d6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jul 23 13:03:19 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jul 23 13:03:19 2018 -0700"
      },
      "message": "Declare __FAKE_USE_VA_ARGS as a variadic function.\n\nThis avoids 2 static analysis warnings:\n* assigned but unused variables in __VA_ARGS__\n* unused expression result in __VA_ARGS__\n\nBug: 111614304\nTest: make with WITH_TIDY\u003d1\nChange-Id: I4faae8787f6cc76de7ff4b6d08d25d0cb47324ea\n"
    },
    {
      "commit": "fdd3f5ec747dee08325b2367a6269054a003dd5e",
      "tree": "c3e6d5160287aa6436f7995e77aa18547fa7ab95",
      "parents": [
        "54f40303d5632e7f5852cd9f467454281c4f979a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jul 18 16:23:02 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jul 18 17:07:45 2018 -0700"
      },
      "message": "Use __VA_ARGS__ when in clang static analyzer.\n\nClang static analyzer can optimize out if (false) ...\nand report unused variables in __VA_ARGS__.\n\nBug: 111614304\nTest: make with WITH_TIDY\u003d1\nChange-Id: I214ced736230fda847031fd4eee23015fd988ffc\n"
    },
    {
      "commit": "c8d09ddceb6ed9771b100c36fe4ca81d6ee1cfb2",
      "tree": "96692c3a30c1e9237194294b55ec8fc6b2f1b71f",
      "parents": [
        "dc8483cc04ea9d2a716a4ba0916eb3941b54156c"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Jul 13 17:39:22 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Jul 13 17:50:55 2018 -0700"
      },
      "message": "[logd] Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: I15ccb9cfc9967dae4320d9690f5097bc2f7d5bfe\n"
    },
    {
      "commit": "c1a156254864f39cdefffaac34dd39dbe2853129",
      "tree": "5d71b353e76f8487e0f69eab1fdb892f62d4dda2",
      "parents": [
        "d73414c5e819ef7a921ac92f1f5c7545d4f87ef1"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jul 11 17:37:34 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Jul 13 15:28:59 2018 -0700"
      },
      "message": "Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning for binder.\n\nTest: m\nBug: 68236239\nChange-Id: I8184bd6aa4ebff1bd8c88dad16886e98df853b03\n"
    },
    {
      "commit": "b8f4fe4fd46fb9c5e1f53d4f3fcc87c7bd63ee7d",
      "tree": "bb59937427270405de6c99de7aa15707846d9b43",
      "parents": [
        "b0ea3d38b4e61b6d9705004e6f255164c7617213",
        "a2df1ef4413144fe7d09a22f4750df05e83c13fb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 26 19:47:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 26 19:47:53 2018 +0000"
      },
      "message": "Merge changes from topic \"mingw-clang\"\n\n* changes:\n  Do not customize __format__ for Windows/MinGW to gnu_printf\n  Adapt to switch to Clang for Windows host builds\n  Update cflags for building Windows modules with Clang\n"
    },
    {
      "commit": "a2df1ef4413144fe7d09a22f4750df05e83c13fb",
      "tree": "703bdbfdcb8acbe75e5dfb13f492030fa72eb322",
      "parents": [
        "8e52362e45c7d14d30c158e3c5f05e53e499bea4"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Jun 25 11:48:58 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Jun 25 11:52:54 2018 -0700"
      },
      "message": "Do not customize __format__ for Windows/MinGW to gnu_printf\n\nBug: http://b/69933090\nBug: http://b/69933068\n\nMinGW uses gnu_printf to force C99 printf analysis with GCC, but clang\ndoes not support gnu_printf.  So just use the default that\u0027s used for\nother platforms.  This also mirrors upstream commit\nhttps://sourceforge.net/p/mingw-w64/mingw-w64/ci/015e637b4b24d9915162ab877ed539ad0e657951/.\n\nTest: m native-host-cross with Clang.\nChange-Id: I3deb266d70e25296c4ae1d58637afbabc3d949c1\n"
    },
    {
      "commit": "7d8880e50c0304aa116341b6048ed1f31c05d4ff",
      "tree": "b39fadfbfa2d4e3ce1c4c23616c19d5d919531bf",
      "parents": [
        "d41a1f9add9c1feb4aa8f38ad9850f39d715d8bf"
      ],
      "author": {
        "name": "chenhg",
        "email": "chenhg@synaptics.com",
        "time": "Thu Jun 21 14:55:58 2018 -0700"
      },
      "committer": {
        "name": "chenhg",
        "email": "chenhg@synaptics.com",
        "time": "Thu Jun 21 16:04:10 2018 -0700"
      },
      "message": "Remove pstore case ibc.__pstore_append from CTS\n\nBUG: 110118705\nChange-Id: I946c645af0cfb3f3b0e9344c51940da226fd08ce\n"
    },
    {
      "commit": "6427c363dfba0f5de286c0b9846a6547ca591871",
      "tree": "a32e13bd281d9b45f18cc061e58e17c9aa0ba74c",
      "parents": [
        "9040b888a6ede99b56be8a1f54650198f0739f37"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 15:06:53 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 19 15:06:53 2018 -0700"
      },
      "message": "logd: remove failing test.\n\nBug: N/A\nTest: ran tests manually\nChange-Id: I3ebb97d757077acaab1b51809a1c2be90ceb1ad9\n"
    },
    {
      "commit": "42fb2821ccdb8461239cab4e2203bade07b65ce4",
      "tree": "c44247f895a82dc2b0656573258198663885af84",
      "parents": [
        "2be430aceb28508b5eddce16778ddb9f2900426b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 05 07:33:35 2018 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 05 07:43:15 2018 -0700"
      },
      "message": "liblog: expect content only if ro.logd.kernel is enabled\n\nOn svelte devices, CTS test liblog#android_logger_get_ fails on the\nmissing kernel buffer because it is not enabled to save space.\n\nTest: gTest liblog_unit_tests\nBug: 109669791\nChange-Id: Iaf46fe9713d3462a56885515a67db640544345ab\n"
    },
    {
      "commit": "462df10d910fbee1a4fd4524ceb8b9a6dbbfe11b",
      "tree": "bf3a8e9f4996bbbab89a2f086eeb24dc12d5e9cf",
      "parents": [
        "98c1b1ccf67113957f1e4d8678cf8b5a1fe747e1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 23 18:55:10 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu May 24 09:34:54 2018 -0700"
      },
      "message": "Work around b/24465209, do not pack relocation table.\n\nGlobal flag --pack-dyn-relocs\u003dandroid is used with clang lld.\nFor b/24465209, we need to override that with pack_relocations:false.\n\nBug: 24465209\nBug: 80093890\nTest: build with USE_CLANG_LLD\u003dtrue and run dlext.compat_elf_hash_and_relocation_tables\nChange-Id: I4edcdf49e184fa45ea2b6b6417654d81bcd09e1d\n"
    },
    {
      "commit": "85bd9ca978772341c4e481317f0f768fa2b2aade",
      "tree": "747546624469ba7a074ecf11dfdb9dbb4ed1a449",
      "parents": [
        "a2157a7d92bddd893e03b60d32bf928306c6a10b",
        "0f975a2099dd7612f0bf9fc28f5eb7b6b76c4f9c"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 23 17:17:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 23 17:17:14 2018 +0000"
      },
      "message": "Merge \"Work around b/24465209, do not use clang lld\""
    },
    {
      "commit": "0f975a2099dd7612f0bf9fc28f5eb7b6b76c4f9c",
      "tree": "fe0dd002a41dd2e7b0a1e797230e874b8a9782a5",
      "parents": [
        "931a840e8c3494a4fac881c6f7b8663679ca6a88"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 22 21:37:49 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 23 17:15:48 2018 +0000"
      },
      "message": "Work around b/24465209, do not use clang lld\n\nSee longer explanation in b/80093890.\nClang lld does not generate expected DT_REL and DT_RELA tags\nwith --hash-style\u003dboth and --pack-dyn-relocs\u003dandroid.\nI am not sure about the extent of b/24465209, so\nI would rather not to use lld for these .so files for now.\n\nBug: 80093890\nBug: 24465209\nTest: build with USE_CLANG_LLD\u003dtrue and run dlext.compat_elf_hash_and_relocation_tables\nChange-Id: I645dbe25c5b9975605e3af5e717ed36c276f14d4\n"
    },
    {
      "commit": "2a1c0dd6df7a2cc9817fe9d7fc8ae10a07c96564",
      "tree": "6775c83490228b45ea2024eb70fb0884d724bed7",
      "parents": [
        "931a840e8c3494a4fac881c6f7b8663679ca6a88",
        "487de273455671edfd7a76d3c87bb5aaffd59ce1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 22:44:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 22:44:56 2018 +0000"
      },
      "message": "Merge \"Simplify code\""
    },
    {
      "commit": "487de273455671edfd7a76d3c87bb5aaffd59ce1",
      "tree": "a7761a23e2a70a824d4a48af19061d5810fe090f",
      "parents": [
        "48cf760bea211b43aa79675c6b73f846202865f9"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue May 15 18:56:36 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed May 16 03:06:59 2018 +0000"
      },
      "message": "Simplify code\n\nThe static analyzer is concerned about the strcpys below this, since it\napparently doesn\u0027t try to model snprintf\u0027s potential behaviors. (In\nparticular, it was concerned that suffixLen might be \u003e\u003d\nsizeof(suffixBuf)). While that\u0027s clearly suboptimal, this code can also\nbe simplified to make it more obvious what\u0027s happening and to appease\nthe analyzer.\n\nNo functionality change is intended.\n\nBug: None\nTest: Ran the analyzer. It\u0027s no longer angry about strcpy overflows.\n\nChange-Id: I4aa812144c90f6d3e833bbcb23c0694476a0e53e\n"
    },
    {
      "commit": "612210c75b2c55bf79f93b6789773c7459d320e4",
      "tree": "ef9186e2abf031fc2e6dfd85a5a204c71a9ece40",
      "parents": [
        "313aa7172f70423ecda70ff4486cd09861bbb5ee"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 27 21:48:43 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue May 15 09:47:04 2018 +0900"
      },
      "message": "Mark as recovery_available: true\n\nLibraries that are direct or indirect dependencies of modules installed\nto recovery partition (e.g. toybox) are marked as recovery_available:\ntrue. This allows a recovery variant of the lib is created when it is\ndepended by other recovery or recovery_available modules.\n\nBug: 67916654\nBug: 64960723\nTest: m -j\nChange-Id: Ie59155c08890e96ce1893fa3687afcf763d7aea3\n"
    },
    {
      "commit": "55a76719e28740c289f553978d5c4226faf5ca05",
      "tree": "7e0d3932636eacbda7ffdb9bedd0f0ab41f260b9",
      "parents": [
        "07de83831f9a2bf67e1c4a4df72baed42b26c7e9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:49:41 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:49:41 2018 -0700"
      },
      "message": "Add missing @addtogroup tags.\n\nThese NDK docs weren\u0027t in any groups, so they don\u0027t show up in the\nnew site.\n\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/logging\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/sync\nBug: http://b/77236573\nChange-Id: I300f96585dec94359ecf96fbf39c6dc3ec4579e5\n"
    },
    {
      "commit": "72d3724ee57251e4056df95f58a55f0c9e2ab31c",
      "tree": "766ffead891d45364b4108dcd351bc771745bbee",
      "parents": [
        "5be32c312c695b8d9abc7558e338e32ff047a9e6"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 07 10:42:06 2018 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 07 10:56:51 2018 -0800"
      },
      "message": "liblog: save errno through log writing\n\nTest: compile\nBug: 74258013\nChange-Id: I5163527826855bc506ed324aaba47f8695aaf668\n"
    },
    {
      "commit": "73ac28b4086f6d9f11433bcaa4fa601d079e9d04",
      "tree": "2e144b74f35aaea7b101715e2bf43fb92ecc55bd",
      "parents": [
        "e1ae2ff9e46547dfaa3947eedd5e471332c92a86"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 14:45:12 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 14:59:28 2018 -0800"
      },
      "message": "Expose __android_log_buf_print and __android_log_buf_write to NDK\n\nThese are needed to build libbase with the NDK.\n\nBug: 73658597\nTest: tree hugger\nChange-Id: Icf4a82c5c08975731c180be155743ac63f4bfd50\n"
    },
    {
      "commit": "446d01c2c71c1b3cd1ab5000a61ff3abe2676cf6",
      "tree": "c79b7d298777ea05e35ff70fe93a150e9ec4f118",
      "parents": [
        "1cb765c86737f67e953375a70e2de9339b4023f6"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Feb 08 19:20:56 2018 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Tue Feb 13 19:21:43 2018 +0000"
      },
      "message": "Make log_event_list.h available to vendor code.\n\nThis is required in order to be able to log audit\nevents from wpa_supplicant. Only log writing functions\nfrom log_event_list.h are made available.\n\nTest: manually\nBug: 70886042\nChange-Id: I097d4ad1de573662658678e6a9f1fc8f17820542\n"
    },
    {
      "commit": "65725ac4646f8c243215f87df0abb8c96caea0ae",
      "tree": "084bc07bed6599b877df2969e78e0e679079d141",
      "parents": [
        "a0e50d0b56f6f831f81344f3a36e5733092c16d0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 10:57:10 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 10:57:57 2018 -0800"
      },
      "message": "Doxygen format \u003candroid/log.h\u003e.\n\nBug: N/A\nTest: ran doxygen manually.\nChange-Id: I164de255dbbc6c0312e656ddd886dcac231c893a\n"
    },
    {
      "commit": "7bb9785a1d4cbaaf5d2222bbfa03812db40c49a8",
      "tree": "3fca2957371f982e53a17c398a13b6b0caa16247",
      "parents": [
        "34f8eaab0de825b9a83b90348d837245c19ca728"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Thu Jan 18 16:25:24 2018 -0800"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Thu Jan 18 16:25:24 2018 -0800"
      },
      "message": "Fixing app compat issue b/72143978\n\nRevert \"Remove obsolete workaround.\"\n\nThis reverts commit 1f3ac7583feaf591ee23fcc69d56d29613020b4f.\n\nBug: 72143978\nBug: 24465209\nTest: Tested failing case on sailfish, reverted back all CL\u0027s since\nTest: 3471433 for b/24465209 and apps open\n"
    },
    {
      "commit": "dc3c14720fb5702da67258067d89ddc51245c5d0",
      "tree": "3a474205353b24c72936226ca95192826a2763c2",
      "parents": [
        "1520bd43b0ce6511cd086eaf495692c4bc2f6d6b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Sep 11 13:29:59 2017 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 16 08:11:59 2018 -0800"
      },
      "message": "liblog: clock_gettime, clock_getres and time benchmarks\n\nAdd local BM_time_clock_gettime_*, BM_time_clock_getres_* and\nBM_time_time benchmarks.  Relates to the bionic benchmarks of\nthe same names, except adds CLOCK_MONOTONIC_RAW.  Added here for\ndeveloper convenience whenever updates to the liblog or logd\ncode base need integration testing.\n\nToDo: add liblog gTests that analyse the benchmark data to confirm\nthat the specified integrated device has vdso access to all the\npertinent clock sources.  Add liblog local benchmarks and tests to\nmeasure the device clock drift of each possible liblog clock\nsource to help evaluate device configuration.\n\nTest: liblog_benchmarks --benchmark_filter\u003dBM_time*\nBug: 63737556\nBug: 69423514\nChange-Id: Ibafe0880d976ef2b3885765f71e0ba6c99d56f2a\n"
    },
    {
      "commit": "1520bd43b0ce6511cd086eaf495692c4bc2f6d6b",
      "tree": "626659ce4c63d3ddbec910a74054f449358916f7",
      "parents": [
        "3b44d2846eac9c198c95b7cff293b9b8507c2534"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 11 11:20:24 2018 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 16 08:11:26 2018 -0800"
      },
      "message": "liblog: benchmarks use google-benchmark library\n\nRemove our circa 2014 snapshot of the google benchmarking library, and\nuse the now very stable google-benchmark suite. Some porting effort,\nand deal with some benchmarking saddle points that take too long to\nsort out. Focus on minimal API changes, _odd_ new behaviors, and style.\n\nTest: liblog_benchmarks, ensure results in about the same range\nBug: 69423514\nChange-Id: I2add1df9cb664333bcf983b57121ae151b26935b\n"
    },
    {
      "commit": "b0e17c9e91bd51a129933e46ef1b68e57bb4b5f3",
      "tree": "7a0b738df8a34e847d16ceb26bbe253749da6af3",
      "parents": [
        "4d281880e0f6f8644c530e5274f999bebc19d65c"
      ],
      "author": {
        "name": "Krzysztof Wesolowski",
        "email": "krzysztof.wesolowski@volvocars.com",
        "time": "Thu Nov 30 10:11:13 2017 +0100"
      },
      "committer": {
        "name": "Bryan Eyler",
        "email": "bryaneyler@google.com",
        "time": "Thu Jan 11 11:11:20 2018 -0800"
      },
      "message": "Improve ALOGV compatiblity with clang-tidy\n\nCurrently used clang tidy does not filter the warnings caused\nby macros, even if macros come from filtered headers.\n\nThis change allows projects using ALOGV to use\nreadability-implicit-bool-conversion without spreading //NOLINT everywhere.\n\nBug: 71533509\nChange-Id: Id1b193d1e56d13f00171e04f600292877c5f6cb3\n"
    },
    {
      "commit": "1f3ac7583feaf591ee23fcc69d56d29613020b4f",
      "tree": "26676b2bcb8b6fcf6896f14a9729970e1fac0856",
      "parents": [
        "a1e27d342e05fc504ce7140463d17336c53a1af8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 09 14:43:00 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 09 14:43:00 2018 -0800"
      },
      "message": "Remove obsolete workaround.\n\nBug: http://b/24465209\nTest: manually ran the app.\nChange-Id: I573d2480c70632b100096ba6b2029bfc335595d6\n"
    },
    {
      "commit": "e1c834db040051c04b4ba946753e322f847d386b",
      "tree": "ef3285992839124c3a0471609e8b53c99fe3d441",
      "parents": [
        "9e7cec22e03f37328eeed648c4d3b254d6873ba3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 05 14:42:12 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 05 14:42:12 2018 -0800"
      },
      "message": "Use override_export_include_dirs.\n\nBug: 62878521\nTest: soong build system finds renamed attribute\nChange-Id: I51e42f4378db366b8711cd373fb835fecda88416\n"
    },
    {
      "commit": "5b585791db3d169e6d63cf360506d044553f798b",
      "tree": "706f38ecc0d189f55f48022817c14fcf9b24b521",
      "parents": [
        "3459e5823e74777ea1d841c72bb5730170629213"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Mon Dec 18 18:08:53 2017 +0000"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Mon Dec 18 18:08:53 2017 +0000"
      },
      "message": "Add suite component to test modules\n\nTest: build\nBug: 65303193\nChange-Id: I620c7034b9bdfa056dbde97c28bc5abc3375cc42\n"
    },
    {
      "commit": "3289b9c9282dec777363256e27fcc23cd97001c1",
      "tree": "e592f69aba1eceaf88b8ddb643935a5e77b13e3c",
      "parents": [
        "255c43cd050f5202e96483430684c19b7ce916ff",
        "693d63f9cfc21e3334c6f8f228d73c4fb60ced8b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 07 23:21:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 07 23:21:26 2017 +0000"
      },
      "message": "Merge \"Add OWNERS.\""
    },
    {
      "commit": "693d63f9cfc21e3334c6f8f228d73c4fb60ced8b",
      "tree": "f0cc35536aff301e680302b8f3654517b8863acc",
      "parents": [
        "aaa0bbce8eadf1a428493f3524066a74447eded4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 07 11:31:02 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 07 13:30:03 2017 -0800"
      },
      "message": "Add OWNERS.\n\nBug: N/A\nTest: N/A\nChange-Id: Ie785058c0f5eb9b4086c98ccba6e63e3ed411b65\n"
    },
    {
      "commit": "9e28024b425e1cd93ca54d52d0df1c8f7968ead3",
      "tree": "2f94e9f4b6d7d44e3f3db6183f191eff039b0ffc",
      "parents": [
        "d11a642bd05393ec32474db71cc557fa26a51784",
        "1e2ed53ffcc2c9c28531bdadb478865c7d3bff35"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Dec 04 21:17:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 04 21:17:18 2017 +0000"
      },
      "message": "Merge \"make log.tag.stats_log work for stats buffer.\"\nam: 1e2ed53ffc\n\nChange-Id: I5b81edb2c221eb8a7c5ab64316d788879d727c58\n"
    },
    {
      "commit": "1e2ed53ffcc2c9c28531bdadb478865c7d3bff35",
      "tree": "4773d9eb3bf0e80e587a1c1d742789ed12a973a8",
      "parents": [
        "919887ebd3ac2d22a200fc88140b9a88f307488e",
        "025f05a2256f01edc49ab6ae158a7f2f170bcf67"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 04 21:02:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 04 21:02:26 2017 +0000"
      },
      "message": "Merge \"make log.tag.stats_log work for stats buffer.\""
    },
    {
      "commit": "025f05a2256f01edc49ab6ae158a7f2f170bcf67",
      "tree": "d1a71e4807496e5450d0ed0900e4e844b1229da8",
      "parents": [
        "5470a12513b423be2b23a94e7214f2a5bd950ad9"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Dec 01 15:48:19 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Dec 04 10:07:12 2017 -0800"
      },
      "message": "make log.tag.stats_log work for stats buffer.\n\nTest: adb shell setprop log.tag.stats_log S\n      And saw the stats logs are silent.\n\nChange-Id: I7a9313f5f12029f9b8a8f070de1e1db659675525\n"
    },
    {
      "commit": "152d7e0f6c7e2b948d3538c50030226d53974ab9",
      "tree": "716f1a32e75849800b57d6c0c4c71fdfeb402eb5",
      "parents": [
        "b32552496cae21742d503b8c6573a30871cfc87a",
        "c8022a3efce555075e0be5897ddcdd9d0c29a880"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 01 16:51:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 01 16:51:24 2017 +0000"
      },
      "message": "Merge \"std::string_view is no longer experimental.\"\nam: c8022a3efc\n\nChange-Id: I75fa251cb6a959e7dfd32524b8d0ffcf839c3dc4\n"
    },
    {
      "commit": "e805883a2b088a187ce4339e04387efbeb35b512",
      "tree": "0a31d7e95a62086d1d60f40fe09803d5c2adb6de",
      "parents": [
        "aaa0bbce8eadf1a428493f3524066a74447eded4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 30 16:31:35 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 30 16:32:15 2017 -0800"
      },
      "message": "std::string_view is no longer experimental.\n\nBug: N/A\nTest: builds\nChange-Id: I8f022fdc3ebaebd8aa250414569485a752f98da7\n"
    },
    {
      "commit": "11bb6bbf415389ca0aaab97b8dbe283f249d1135",
      "tree": "8540d34082192f095bf2085a6a7d3a29e09563fa",
      "parents": [
        "23e27db576d06761363365494327baf062468a66",
        "68f2c85354acd1d758f5aa2349b83b620a7ba1dd"
      ],
      "author": {
        "name": "yaochen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 15 19:26:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 15 19:26:12 2017 +0000"
      },
      "message": "Merge changes from topic \"stats_log\"\nam: 68f2c85354\n\nChange-Id: I2dce867c04ea61a05b32063f321414f459cbe26c\n"
    },
    {
      "commit": "701a0658e6241589a643c3dcab483d3999a4c8e8",
      "tree": "ec8b88391e483b0bff7dc50b4549fa025f62f969",
      "parents": [
        "21d3840eb39291bbc59f0dc5a33fc58b152994fe"
      ],
      "author": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Thu Aug 24 20:14:06 2017 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Nov 14 16:20:00 2017 -0800"
      },
      "message": "Create stats buffer in logd.\n\nBug: 69323063\nTest: ran unit tests.\nChange-Id: Icfb827ab4674172c26b4bbfe1a9b3bffc03dc24b\n(cherry picked from commit 1b1b6f50c78d88e3256a5e13559d92fbb6d1c8fe)\n"
    },
    {
      "commit": "23e27db576d06761363365494327baf062468a66",
      "tree": "cc76a40025c2189fc70dd6edd4a0eba251fd7b44",
      "parents": [
        "ea41bcf7a3a9095feb39cc6bd37d865c2eec3c36",
        "a63ccea6abc7ea02e2d98e41c80793ca97237bd3"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:12:57 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 13:19:45 2017 -0800"
      },
      "message": "Merge commit \u0027a63ccea6abc7ea02e2d98e41c80793ca97237bd3\u0027 from\noc-mr1-dev-plus-aosp into stage-aosp-master\n\nChange-Id: Ia33311cd1fd26dfaea59a69317b306fb91203c40\nMerged-In: I03d06b10807e8a313c9654c2e1db36bfb59e3f99\n"
    },
    {
      "commit": "07320dc0a37ab7cb0b4b742e8c4b7767bc3fe997",
      "tree": "78ec093f79a236977c93339dd7d27dea43b57a91",
      "parents": [
        "1ab86ad3bc3fd4b9c4e18e549d135e25ab07936a"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Oct 25 11:35:05 2017 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Oct 25 13:46:42 2017 -0700"
      },
      "message": "Allow stats buffer to be empty in liblog CTS.\n\nBug: 68205209\nTest: CtsLiblogTestCases\nChange-Id: I846c7cf72c54b02c2bc67c9c9e37b5cf4ae3da2b\n"
    },
    {
      "commit": "95d7cbb77a5d33370bcc662cf8ba508d849f45d6",
      "tree": "23a2ef291cd58ed7d8347ea24e488cb01fd7a564",
      "parents": [
        "1f64241e2dd1056584a81bf68b57108121fde5cb"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 10 16:40:36 2017 -0700"
      },
      "committer": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Tue Oct 17 12:09:50 2017 +0900"
      },
      "message": "Add vendor_available to liblog_headers.\n\nRenamed NDK headers to \"liblog_ndk_headers\"\n(these names aren\u0027t used anywhere).\n\nlibutils_headers now properly export liblog_headers.\n\nTest: with BOARD_VNDK_VERSION\u003dcurrent\nMerged-In: I3a85385f588b84393c57fd6d1bcac620f708f0f1\nChange-Id: I3a85385f588b84393c57fd6d1bcac620f708f0f1\n(cherry picked from commit 42b485cc538217fa127996a340229f76b7c4031b)\n"
    },
    {
      "commit": "f4778e827f98ab5d328ac0b2ab3720587ce3a5b3",
      "tree": "e8d3e99332e8fce51d3ca60d69975578ddd3e17d",
      "parents": [
        "f85f4d6a2821215144dbc5a506ca026ad4af6991",
        "7b9c789d23ae88e665ebff600e7636741168eef0"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Oct 04 01:00:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 04 01:00:52 2017 +0000"
      },
      "message": "Merge \"Make liblog headers compile stand-alone.\" am: fe3551e9dc am: b637860732\nam: 7b9c789d23\n\nChange-Id: Ie4227d04492fdb6d571eca3f7637e650180b4716\n"
    },
    {
      "commit": "b6378607329909b18898d20912401cb51d6a2efb",
      "tree": "0e13e3007712a6d445683019324d82816b7af793",
      "parents": [
        "5c00898944e469e637acd8a092c21b0f823689ac",
        "fe3551e9dc173e81649ee7b5beb2b99bd6a3d2be"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Oct 04 00:55:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 04 00:55:47 2017 +0000"
      },
      "message": "Merge \"Make liblog headers compile stand-alone.\"\nam: fe3551e9dc\n\nChange-Id: I20b97d38d356f720c74954200f40b8315cdd0c21\n"
    },
    {
      "commit": "12f56a00d3805481badbd3e138a79dfaf250f5a6",
      "tree": "df9f15e3b8e2605a6a2946793621836db8edad72",
      "parents": [
        "541428a13b8976b58893d6427c94b36084514546"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 03 14:02:41 2017 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 03 14:06:33 2017 -0700"
      },
      "message": "Make liblog headers compile stand-alone.\n\nTest: process liblog headers individually with header-abi-dumper.\n\nTest: mm -j64\n\nBug: 66971285\n\nChange-Id: If7dec611b84eb9fa8e1e5a974b444d4ddf54759a\n"
    },
    {
      "commit": "1511cbb43943308c3e7cae749156ca1260af4458",
      "tree": "02a57415d2bb32579b8911ae5e5cc79ac45745f3",
      "parents": [
        "348a08246992bcb5c9703873f3a51c9c744696a5",
        "541428a13b8976b58893d6427c94b36084514546"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 03 20:05:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 03 20:05:15 2017 +0000"
      },
      "message": "Merge \"Hide implementation details of log_time struct\"\nam: 541428a13b\n\nChange-Id: I170a1f983e7752bb318973a30d761376ecff7f05\n"
    },
    {
      "commit": "541428a13b8976b58893d6427c94b36084514546",
      "tree": "15f997a80a3d03337c97bee8326a6ad38179e758",
      "parents": [
        "7b3d4da91a064ddc0973b1c03c1d6c68b76b9952",
        "0d047642ebde013ed44ec6386a20debd87e54eb9"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 03 20:01:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 20:01:13 2017 +0000"
      },
      "message": "Merge \"Hide implementation details of log_time struct\""
    },
    {
      "commit": "0d047642ebde013ed44ec6386a20debd87e54eb9",
      "tree": "abbf0ae6cc0aff160b767a6be631c8dddbf352f9",
      "parents": [
        "9c568d0fc0e290529180e3fc0452f0ac489e5053"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Sep 04 10:55:09 2017 +0900"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 03 17:45:17 2017 +0000"
      },
      "message": "Hide implementation details of log_time struct\n\nIn the future, the sizes of tv_sec and tv_nsec (or even the size of\nlog_time struct itself) can change due to the 32-bit overflow expected\nto happen in the year 2138. In order to hide such implementation details\nto the clients of liblog, the two macros LOG_TIME_SEC and LOG_TIME_NSEC\nare introduced.\n\nFurthermore, vendors are provided with a simplified version of log_time.h\nwithout C++ APIs. In doing so, log_time.h no longer includes time.h.\nThis breaks several modules that implicitly relied on the hidden\ndependency, which should be fixed.\n\nBug: 37629934\nTest: build with BOARD_VNDK_VERSION\u003dcurrent\n\nMerged-In: If213fc291395554fd8de5f5d1fb005ceaaa5ca57\nChange-Id: I01b36078c1d8f3f44824be20ae769ba1465b6feb\n(cherry picked from commit 98c0d030c9a1ca7a94ebfe1d8db167973be504d3)\n"
    },
    {
      "commit": "2c6b2ebe7cbf4f64717fb8350fd8b19c85f7a998",
      "tree": "737a1bf600bd1c2ed15bb309277bb7881f887d35",
      "parents": [
        "e15961feb928ae80fd03ba005e01f86d6dbeb0db",
        "55181f7cdd4cd2e101f567f28a4a60be380d3ea4"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 30 23:36:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 30 23:36:25 2017 +0000"
      },
      "message": "Merge \"Remove default libraries\" am: 8b7feee38f am: a0113de2f3\nam: 55181f7cdd\n\nChange-Id: I2fa1d556537ee4f3b2e67cd35aa3ce090b3684a6\n"
    },
    {
      "commit": "a0113de2f379144dd66f144115f31c541524518c",
      "tree": "a7df373536d50f705d9c143e231338c150c3b8e5",
      "parents": [
        "ee4d611c467a8bef74a9b8e13b7ff103b64591b1",
        "8b7feee38fe31eb40a50c55144a850cbc37e4089"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 30 23:32:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 30 23:32:45 2017 +0000"
      },
      "message": "Merge \"Remove default libraries\"\nam: 8b7feee38f\n\nChange-Id: Ic39ecabd37ffe06ba3a119410b5dcd4885fb584c\n"
    },
    {
      "commit": "1e45d533b36df8436a667a63fe624091933cb2ab",
      "tree": "0a68593653604ca37e993339f5d8b3c44a02a559",
      "parents": [
        "39071a517738b24611ae373c9a608a4ca00d0630"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 28 17:13:32 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 29 13:17:06 2017 -0700"
      },
      "message": "Remove default libraries\n\nlibdl is part of system_shared_libs now. -ldl -lpthread -lm are now defaults\nfor host_ldlibs on Linux and Darwin. -lrt is a default for host_ldlibs on\nLinux.\n\nTest: m host\nChange-Id: I0b3c147b00a8ab6ff289b85db55b88836c905f5c\nExempt-From-Owner-Approval: build system cleanup\n"
    },
    {
      "commit": "1d444319d794f31d1d45976fb9aa81fe3856ef6d",
      "tree": "e0ec5109b152cda638d851c186cf8b5cd4c47348",
      "parents": [
        "dc58ecf8eded3bcf521177c1a445e4be15cd9230",
        "5dec8e22c3ecda25ac63baa20d2c23c7a659662c"
      ],
      "author": {
        "name": "Yoshitaka Seto",
        "email": "yoshitaka.seto@sony.com",
        "time": "Thu Sep 21 23:25:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 21 23:25:34 2017 +0000"
      },
      "message": "Remove pstore related unit tests from CTS\nam: 5dec8e22c3\n\nChange-Id: Ifba13f9d714e58eaa3358a48246c71f90687629e\n"
    },
    {
      "commit": "5dec8e22c3ecda25ac63baa20d2c23c7a659662c",
      "tree": "2911f64b8118892c359e30538fcfc8c58e087af6",
      "parents": [
        "5cf1f6a8c89f5c47106266251b5c885d0fe6590e"
      ],
      "author": {
        "name": "Yoshitaka Seto",
        "email": "yoshitaka.seto@sony.com",
        "time": "Mon Jul 31 17:44:36 2017 +0900"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 21 13:37:50 2017 -0700"
      },
      "message": "Remove pstore related unit tests from CTS\n\nPstore test cases should not belong to CTS.\nThe test cases should be a part of GTS if really required.\n\nTest: manual\nBug: 66431569\nBug: 63969981\nBug: 63913130\nSigned-off-by: Srinavasa Nagaraju \u003cSrinavasa.Nagaraju@sony.com\u003e\nSigned-off-by: Yoshitaka Seto \u003cyoshitaka.seto@sony.com\u003e\nSigned-off-by: Mark Salyzyn \u003csalyzyn@google.com\u003e\nTested-by: Srinavasa Nagaraju \u003cSrinavasa.Nagaraju@sony.com\u003e\nChange-Id: Icd326403711ad268ce28a3863045fc9b2f211461\n"
    }
  ],
  "next": "88618e2b30d366ce4fec0bfcbfd6592c9e2c4ba4"
}
