)]}'
{
  "commit": "aef719510a57274e73ca02ab5ecdc5bf17d3985c",
  "tree": "a3161800a6a0082e59df412a6d4d712041383fc2",
  "parents": [
    "5f8ddf69e59b13653d016e236599b95daf6501a8"
  ],
  "author": {
    "name": "Simon Baldwin",
    "email": "simonb@google.com",
    "time": "Fri Jan 16 13:22:54 2015 +0000"
  },
  "committer": {
    "name": "Dmitriy Ivanov",
    "email": "dimitry@google.com",
    "time": "Mon Mar 16 17:50:50 2015 -0700"
  },
  "message": "Support loading shared libraries from zip files\n\nAdd code to support loading shared libraries directly from within\nAPK files.\n\nExtends the linker\u0027s handling of LD_LIBRARY_PATH, DT_RUNPATH, etc\nto allow elements to be either directories as normal, or ZIP\nformat files.  For ZIP, the ZIP subdirectory string is separated\nfrom the path to file by \u0027!\u0027.\n\nFor example, if DT_NEEDED is libchrome.so and Chrome.apk is the\nAndroid ARM APK then the path element\n\n  /system/app/Chrome.apk!lib/armeabi-v7a\n\nwould cause the linker to load lib/armeabi-v7a/libchrome.so\ndirectly from inside Chrome.apk.  For loading to succeed,\nlibchrome.so must be \u0027stored\u0027 and not compressed in Chrome.apk,\nand must be page aligned within the file.\n\nMotivation:\n  Chromium tracking issue:\n  https://code.google.com/p/chromium/issues/detail?id\u003d390618\n\nBug: 8076853\nChange-Id: Ic49046600b1417eae3ee8f37ee98c8ac1ecc19e7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f78a0257ca4c4226b6472e6440aba534c9c05989",
      "old_mode": 33188,
      "old_path": "linker/Android.mk",
      "new_id": "81c007f3ebebe1b9331a944cfed69ddcc214059a",
      "new_mode": 33188,
      "new_path": "linker/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "18f8cdcb494722ccd21d6162cfb571c3fa16f04f",
      "old_mode": 33188,
      "old_path": "linker/linker.cpp",
      "new_id": "15ea423f9cdc96a53de288f45c61f330cff02abc",
      "new_mode": 33188,
      "new_path": "linker/linker.cpp"
    },
    {
      "type": "modify",
      "old_id": "dfb5e54ab202349b10a0905f3e97d820001051a1",
      "old_mode": 33188,
      "old_path": "tests/dlfcn_test.cpp",
      "new_id": "ef4ff20f080667dbac9977ebd6f0855ecfc4a615",
      "new_mode": 33188,
      "new_path": "tests/dlfcn_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "d05927ec2699ef676a5b37400d52f3720fdd16ef",
      "old_mode": 33188,
      "old_path": "tests/libs/Android.build.dlext_testzip.mk",
      "new_id": "7cc0dae908c7df6f1acb476b3530a0608e7ec353",
      "new_mode": 33188,
      "new_path": "tests/libs/Android.build.dlext_testzip.mk"
    }
  ]
}
