)]}'
{
  "log": [
    {
      "commit": "4aa2e6a32a1ab90dc5baa626f6efc0feb9082716",
      "tree": "c5b8bc72c189ea2f6548c7379cde40005b68519e",
      "parents": [
        "837abf04667c29db178fd28f500537429a18be30"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 07 12:37:44 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 07 12:57:51 2014 -0700"
      },
      "message": "Give bionic\u0027s __ANDROID_API__ a more reasonable value.\n\nThis matches what frameworks/base does with Build.VERSION and means that\nbionic\u0027s version number will always sort \u003e\u003d than any released version.\nThis should prevent confusion in code that builds both against bionic\nand the NDK.\n\n(Note that \u003csys/cdefs.h\u003e drags this in, so it\u0027s always in the namespace.)\n\nBug: 14613709\nChange-Id: I91fb745920e848a6b20f2f5797c0a7d6cde6c032\n"
    },
    {
      "commit": "183ad9df536ab04ef35a397a1f4724e4e401d11f",
      "tree": "65c76a120390c1350ff1d38b725b54cabd91c06b",
      "parents": [
        "12bbb9164578b6512b8b07a3fb093858244b7c7b"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Thu Feb 27 13:18:00 2014 +0000"
      },
      "committer": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Thu Apr 17 14:30:46 2014 +0100"
      },
      "message": "Allow sharing the RELRO section via a file.\n\nAdd flags and a file descriptor to android_dlopen_ext() to allow writing\nthe RELRO section of the loaded library to a file after relocation\nprocessing, and to allow mapping identical pages from the file over the\ntop of relocated memory in another process. Explicitly comparing the\npages is required in case a page contains a reference to a symbol\ndefined in another library loaded at a random base address.\n\nBug: 13005501\nChange-Id: Ibb5b2d384edfaa5acf3e97a5f8b6115c10497a1e\n"
    },
    {
      "commit": "12bbb9164578b6512b8b07a3fb093858244b7c7b",
      "tree": "2a32dc3fe2902444aed43647f0ab1d2612507296",
      "parents": [
        "012cb4583a5f8564059142bb1900ea3a31e7cfa9"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Thu Feb 06 14:34:21 2014 +0000"
      },
      "committer": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Thu Apr 17 14:22:17 2014 +0100"
      },
      "message": "Support loading libraries to a reserved address.\n\nAdd flags and parameters to android_dlopen_ext() to allow loading a\nlibrary at an already-reserved fixed address. If the library to be\nloaded will not fit within the space reserved, then the linker will\neither fail, or allocate its own address space as usual, according to\nwhich flag has been specified. This behaviour only applies to the\nspecific library requested; any other libraries loaded as dependencies\nwill be loaded in the normal fashion.\n\nThere is a new gtest included to cover the functionality added.\n\nBug: 13005501\nChange-Id: I5d1810375b20fc51ba6a9b3191a25f9792c687f1\n"
    },
    {
      "commit": "012cb4583a5f8564059142bb1900ea3a31e7cfa9",
      "tree": "60d2a27a83766f6ad6d20b124feb0bc48a332593",
      "parents": [
        "26c2bb84dd5cbd9ab43a5f0ebc2635bc3b64be3d"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Thu Feb 06 14:34:21 2014 +0000"
      },
      "committer": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Thu Apr 17 13:50:55 2014 +0100"
      },
      "message": "Add android_dlopen_ext() interface to linker.\n\nAdd a function \"android_dlopen_ext()\", defined in \u003candroid/dlext.h\u003e.\nThis is an extended version of dlopen() which takes a struct for passing\nadditional parameters for Android-specific functionality. This will be\nused to support RELRO section sharing between separate processes.\n\nBug: 13005501\nChange-Id: I9c99b2f2a02ee329dedaeba09ef3a1113b17b2d6\n"
    },
    {
      "commit": "23d24394e72715ddf580726655c8ba3fbcf11bfe",
      "tree": "66d28b315a0891c1ea5e99e870ca03e511d3186c",
      "parents": [
        "9962cef7c6ba20bcb4d4f5e6a4c923aa335d9107"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 06 12:05:11 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 06 12:05:11 2010 +0100"
      },
      "message": "libc: Add \u003candroid/api-level.h\u003e\n\nAdd a new header that defines __ANDROID_API__ as a constant integer\ncorresponding to the current native API level. This header is included\nby \u003csys/cdefs.h\u003e\n\nChange-Id: Ib4774e247b395991266245815a24292afc919848\nNOTE: This header is already provided by the NDK\u0027s platform headers.\n      for levels 3 to 9.\n"
    }
  ]
}
