)]}'
{
  "log": [
    {
      "commit": "636196438180fd37027bf7b7119a436169b6923e",
      "tree": "cc42614ca2440bbb1b64f191d5c2eefff038e2de",
      "parents": [
        "a217a0cdb3ff78f6b59d64fd4356f87643ad9d1e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 16 23:35:53 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 16 23:35:53 2014 -0700"
      },
      "message": "Use a separate config.h for config like defines.\n\nThis allows an easier way to share config parameters between unit tests\nand the bionic code.\n\nIt also fixes a problem where the 32 bit bionic tests based on glibc, or\nthe cts list executable did not have the pvalloc,valloc tests.\n\nChange-Id: Ib47942cb8a278252faa7498a6ef23e9578db544f\n"
    },
    {
      "commit": "e5fdaa4f9d102461a4d8a865e6ca84666893b9e7",
      "tree": "c17c2b67e2f12161e67f9b337c9cdc11bd8eab5f",
      "parents": [
        "a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 01:04:31 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 01:04:31 2014 +0000"
      },
      "message": "Revert \"Backing this one out since the counterpart needs to be sent upstream.\"\n\nThis reverts commit a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197.\n\nChange-Id: I1b49165ca5d4bafdba7948818256a6167a363aca\n"
    },
    {
      "commit": "a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197",
      "tree": "729a98533b9d101d029556ca290d9524bd4b416e",
      "parents": [
        "5ee320dd35fafc11eaf90c62198e08c6670e35b4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 00:51:14 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 00:51:14 2014 +0000"
      },
      "message": "Backing this one out since the counterpart needs to be sent upstream.\n\nThis reverts commit 5ee320dd35fafc11eaf90c62198e08c6670e35b4.\n\nChange-Id: I1a9c6b06c3aca595f01c629f7649be743dc48e77\n"
    },
    {
      "commit": "5ee320dd35fafc11eaf90c62198e08c6670e35b4",
      "tree": "c17c2b67e2f12161e67f9b337c9cdc11bd8eab5f",
      "parents": [
        "0f690d9eda1893e66223138d2b930eb3e0164820"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 12 10:55:13 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 13 15:35:05 2014 -0700"
      },
      "message": "Hides valloc(3)/pvalloc(3) on LP64.\n\nThese were removed from POSIX 2004. Hides the header declarations for all\ntargets, and hides the symbols for LP64.\n\nBug: 13935372\nChange-Id: Id592f67e9b7051517a05f536e1373b30162e669c\n"
    },
    {
      "commit": "a403780538ac9d1a260e064df6599663f8cc4166",
      "tree": "340dd81279be34b49622c68dc037ceb5cd73bcc9",
      "parents": [
        "0ada9388e74693d990bdbb4af92c33bae8b34d4b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 09 19:14:11 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 12 15:08:18 2014 -0700"
      },
      "message": "Put all allocation functions into dispatch table.\n\nImplement these new functions for all of the debug malloc types.\n\nFix a number of bugs in the debug malloc functions related to overflow\nconditions.\nFix a bug in dlpvalloc due to an overflow condition.\n\nFix various other bugs in the debug malloc functions.\n\nAdd new tests for malloc functions.\n\nBug: 11225066\n\nChange-Id: Idf50f389603e2157645565bc15cd9365eec2e9dd\n"
    },
    {
      "commit": "8e52e8fe83632c667521c1c8e4f640e94c09baed",
      "tree": "2611bc51cde66365817942ba7febf72910f36034",
      "parents": [
        "e120cba31df5249b720579312e799bd1c65f8e3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 12:07:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 14:08:20 2014 -0700"
      },
      "message": "Fix debug malloc.\n\nPreviously the dynamically-loaded part of the debug malloc implementation\nwanted to access hidden symbols in libc itself.\n\nBug: 15426546\nChange-Id: I6a366ef626854d1af1d705ca24842817b1c02a19\n"
    },
    {
      "commit": "72bbd423579bb971dc06cdd3c06201faf3fe95e6",
      "tree": "222c460d45ac120ae45940628c501d6cfb50f84b",
      "parents": [
        "afb89c2a01089bb247456634a15a58f111bb55a6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 08 11:14:03 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 20 14:47:33 2014 -0700"
      },
      "message": "Support for jemalloc to replace dlmalloc.\n\nTo use jemalloc, add MALLOC_IMPL \u003d jemalloc in a board config file\nand you get the new version automatically.\n\nUpdate the pthread_create_key tests since jemalloc uses a few keys.\nAdd a new test to verify memalign works as expected.\n\nBug: 981363\n\nChange-Id: I16eb152b291a95bd2499e90492fc6b4bd7053836\n"
    },
    {
      "commit": "eb847bc8666842a3cfc9c06e8458ad1abebebaf0",
      "tree": "15e070fb706ba7599d5f402a8f934a7399541a6a",
      "parents": [
        "0c17099a71cb5d1b36b7aab66fd7341b3fc9106d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 09 15:50:50 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 09 16:00:17 2013 -0700"
      },
      "message": "Fix x86_64 build, clean up intermediate libraries.\n\nThe x86_64 build was failing because clone.S had a call to __thread_entry which\nwas being added to a different intermediate .a on the way to making libc.so,\nand the linker couldn\u0027t guarantee statically that such a relocation would be\npossible.\n\n  ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against \u0027__thread_entry\u0027 which may overflow at runtime; recompile with -fPIC\n\nThis patch addresses that by ensuring that the caller and callee end up in the\nsame intermediate .a. While I\u0027m here, I\u0027ve tried to clean up some of the mess\nthat led to this situation too. In particular, this removes libc/private/ from\nthe default include path (except for the DNS code), and splits out the DNS\ncode into its own library (since it\u0027s a weird special case of upstream NetBSD\ncode that\u0027s diverged so heavily it\u0027s unlikely ever to get back in sync).\n\nThere\u0027s more cleanup of the DNS situation possible, but this is definitely a\nstep in the right direction, and it\u0027s more than enough to get x86_64 building\ncleanly.\n\nChange-Id: I00425a7245b7a2573df16cc38798187d0729e7c4\n"
    },
    {
      "commit": "885f3b9cad01b8158aadc55c159c17dbf34f622c",
      "tree": "55991f909d2a12f185c0773de57cdf01b7074ecd",
      "parents": [
        "b7b4f5b838cd41407c734af74e8211f5c7da0036"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 21 17:48:01 2013 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 07 14:55:32 2013 -0700"
      },
      "message": "Implement malloc_usable_size for debug impls.\n\n- Implemented chk_memalign.\n- Fixed a few bugs in leak_memalign.\n- Implemented {leak,fill,check,qemu}_malloc_usable_size.\n- Make malloc_usable_size update at run time.\n- Add malloc_test.cpp as a small set of tests for the\n  malloc debug routines.\n- Fix the qemu routines since it\u0027s been broken since it moved to C++.\n- Add support for the %u format to the out_vformat in libc_logging.cpp.\n  This is used by the emulator code.\n\nTested using the bionic-unit-tests with setprop libc.debug.malloc\nset to 1, 5, and 10.\n\nI tested as much as possible on the emulator, but tracing doesn\u0027t appear\nto be working properly.\n\nBug: 6143477\n\nMerge change from internal master.\n\n(cherry-picked from commit 3d594c258045783fc9e1956ce7a4d91e302f011e)\n\nChange-Id: I4ae00fffba82315a8c283f35893fd554460722fb\n"
    },
    {
      "commit": "8f2a5a0b40fc82126c691d5c30131d908772aab7",
      "tree": "0b29a5dc82395c076387edb5af9ca271a91264c0",
      "parents": [
        "e23ed8c6441389a79c6504295184f7249e01a197"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 15:30:25 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 16:12:58 2013 -0700"
      },
      "message": "Clean up internal libc logging.\n\nWe only need one logging API, and I prefer the one that does no\nallocation and is thus safe to use in any context.\n\nAlso use O_CLOEXEC when opening the /dev/log files.\n\nMove everything logging-related into one header file.\n\nChange-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58\n"
    },
    {
      "commit": "239e7a0756fddf3698bf72cab10d7f382421090b",
      "tree": "6ec3636787883bf1b20bd490cc011110b625d3fe",
      "parents": [
        "6a94cb748bf63278c3271b0ab610061b0dc6f04a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 25 17:13:45 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 25 17:13:45 2013 -0800"
      },
      "message": "More debug malloc fixes.\n\nInclude the leaky executable\u0027s name in the log output. Fix the \"sh\" test.\nUse uintptr_t instead of intptr_t.\n\nAlso fix debug formatting of NULL with %s.\n\nBug: 7291287\nChange-Id: I015bf341cd48d43a247173612e6ccb1bf1243d53\n"
    },
    {
      "commit": "1e980b6bc8315d00a07312b25486531247abd98c",
      "tree": "539f2c0c63fca27d5eb6ba184d658bb0e11a32d9",
      "parents": [
        "e4ca88d9fa8757e4fb4056fcafa5bc15b406a2fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 18:36:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 18 22:20:06 2013 -0800"
      },
      "message": "Fix the duplication in the debugging code.\n\nWe had two copies of the backtrace code, and two copies of the\nlibcorkscrew /proc/pid/maps code. This patch gets us down to one.\n\nWe also had hacks so we could log in the malloc debugging code.\nThis patch pulls the non-allocating \"printf\" code out of the\ndynamic linker so everyone can share.\n\nThis patch also makes the leak diagnostics easier to read, and\nmakes it possible to paste them directly into the \u0027stack\u0027 tool (by\nusing relative PCs).\n\nThis patch also fixes the stdio standard stream leak that was\ncausing a leak warning every time tf_daemon ran.\n\nBug: 7291287\nChange-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8\n"
    },
    {
      "commit": "3b297c40794b23d50cb5240f9b03f6ef25fd98db",
      "tree": "ebcb95b3cd9f249f08257e8654307f88c98e6dbb",
      "parents": [
        "417fd2334a694cf6a831b81cd672b4ca31ff2f54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 11 16:08:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 11 16:08:51 2012 -0700"
      },
      "message": "Fix dlerror(3).\n\nAdd unit tests for dlerror(3) in various situations. I think We\u0027re at least\nas good as glibc now.\n\nAlso factor out the ScopedPthreadMutexLock and use it here too.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d38398\nChange-Id: I040938b4366ab836e3df46d1d8055b92f4ea6ed8\n"
    },
    {
      "commit": "c4d1fecc105063e68a5090a6900b63d1b9a24287",
      "tree": "93dad687b245a981d3c47ede05b43345b86202fe",
      "parents": [
        "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 28 14:15:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 12:08:13 2012 -0700"
      },
      "message": "Clean up warnings in the malloc_debug_* files.\n\nAlso clean up cpplint.py-detected lint.\n\nChange-Id: Ia18e89c4c6878764f8d7ed34b8247e7a8d8fe88b\n"
    },
    {
      "commit": "e1dd3c287ba836281de0197670018bd9bbfbd62b",
      "tree": "a5138cb21c8de6be4ea4be61e44f95fb8bcb776e",
      "parents": [
        "7d2e24eb167b6257f7935c7bd2023a708704ca1a"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 29 14:22:42 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Jun 01 15:54:34 2012 -0700"
      },
      "message": "bionic: import heaptracker as chk_malloc\n\nThis patch is a rewrite of libc.debug.malloc \u003d 10 (chk_malloc).  It provides\nthe same features as the original (poison freed memory, detect heap overruns\nand underruns), except that it provides more debugging information whenever it\ndetects a problem.\n\nIn addition to the original features, the new chk_malloc() implementation\ndetects multiple frees within a given range of the last N allocations, N being\nconfigurable via the system property libc.debug.malloc.backlog.\n\nFinally, this patch keeps track of all outstanding memory allocations.  On\nprogram exit, we walk that list and report each outstanding allocation.\n\n(There is support (not enabled) for a scanner thread periodically walks over\nthe list of outstanding allocations as well as the backlog of recently-freed\nallocations, checking for heap-usage errors.)\n\nFeature overview:\n\n  1) memory leaks\n  2) multiple frees\n  3) use after free\n  4) overrun\n\nImplementation:\n\n-- for each allocation, there is a:\n  1) stack trace at the time the allocation is made\n  2) if the memory is freed, there is also a stack trace at the point\n  3) a front and rear guard (fence)\n  4) the stack traces are kept together with the allocation\n\n-- the following lists and maintained\n\n  1) all outstanding memory allocations\n  3) a backlog of allocations what are freed; when you call free(), instead of\n     actually freed, the allocation is moved to this backlog;\n  4) when the backlog of allocations gets full, the oldest entry gets evicted\n     from it; at that point, the allocation is checked for overruns or\n     use-after-free errors, and then actually freed.\n  5) when the program exits, the list of outstanding allocations and the\n     backlog are inspected for errors, then freed;\n\nTo use this, set the following system properties before running the process or\nprocesses you want to inspect:\n\nlibc.malloc.debug.backlog # defaults to 100\nlibc.malloc.debug 10\n\nWhen a problem is detected, you will see the following on logcat for a multiple\nfree:\n\nE/libc    ( 7233): +++ ALLOCATION 0x404b9278 SIZE 10 BYTES MULTIPLY FREED!\nE/libc    ( 7233): +++ ALLOCATION 0x404b9278 SIZE 10 ALLOCATED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c658  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d80  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 4009647c  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\nE/libc    ( 7233): +++ ALLOCATION 0x404b9278 SIZE 10 FIRST FREED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c7d2  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d94  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 40096490  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\nE/libc    ( 7233): +++ ALLOCATION 0x404b9278 SIZE 10 NOW BEING FREED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c6ac  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d94  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 400964a0  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\n\nThe following for a heap overrun and underrun:\n\nE/libc    ( 7233): +++ REAR GUARD MISMATCH [10, 11)\nE/libc    ( 7233): +++ ALLOCATION 0x404b9198 SIZE 10 HAS A CORRUPTED REAR GUARD\nE/libc    ( 7233): +++ ALLOCATION 0x404b9198 SIZE 10 ALLOCATED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c658  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d80  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 40096438  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\nE/libc    ( 7233): +++ ALLOCATION 0x404b9198 SIZE 10 FREED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c7d2  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d94  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 40096462  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\nE/libc    ( 7233): +++ ALLOCATION 0x404b9358 SIZE 10 HAS A CORRUPTED FRONT GUARD\nE/libc    ( 7233): +++ ALLOCATION 0x404b9358 SIZE 10 ALLOCATED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c658  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d80  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 400964ba  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\nE/libc    ( 7233): +++ ALLOCATION 0x404b9358 SIZE 10 FREED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c7d2  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d94  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 400964e4  /system/bin/malloctest\nE/libc    ( 7233):      #04  pc 00016f24  /system/lib/libc.so\n\nThe following for a memory leak:\n\nE/libc    ( 7233): +++ THERE ARE 1 LEAKED ALLOCATIONS\nE/libc    ( 7233): +++ DELETING 4096 BYTES OF LEAKED MEMORY AT 0x404b95e8 (1 REMAINING)\nE/libc    ( 7233): +++ ALLOCATION 0x404b95e8 SIZE 4096 ALLOCATED HERE:\nE/libc    ( 7233): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\nE/libc    ( 7233):      #00  pc 0000c35a  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #01  pc 0000c658  /system/lib/libc_malloc_debug_leak.so\nE/libc    ( 7233):      #02  pc 00016d80  /system/lib/libc.so\nE/libc    ( 7233):      #03  pc 0001bc94  /system/lib/libc.so\nE/libc    ( 7233):      #04  pc 0001edf6  /system/lib/libc.so\nE/libc    ( 7233):      #05  pc 0001b80a  /system/lib/libc.so\nE/libc    ( 7233):      #06  pc 0001c086  /system/lib/libc.so\nE/libc    ( 7233):      #07  pc 40096402  /system/bin/malloctest\nE/libc    ( 7233):      #08  pc 00016f24  /system/lib/libc.so\n\nChange-Id: Ic440e9d05a01e2ea86b25e8998714e88bc2d16e0\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "75fba6888a1e5738f8255f3511c4ad40cbcc0eda",
      "tree": "de49c9233770c63324539012655792937875a5c2",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Fri Feb 12 08:59:58 2010 -0800"
      },
      "committer": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Tue Feb 16 11:43:18 2010 -0800"
      },
      "message": "Merge memory checking functionality from sandbox\n\nChange-Id: I304c789a752c9f4af4944ca14b9bf1e7644da15a\n"
    },
    {
      "commit": "b74ceb25aae555570df64fa4d4076272733a9a20",
      "tree": "3bf49e716722b67f4b0f0bcb391156bf29fa6ad0",
      "parents": [
        "e8870ffc965d553a885f63b26e724da279728b72"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Tue Nov 17 14:13:38 2009 -0800"
      },
      "committer": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Wed Nov 18 10:36:25 2009 -0800"
      },
      "message": "Split libc_debug.so into two .so modules loaded on demand from libc.so\n\nThis change is intended to eliminate need to replace libc.so with libc_debug.so in order to enablememory allocation debugging.\nThis is also the first step towards implementing extended memoryallocation debugging using emulator\u0027s capabilities in monitoring memory access.\n"
    }
  ]
}
