)]}'
{
  "log": [
    {
      "commit": "f8846a45878faa9eb51fab3a2b347e9a36ecd250",
      "tree": "f9c3dcb48c8d435fa5c50ddbfeba28c84251c369",
      "parents": [
        "006e0770ffaa57d88f407fad8d9b78ea0efa9c6a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 08 21:21:34 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 08 21:21:34 2014 -0700"
      },
      "message": "Add test for constructor function.\n\nChange-Id: I0ad26d617f00cdd6c2241d613be39a1d16918612\n"
    },
    {
      "commit": "ce0ba3c70634d5fe64b9a298d8a305d85bd1e6ac",
      "tree": "9b18b339106f894734697168f82901ad0ada90b7",
      "parents": [
        "4d299a2cf7880789e658f427196d1ca9fe02a9bc"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 01 19:09:49 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 01 19:13:01 2014 -0700"
      },
      "message": "Disable local/protected symbol test for lp64\n\n  * Static linker optimizes protected local symbol\n    out of existence, which leads to test failure.\n    Disabling it for now.\n\nChange-Id: I8de327e5073f98b64639f7a0bba3a273aa419884\n"
    },
    {
      "commit": "d06ee1d6db6165126161044fb662301bf9f04b3a",
      "tree": "bc8cd27a4b4b817033abbe32aa8ca59aa7bf49e9",
      "parents": [
        "105ef36c67baeebd2fd9c24b6140953afba4f160"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 17:17:46 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 17:17:46 2014 -0700"
      },
      "message": "Build all bionic test files -Werror and fix our one warning.\n\nChange-Id: I62bb0528fd1bcb9aa4c61e44c78158a592690fc7\n"
    },
    {
      "commit": "d97e9f546ea195686a78e539315b273393609b9e",
      "tree": "07ee416c8dc3795436726a3f820b44c939191c5d",
      "parents": [
        "4ec3bc83c632132bda915d00b5bc716dc6ab8dd8"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sun Jun 29 12:28:37 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 01 10:25:54 2014 -0700"
      },
      "message": "Add support for protected local symbol lookup.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d66048\nChange-Id: Ib334223df27adad9477fb241ab099c5e26df4a7d\n"
    },
    {
      "commit": "ce44166c737b6737c3a0820bef10b074a5e36cf8",
      "tree": "a4d48a5f20e3eddd69205504086e980ed6c675c5",
      "parents": [
        "1d2b4c022c419e1e85336fa44e644772eefb8b64"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jun 17 15:56:38 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jun 17 16:18:18 2014 -0700"
      },
      "message": "Fix weak function lookups\n\n * Linker now correctly resolves function defined\n   with __attribute__((weak)).\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d70206\nChange-Id: I82efb905676c25fefb1b11a13f5fecb0f1384657\n"
    },
    {
      "commit": "44adf93b8eddb3a7965a3e9abc189408a1f5a7ea",
      "tree": "93b2439f1276a00d2133cb7bfd56ec6c4bdf61c3",
      "parents": [
        "eea59ea21e04806fff48fdf4ad5ba117dcb0babb"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 22 09:49:24 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 22 10:06:32 2014 -0700"
      },
      "message": "Fix dlsym_failure NULL handle test\n\n * RTLD_DEFAULT !\u003d (void*)0 only for bionic32\n\nChange-Id: I3b3758835cf4085b0f899e2b62861591411aec13\n"
    },
    {
      "commit": "ca1c80220e9b16fde7a761ca1c2c63dbe8071e0f",
      "tree": "b0b2db09c7224718ce62921c058fb8b204b04a2c",
      "parents": [
        "3d4a7b02cc7948c94932c4d71c68f864457d59d6"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 21 22:42:24 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 21 22:42:24 2014 -0700"
      },
      "message": "Removed dlsym handle !\u003d NULL check for lp64\n\n * Removed unnecessary NULL check in dlsym\n * Fixed dlsym_failure test to account for\n   correct RTLD_DEFAULT value\n * Added temporary check for legacy RTLD_DEFAULT\n   value for non-yet-recompiled binaries\n\nBug: 15146875\nChange-Id: I089fa673762629f5724b6e4fbca019d9cfc39905\n"
    },
    {
      "commit": "b648a8a57ee42533a5bf127225a252f73ca2cbbc",
      "tree": "09fdf06c6e8d5e6985107f4e8fdb2055c5bb6a6f",
      "parents": [
        "0b9a72ce1124f17d514b93c0d26dea76ce8069f0"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon May 19 15:06:58 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue May 20 12:02:24 2014 -0700"
      },
      "message": "Add RTLD_NOLOAD support and some related changes.\n\n * Aligned RTLD_ values with glibc for lp64\n * dlopen supports RTLD_NOLOAD flag\n * soinfo_unload calls find_library(.., RTLD_NOLOAD)\n   instead of naive find_loaded_library_by_name()\n * dlopen changed to add child to caller soinfo instead\n   of somain.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d64069\nChange-Id: I1a65f2c34f3e0edc6d2c41a2e408b58195feb640\n"
    },
    {
      "commit": "1728b2396591853345507a063ed6075dfd251706",
      "tree": "7083cd234073afa5179b94b3d978550c890af90c",
      "parents": [
        "bac795586bbc5dcbe886d8d781710f60c4c19d9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:02:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:02:03 2014 -0700"
      },
      "message": "Switch to g_ for globals.\n\nThat\u0027s what the Google style guide recommends, and we\u0027re starting\nto get a mix.\n\nChange-Id: Ib0c53a890bb5deed5c679e887541a715faea91fc\n"
    },
    {
      "commit": "063525c61d24776094d76971f33920e2a2079530",
      "tree": "de279e25b05c43dbb06bc3ceb49f23bed3874377",
      "parents": [
        "a26dd781fe675cf94c62183da27622eb83ff6fa7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 11:19:57 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 11:19:57 2014 -0700"
      },
      "message": "Consistently use #if defined(__BIONIC__) in tests.\n\nI\u0027ve also switched some tests to be positive rather than negative,\nbecause !defined is slightly harder to reason about and there are\nonly two cases: bionic and glibc.\n\nChange-Id: I8d3ac40420ca5aead3e88c69cf293f267273c8ef\n"
    },
    {
      "commit": "7db180919c335287b201e859faa8ee0dbe281cde",
      "tree": "c01880b72bdcd67dfeae29644b782a525d4aa423",
      "parents": [
        "b69645248887ddb88517b07c1617d390fdce9c9f"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 08 12:27:25 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 08 14:28:34 2014 -0700"
      },
      "message": "Test dlopen with symlinked .so files\n\nBug: 9741592\nChange-Id: I68c59d6f4e690136395c3dc3de13f99ce38de528\n"
    },
    {
      "commit": "2ed710976cb0ace31aab565c95a42d4e75623894",
      "tree": "d9d2356abcd86cf2249fd318f8bd48fb5fbf002f",
      "parents": [
        "6768c1ee510a8e93175b54e93cb583f009766eed"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 11 15:48:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 11 15:48:06 2013 -0800"
      },
      "message": "Add extra regression tests for an already-fixed dynamic linker bug.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d61799\nChange-Id: I84af68f8430a06e999297c2e57e06ecb45adf81e\n"
    },
    {
      "commit": "ebd506c69e12b6dcaf5be94cc8ed1b53af299f9f",
      "tree": "79913ebffdfcc7a4b20d78a477b9d69340d477f9",
      "parents": [
        "cc9b7456b66b7c7c218a9d1f00d7aef1f5ecf409"
      ],
      "author": {
        "name": "Sergey Melnikov",
        "email": "sergey.melnikov@intel.com",
        "time": "Thu Oct 31 18:02:12 2013 +0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 31 15:06:20 2013 -0700"
      },
      "message": "Fix linker crashes during unknown symbol lookup\n\nIntegration of kernel VDSO into internal bionic data structures using\ncommon functions.\nFix for dl_iterate_phdr function: the function provides incorrect\naddress of object in case of nonzero virtual and base addresses.\nLocation in address space of a particular program header should be\ncalculated using the formula:  addr \u003d base_addr + virtual_addr.\n\nSigned-off-by: Sergey Melnikov \u003csergey.melnikov@intel.com\u003e\nChange-Id: Ie2ab4257fd456242aab8afed0bd5bd6b29e81d6d\n"
    },
    {
      "commit": "a43e906221a3e9c70a66118a8692cd46f77e144e",
      "tree": "1fd6b3a2cdd50c15291c991644dd295371712c35",
      "parents": [
        "7e22db037e6d9ab117bf5d50c7aca85fe74941a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 14:18:22 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 14:44:36 2013 -0800"
      },
      "message": "Don\u0027t test GNU-style ELF hashes on MIPS.\n\nThe MIPS toolchain can\u0027t generate them because they\u0027re incompatible\nwith the MIPS ABI (which requires .dynsym match the GOT, while GNU-style\nrequires .dynsym to be sorted by hash code), so there\u0027s nothing to test.\n\nChange-Id: I2220f452fe6fe595ec1312544cc741dd390a36a5\n"
    },
    {
      "commit": "e66190d2a97a713ae4b4786e60ca3d67ab8aa192",
      "tree": "0bacac6bbb8916d803e2b6f2c991030790e0f718",
      "parents": [
        "4c4b08a32eace878e4780ee340a57c43be950159"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 18 15:57:55 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 18 15:57:55 2012 -0800"
      },
      "message": "Check for unknown flags passed to dlopen(3).\n\nChange-Id: I56f4aab0e5a1487bc32d2c4d231e8bd15c4ac8da\n"
    },
    {
      "commit": "4c4b08a32eace878e4780ee340a57c43be950159",
      "tree": "aa349c2c944131991af7fcbcd91b1ab54c9c6b4e",
      "parents": [],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 17:18:58 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 11 17:18:58 2012 -0800"
      },
      "message": "Merge \"Fix \u003cendian.h\u003e and \u003csys/endian.h\u003e.\""
    }
  ]
}
