)]}'
{
  "log": [
    {
      "commit": "65707b696a59f28b3980c78bdb4b049231610e64",
      "tree": "31fcb0e09dbe033dbd8fb82c6c304ad362d5a2ea",
      "parents": [
        "4bc6eea83e127a50d4763f067486ec79ed4e61a7"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 29 13:25:33 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 29 14:05:39 2016 -0700"
      },
      "message": "Improvements to initialization of linker_allocator\n\nMake linker_allocator independent of the order of global constructors.\n\nBug: http://b/30483811\nChange-Id: I18a323175661b8e1c9e398f2d6112f7a08d2cceb\nTest: boot the device with I3ac91758a1a043146c65f2ae0f36fcfbe372c30f\n"
    },
    {
      "commit": "f857211675dcfe7abd311e4a7bef6d1685fb4a93",
      "tree": "56c17570f7bd648cc9de50b51262bc1d14b6dc08",
      "parents": [
        "c8d5d2a5246e97bc916795811bf6147caa71bc5d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 10:24:06 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 10:33:15 2016 -0700"
      },
      "message": "Use trivial types to avoid calls to new for globals\n\nTo avoid initialization ordering problem avoid constructing\nnon-trivial global objects for linker_logger.\n\nThis patch also adds explicit check for bloc_size_ on alloc\n\nChange-Id: I2cb3b13a10b7fac1f52a20038af77266d3e1da96\n"
    },
    {
      "commit": "d9d6a84c016abea6745c7e7a789755f3449c7e4b",
      "tree": "b74880ccb4c3b95e54173f60f59ce5f1bb97531a",
      "parents": [
        "194860a9e638b1d093857f08b8fad37c9ec0e113"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jan 26 17:53:17 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jan 26 17:54:13 2016 -0800"
      },
      "message": "Unify names for pages allocated for small objects\n\nBug: http://b/26776399\nChange-Id: Id5b6f143a526cecca56de18ddad8857dfa1dd165\n"
    },
    {
      "commit": "3edc5c41bbee7cf608a781e7056599f32ca1949c",
      "tree": "88b26c5a450fb4548479c109a68253e7a41c07e8",
      "parents": [
        "8d6e19408cfdbd73ba7e5c9e5b8716d9dad8dcf9"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jan 21 10:55:40 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jan 21 14:28:33 2016 -0800"
      },
      "message": "linker: align allocated blocks to 16 bytes\n\nC/C++ requires the result of malloc/new to be\naligned for any primitive type.\n\nChange-Id: I715b7679e738f34b3b409993fb3ef242e1321b7f\n"
    },
    {
      "commit": "19656ce5376c95ce0deebc4d0c6af1bb8d740934",
      "tree": "3e78273c034d5890e12af1a00f9e9746ce3fec23",
      "parents": [
        "11a06c73f6e7d31442429a58a346d881b0a8a441"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 17:48:27 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 16 11:19:53 2015 -0700"
      },
      "message": "General purpose memory allocator for linker.\n\n Add basic general purpose memory allocator to\n linker in order to enable usage of other libraries\n like libziparchive.\n\nChange-Id: I4a680ebb36ed5ba67c61249f81dba9f567808434\n"
    },
    {
      "commit": "c9ce70d7838b6aae074fc3615cdf04e5c9ac612a",
      "tree": "dac3026e1798737fd5edc364a82822bdfb078ae0",
      "parents": [
        "e842dc0de5ce5f9950e323ae8805909f60867bf6"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 15:30:26 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 15:30:26 2015 -0700"
      },
      "message": "Refactoring: rename linker_allocator files\n\nChange-Id: Ifc08e64b3a85205f072b7abab1149c7ab71e2f75\n"
    },
    {
      "commit": "05fc1d7050d5451aea08dc5f504d2670287b2d43",
      "tree": "fa1d81b61b303ee8ed94c511cc08b8f40ed6624b",
      "parents": [
        "43606bc1ce974e4ba42d7d2c3682ad5182e6fc96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 18:02:33 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 19:23:11 2015 -0800"
      },
      "message": "Add missing includes.\n\nChange-Id: Ibf549266a19a67eb9158d341a69dddfb654be669\n"
    },
    {
      "commit": "51a22a12ab370933a35463f5c81223132ec64dcb",
      "tree": "83033d1672090d93a22d349669bbe9159322f4e8",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 08 16:57:15 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 11 09:22:48 2014 -0700"
      },
      "message": "Label pages mapped by linker_allocator\n\nChange-Id: I7e0bf29bc1a480e9be0d1ae573ca1063d90d82ff\n"
    },
    {
      "commit": "4151ea73b75e274d1ff80b42d9d457a783208516",
      "tree": "5095a8609376eccfc649da4af282d10da47abb06",
      "parents": [
        "7d22a4519610f830178bbff32d961a2784354397"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 24 15:33:25 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 24 15:33:25 2014 -0700"
      },
      "message": "Fix global variable initialization for linker\n\n Linker now calls init functions for itself.\n\nChange-Id: Ibd099812493041ac70f591e3f379ee742b4683b8\n"
    },
    {
      "commit": "d59e50063ad708509f3ad83350be33f5612c4f54",
      "tree": "4179117769c38d28aff06e56427f54e72e5eed6b",
      "parents": [
        "6897b7b8b95beae120fd53e6fd15921d6420bea7"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri May 09 09:10:14 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 14 15:16:35 2014 -0700"
      },
      "message": "Improve detection of already loaded libraries\n\nLinker is now able to resolve symlinked libraries correctly.\n\nsoinfo is extended to save the graph of dependencies during\nload/unload. Dependencies are used only in CallConstructor.\n\nBug: 9741592\nChange-Id: Id9c48a74c46aa89bcdf3d54ec2f8ba3d398130b1\n"
    },
    {
      "commit": "1079406cab09090cc11e26d4ac2f1ba9c4930cdb",
      "tree": "1990287fea9a5cc28410dfa1bc3ff3741ad1cfc2",
      "parents": [
        "c6b5834ceb3df72608a8fe3526a2db337e504512"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 14 12:52:57 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 14 12:52:57 2014 -0700"
      },
      "message": "Fix for linker allocator\n\nChange-Id: I18a3f1a8515657f0deb69266184fb516a27f90e8\n"
    },
    {
      "commit": "bc23e530c4db5175a065eeef36553c9c2c78fcf4",
      "tree": "dd0ef72c108a549ef4ac775be8cb4f43034ca29a",
      "parents": [
        "d597d263bc32422402d4810ce4ec070f0227c2f7"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue May 13 18:34:48 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue May 13 18:34:48 2014 -0700"
      },
      "message": "Remove page level mprotects\n\nFreeing block mprotects on the page which it turn\nmay lead to application crash if linker subsequently\ntries to modify another block on the page.\n\nBug: 14895266\nChange-Id: I8ff7f5df467d7be184242de652032b3c84e24b76\n"
    },
    {
      "commit": "d597d263bc32422402d4810ce4ec070f0227c2f7",
      "tree": "82c874dc2a5e8e1821a23af6c9d9fce7091be185",
      "parents": [
        "4b57305afe2b54a6afb733361f6fd93cb92ccfa8"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon May 05 16:49:04 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon May 12 21:40:09 2014 -0700"
      },
      "message": "Refactor linker allocator\n\nMakes it reusable for different fixed sized and not very\nbig structures (\u003cPAGE_SIZE).\n\nChange-Id: Id5ec13fc6541b1935ef7fe3671c22b98685abbae\n"
    }
  ]
}
