)]}'
{
  "log": [
    {
      "commit": "905e6d58aaf515bf237e62078f8a321920fe4c6b",
      "tree": "07ee9fad11490db7e30bc27e359d5d1adf950cef",
      "parents": [
        "123172ae370fe51e2d1fc26fe0aafa095af52919"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 11:55:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 12:03:51 2014 -0700"
      },
      "message": "Start hiding \"private/bionic_time.h\".\n\nBug: 15765976\nChange-Id: Ibd9cf07067ec8dffe9fda6c3d498d4ab90708220\n"
    },
    {
      "commit": "f79ee064b64af54bce6d3931f4112761edb7d3a9",
      "tree": "f2eff2f1e37a6d7adc550679453008d28aff333d",
      "parents": [
        "715242fd0f69e73a6aca19e32b8979fa0f384788"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 01 22:41:50 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 01 22:41:50 2014 +0000"
      },
      "message": "Revert \"Revert \"Hide _tolower_tab_ and _toupper_tab_ on LP64.\"\"\n\nThis reverts commit 715242fd0f69e73a6aca19e32b8979fa0f384788.\n\nChange-Id: Ia9892fa3b03287129aa72a49974cef9fd94ae735\n"
    },
    {
      "commit": "715242fd0f69e73a6aca19e32b8979fa0f384788",
      "tree": "9f2a9c023d1e981cedc9811e25035f82783c092c",
      "parents": [
        "dd4ad5c463c9bd479e8acf81227708717aafe204"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 19 03:57:05 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 19 03:57:05 2014 +0000"
      },
      "message": "Revert \"Hide _tolower_tab_ and _toupper_tab_ on LP64.\"\n\nThis reverts commit dd4ad5c463c9bd479e8acf81227708717aafe204.\n\nChange-Id: If3c9771825e460ce68604082f4feb0ca783e56c6\n"
    },
    {
      "commit": "dd4ad5c463c9bd479e8acf81227708717aafe204",
      "tree": "f2eff2f1e37a6d7adc550679453008d28aff333d",
      "parents": [
        "ef82c28db63c6f333edb7e9d7e7ad1baa656343c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 18 11:44:00 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 18 13:11:07 2014 -0700"
      },
      "message": "Hide _tolower_tab_ and _toupper_tab_ on LP64.\n\nWe can\u0027t hide them on LP32 because they appeared in NDK headers.\n\nBug: 11156955\nChange-Id: I22bf5a0f4d330c04b49565bc598cd0568128d4fc\n"
    },
    {
      "commit": "cce36c187896fb0d4bd36519c4b2e90c502137dc",
      "tree": "491e29d325600481b16a5712b88839f460c9ef14",
      "parents": [
        "c5eea6d386c23bde6f0400a8959ed21081d8365b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 22 12:32:49 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 22 12:32:49 2014 -0700"
      },
      "message": "Use -fvisibility\u003dhidden to build libc_gdtoa.\n\nBug: 12177745\nChange-Id: Ia4ac71e1a3a237e764c809cc591622f8952ed642\n"
    },
    {
      "commit": "c13fb75ceabb47f8292be206db80b93889fccf66",
      "tree": "6aca1af2e53339d0c6f04abf3fa9fa696d9268c9",
      "parents": [
        "f293b15728031432317791fb4a17a423545d37b3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 17 20:43:30 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 17 20:43:30 2013 -0800"
      },
      "message": "Move bionic over to GCC\u0027s \u0027warning\u0027 attribute.\n\nThis is a better solution than the old __warn_references because it\u0027s\na compile-time rather than link-time warning, it doesn\u0027t rely on something\nthat doesn\u0027t appear to be supported by gold (which is why you only used\nto see these warnings on mips builds), and the errors refer to the exact\ncall site(s) rather than just telling you which object file contains a\nreference to the bad function.\n\nThis is primarily so we can build bionic for aarch64; building libc.so\ncaused these warnings to fire (because link time is the wrong time) and\nwarnings are errors.\n\nChange-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3\n"
    },
    {
      "commit": "5fbf2e09921723cfdea75e83c1fac2080f0ad564",
      "tree": "e14922f0147869514be03fc3154c4576c68ef154",
      "parents": [
        "5b892aa7e581c0b247262a95d70db20991121afe"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Mon Jan 23 15:15:30 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Tue Jan 31 22:19:09 2012 +0100"
      },
      "message": "libc: Define new symbol visibility macros\n\nThis patch defines a few new macros that can be used to control the\nvisibility of symbols exported by the C library:\n\n- ENTRY_PRIVATE() can be used in assembly sources to indicate\n  that an assembler function should have \"hidden\" visibility, i.e.\n  will never be exported by the C library\u0027s shared library.\n\n  This is the equivalent of using __LIBC_HIDDEN__ for a C function,\n  but ENTRY_PRIVATE() works like ENTRY(), and must be used with\n  END() to tag the end of the function.\n\n- __LIBC_ABI_PUBLIC__ can be used to tag a C functions as being\n  part of the C library\u0027s public ABI. This is important for a\n  few functions that must be exposed by the NDK to maintain\n  binary compatibility.\n\n  Once a symbol has been tagged with this macro, it shall\n  *never* be removed from the library, even if it becomes\n  directly unused due to implementation changes\n  (e.g. __is_threaded).\n\n- __LIBC_ABI_PRIVATE__ can be used for C functions that should\n  always be exported by the C library because they are used by\n  other libraries in the platform, but should not be exposed\n  by the NDK. It is possible to remove such symbols from the\n  implementation if all callers are also modified.\n\n+ Add missing END() assembly macro for x86\n\nChange-Id: Ia96236ea0dbec41d57bea634b39d246b30e5e234\n"
    },
    {
      "commit": "9d16a79b18f43faebbe8155dbc14896e9b7d8a2e",
      "tree": "a97ee2e5c5358a4945322a0dbc594168f80b9bcb",
      "parents": [
        "312be567a03aaf851707a268807ee666b12f8c74"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Sep 27 19:23:06 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Sep 27 22:20:59 2010 +0800"
      },
      "message": "Hide the symbol of helper function __libc_android_abort\n\nIdeally __libc_android_abort would be static, but it could not be\nbecause gcc would not allow calling a static function from an asm\nstatement.  Instead, using GCC visibility is work around.\n\nChange-Id: Ifff6b9957ca3f0fc03c75c3e42582a48d43cefa2\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
