)]}'
{
  "log": [
    {
      "commit": "6ffc625a7a876a00977defd6c19c8f33e1b64746",
      "tree": "f9f2da89f594318d52caee6c775e87ac7f8f1c6c",
      "parents": [
        "72540134bdbb8c9d93aab08a564b3fa10521fd96",
        "d704c4d7112919f26243a2a24858332bf1fb2f5c"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Oct 14 16:18:00 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 16:18:00 2009 -0700"
      },
      "message": "am d704c4d7: am 9a96aaa8: libc: kernel: Update linux/msm_kgsl.h to latest\n\nMerge commit \u0027d704c4d7112919f26243a2a24858332bf1fb2f5c\u0027\n\n* commit \u0027d704c4d7112919f26243a2a24858332bf1fb2f5c\u0027:\n"
    },
    {
      "commit": "72540134bdbb8c9d93aab08a564b3fa10521fd96",
      "tree": "f9f2da89f594318d52caee6c775e87ac7f8f1c6c",
      "parents": [
        "b9c37d7186ddb5f56a854c03aa661eaf60fd8880",
        "ab9a0025d58dde406b25d30388ecb5c9fa268e1f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 14 16:17:57 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 16:17:57 2009 -0700"
      },
      "message": "am ab9a0025: am e3650267: fix [2170898] abort() doesn\\\u0027t print a stack tarce\n\nMerge commit \u0027ab9a0025d58dde406b25d30388ecb5c9fa268e1f\u0027\n\n* commit \u0027ab9a0025d58dde406b25d30388ecb5c9fa268e1f\u0027:\n"
    },
    {
      "commit": "b9c37d7186ddb5f56a854c03aa661eaf60fd8880",
      "tree": "f9f2da89f594318d52caee6c775e87ac7f8f1c6c",
      "parents": [
        "1902b5315295dcf0bf616a193cb235ef51cb4757",
        "1f2a381e844abfb364af7cfc48d8a2cb1e194637"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Oct 14 16:17:54 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 16:17:54 2009 -0700"
      },
      "message": "am 1f2a381e: am fdc5c1f5: Re-enable ARMv7 memcpy implementation.\n\nMerge commit \u00271f2a381e844abfb364af7cfc48d8a2cb1e194637\u0027\n\n* commit \u00271f2a381e844abfb364af7cfc48d8a2cb1e194637\u0027:\n"
    },
    {
      "commit": "1902b5315295dcf0bf616a193cb235ef51cb4757",
      "tree": "f9f2da89f594318d52caee6c775e87ac7f8f1c6c",
      "parents": [
        "a8f96cf3f957ddb26896768977727b5b29de0a88",
        "5be45ce0cf81a3904c697a77fa3e73bf85aead8b"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Oct 14 16:17:50 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 16:17:50 2009 -0700"
      },
      "message": "am 5be45ce0: am 1e40783d: Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n\nMerge commit \u00275be45ce0cf81a3904c697a77fa3e73bf85aead8b\u0027\n\n* commit \u00275be45ce0cf81a3904c697a77fa3e73bf85aead8b\u0027:\n"
    },
    {
      "commit": "a8f96cf3f957ddb26896768977727b5b29de0a88",
      "tree": "f9f2da89f594318d52caee6c775e87ac7f8f1c6c",
      "parents": [
        "7fbe3c8b78ef6403b99635c1dabb18c3837c9a11",
        "5c32826841460294cfba98ff713b4804512bacd1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Oct 14 07:56:26 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 07:56:26 2009 -0700"
      },
      "message": "am 5c328268: libc: kernel: add linux/msm_q6venc.h kernel include for qsd8k h/w video encode\n\nMerge commit \u00275c32826841460294cfba98ff713b4804512bacd1\u0027\n\n* commit \u00275c32826841460294cfba98ff713b4804512bacd1\u0027:\n  libc: kernel: add linux/msm_q6venc.h kernel include for qsd8k h/w video encode\n"
    },
    {
      "commit": "7fbe3c8b78ef6403b99635c1dabb18c3837c9a11",
      "tree": "62cd06ea29cf1b173956f7fff078e7facece581f",
      "parents": [
        "f3b3c91e7d881362f705ac7ec6320a046e3f55f1",
        "0e24d2c944e2eacd2f9ccefbfbda904fab7cf273"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Oct 14 07:56:22 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 07:56:22 2009 -0700"
      },
      "message": "am 0e24d2c9: update msm_camera.h\n\nMerge commit \u00270e24d2c944e2eacd2f9ccefbfbda904fab7cf273\u0027\n\n* commit \u00270e24d2c944e2eacd2f9ccefbfbda904fab7cf273\u0027:\n  update msm_camera.h\n"
    },
    {
      "commit": "5c32826841460294cfba98ff713b4804512bacd1",
      "tree": "b24a35f3a3d2592925ae67ea775fe854eecb8b46",
      "parents": [
        "0e24d2c944e2eacd2f9ccefbfbda904fab7cf273"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Oct 13 20:57:16 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Oct 13 20:57:16 2009 -0700"
      },
      "message": "libc: kernel: add linux/msm_q6venc.h kernel include for qsd8k h/w video encode\n\nChange-Id: I58c6eb0d417d5a30fa245f693304a147631fd07f\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "0e24d2c944e2eacd2f9ccefbfbda904fab7cf273",
      "tree": "cec55cc8496c89039f812f7bad7dad9b5fda9797",
      "parents": [
        "9a96aaa8efcde245ac4ba23228b8a8d61e008d91"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Oct 13 20:28:29 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Oct 13 20:28:29 2009 -0700"
      },
      "message": "update msm_camera.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "f3b3c91e7d881362f705ac7ec6320a046e3f55f1",
      "tree": "300f1b4e4c2e8465e192c949133e854695e34301",
      "parents": [
        "0d19cef4c1884919e56976d9ab63feb1355df753",
        "9a96aaa8efcde245ac4ba23228b8a8d61e008d91"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Oct 13 11:51:39 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 11:51:39 2009 -0700"
      },
      "message": "am 9a96aaa8: libc: kernel: Update linux/msm_kgsl.h to latest\n\nMerge commit \u00279a96aaa8efcde245ac4ba23228b8a8d61e008d91\u0027\n\n* commit \u00279a96aaa8efcde245ac4ba23228b8a8d61e008d91\u0027:\n  libc: kernel: Update linux/msm_kgsl.h to latest\n"
    },
    {
      "commit": "0d19cef4c1884919e56976d9ab63feb1355df753",
      "tree": "27ff233ab7f56f51703541e829d7bc7094c3e3da",
      "parents": [
        "51192d546d7fc7bbf0a57e706626ae5d62034cf2",
        "e36502673d98df089acbc645f077ee0c2be20c5d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 12 11:48:19 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:48:19 2009 -0700"
      },
      "message": "am e3650267: fix [2170898] abort() doesn\\\u0027t print a stack tarce\n\nMerge commit \u0027e36502673d98df089acbc645f077ee0c2be20c5d\u0027\n\n* commit \u0027e36502673d98df089acbc645f077ee0c2be20c5d\u0027:\n  fix [2170898] abort() doesn\u0027t print a stack tarce\n"
    },
    {
      "commit": "51192d546d7fc7bbf0a57e706626ae5d62034cf2",
      "tree": "f29e31bbe3fdb1b980862c1a651f42e6f586dc24",
      "parents": [
        "f406a20519ca3b5668d8dde231073b0a9bd8505a",
        "fdc5c1f56f9d21034badb8e4b092c47098f19613"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 12 11:32:51 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:32:51 2009 -0700"
      },
      "message": "am fdc5c1f5: Re-enable ARMv7 memcpy implementation.\n\nMerge commit \u0027fdc5c1f56f9d21034badb8e4b092c47098f19613\u0027\n\n* commit \u0027fdc5c1f56f9d21034badb8e4b092c47098f19613\u0027:\n  Re-enable ARMv7 memcpy implementation.\n"
    },
    {
      "commit": "f406a20519ca3b5668d8dde231073b0a9bd8505a",
      "tree": "f3ed21cc68440caa535a615ca61d71b6d8d9268e",
      "parents": [
        "cf399f77b83b03cd83da784aa27ef1df71cca78d",
        "1e40783d9ad29c88a4d547774e05080fc4327a2e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 12 11:24:01 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 12 11:24:01 2009 -0700"
      },
      "message": "am 1e40783d: Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n\nMerge commit \u00271e40783d9ad29c88a4d547774e05080fc4327a2e\u0027\n\n* commit \u00271e40783d9ad29c88a4d547774e05080fc4327a2e\u0027:\n  Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n"
    },
    {
      "commit": "d704c4d7112919f26243a2a24858332bf1fb2f5c",
      "tree": "d9f7cd482596f5b05d040e97ce9ae15cdea2c621",
      "parents": [
        "ab9a0025d58dde406b25d30388ecb5c9fa268e1f",
        "9a96aaa8efcde245ac4ba23228b8a8d61e008d91"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Oct 07 21:43:42 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 07 21:43:42 2009 -0700"
      },
      "message": "am 9a96aaa8: libc: kernel: Update linux/msm_kgsl.h to latest\n\nMerge commit \u00279a96aaa8efcde245ac4ba23228b8a8d61e008d91\u0027 into eclair-plus-aosp\n\n* commit \u00279a96aaa8efcde245ac4ba23228b8a8d61e008d91\u0027:\n  libc: kernel: Update linux/msm_kgsl.h to latest\n"
    },
    {
      "commit": "9a96aaa8efcde245ac4ba23228b8a8d61e008d91",
      "tree": "649fb3642705f46874663a0ca0d584aeae3184bd",
      "parents": [
        "e36502673d98df089acbc645f077ee0c2be20c5d"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sat Oct 03 16:38:49 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Oct 07 20:19:16 2009 -0700"
      },
      "message": "libc: kernel: Update linux/msm_kgsl.h to latest\n\nChange-Id: I530cea1110fc6e6ccf150e6b176e708030ce8a94\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "ab9a0025d58dde406b25d30388ecb5c9fa268e1f",
      "tree": "253d34663eb4b4adcc9e3aa9d334251ddd27d32f",
      "parents": [
        "1f2a381e844abfb364af7cfc48d8a2cb1e194637",
        "e36502673d98df089acbc645f077ee0c2be20c5d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 07 11:58:25 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 07 11:58:25 2009 -0700"
      },
      "message": "am e3650267: fix [2170898] abort() doesn\\\u0027t print a stack tarce\n\nMerge commit \u0027e36502673d98df089acbc645f077ee0c2be20c5d\u0027 into eclair-plus-aosp\n\n* commit \u0027e36502673d98df089acbc645f077ee0c2be20c5d\u0027:\n  fix [2170898] abort() doesn\u0027t print a stack tarce\n"
    },
    {
      "commit": "1f2a381e844abfb364af7cfc48d8a2cb1e194637",
      "tree": "dc4ff7668a6e055688c82b13e8bbc39a9a21f9f4",
      "parents": [
        "5be45ce0cf81a3904c697a77fa3e73bf85aead8b",
        "fdc5c1f56f9d21034badb8e4b092c47098f19613"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Oct 07 11:48:11 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 07 11:48:11 2009 -0700"
      },
      "message": "am fdc5c1f5: Re-enable ARMv7 memcpy implementation.\n\nMerge commit \u0027fdc5c1f56f9d21034badb8e4b092c47098f19613\u0027 into eclair-plus-aosp\n\n* commit \u0027fdc5c1f56f9d21034badb8e4b092c47098f19613\u0027:\n  Re-enable ARMv7 memcpy implementation.\n"
    },
    {
      "commit": "5be45ce0cf81a3904c697a77fa3e73bf85aead8b",
      "tree": "0d88deb6de28ed99750991a765d763c86654e821",
      "parents": [
        "44e55ba8ebd059206bedefba18708af4774db671",
        "1e40783d9ad29c88a4d547774e05080fc4327a2e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Oct 07 11:42:33 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 07 11:42:33 2009 -0700"
      },
      "message": "am 1e40783d: Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n\nMerge commit \u00271e40783d9ad29c88a4d547774e05080fc4327a2e\u0027 into eclair-plus-aosp\n\n* commit \u00271e40783d9ad29c88a4d547774e05080fc4327a2e\u0027:\n  Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n"
    },
    {
      "commit": "e36502673d98df089acbc645f077ee0c2be20c5d",
      "tree": "14c5fa566500510d0b37fd1cb6da35c6153ad4d7",
      "parents": [
        "fdc5c1f56f9d21034badb8e4b092c47098f19613"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 06 15:35:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 06 16:02:12 2009 -0700"
      },
      "message": "fix [2170898] abort() doesn\u0027t print a stack tarce\n\nthe issue here is that abort() can be called from anywhere, in particular\nfrom malloc or free. When we try to use the debug_log functions, these\ncan end up calling into some code (like malloc/free) that called abort()\nin the first place and end up in an infinite recursion loop.\n"
    },
    {
      "commit": "fdc5c1f56f9d21034badb8e4b092c47098f19613",
      "tree": "e46fc6ca820662d33e1dd48ff8fd65a84eac7e83",
      "parents": [
        "1e40783d9ad29c88a4d547774e05080fc4327a2e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 05 14:11:55 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 05 14:25:10 2009 -0700"
      },
      "message": "Re-enable ARMv7 memcpy implementation.\n\nDo not submit this patch before the one that modifies the Android emulator to\nwork-around a weird ARMv7 emulation issue. This is done to temporarily re-allow\nthe -user builds needed for QA.\n"
    },
    {
      "commit": "cf399f77b83b03cd83da784aa27ef1df71cca78d",
      "tree": "f29e31bbe3fdb1b980862c1a651f42e6f586dc24",
      "parents": [
        "44e55ba8ebd059206bedefba18708af4774db671"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 05 13:19:05 2009 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 05 13:19:05 2009 -0700"
      },
      "message": "Add a GNU-compatible TEMP_FAILURE_RETRY.\n\nI wondered about #ifndef, but the other macros in here don\u0027t use it.\n\nI also wondered about __GNUC__, since this macro uses two GCC extensions.\n"
    },
    {
      "commit": "1e40783d9ad29c88a4d547774e05080fc4327a2e",
      "tree": "d73c841ff9743e0f78ecd410794998eba693d9db",
      "parents": [
        "fe46030cdd97f9cf810630541df367dd2b85cae9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Oct 02 19:13:27 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Oct 02 19:13:27 2009 -0700"
      },
      "message": "Fix armv7-user builds by disabling the ARMv7-optimized memcpy.\n\nThis is required to work-around some corny bugs in ARMv7 emulation.\n\nThe emulation itself is required to run the dex pre-optimization pass\nfor -user builds.\n"
    },
    {
      "commit": "44e55ba8ebd059206bedefba18708af4774db671",
      "tree": "dc4ff7668a6e055688c82b13e8bbc39a9a21f9f4",
      "parents": [
        "0893d4918742db3b4bd8ef82c4f3008b60de9e2a",
        "fe46030cdd97f9cf810630541df367dd2b85cae9"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Sep 29 15:28:53 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 29 15:28:53 2009 -0700"
      },
      "message": "am fe46030c: Merge changes I3bd27087,I0c9ec550,I3a0e5e86 into eclair\n\nMerge commit \u0027fe46030cdd97f9cf810630541df367dd2b85cae9\u0027 into eclair-plus-aosp\n\n* commit \u0027fe46030cdd97f9cf810630541df367dd2b85cae9\u0027:\n  bionic/linker: allow resolving of symbols from library back to executable\n  bionic/linker: change lookup() to return soinfo, not base\n  Revert \"Revert \"bionic/linker: fix symbol lookup during relocations\"\"\n"
    },
    {
      "commit": "fe46030cdd97f9cf810630541df367dd2b85cae9",
      "tree": "e46fc6ca820662d33e1dd48ff8fd65a84eac7e83",
      "parents": [
        "7a9e06fa7e4e533074cde314f25dff3024f34a5d",
        "4a9afcb10151b083cd2d75253385615f459172ed"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 18:21:53 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 18:21:53 2009 -0400"
      },
      "message": "Merge changes I3bd27087,I0c9ec550,I3a0e5e86 into eclair\n\n* changes:\n  bionic/linker: allow resolving of symbols from library back to executable\n  bionic/linker: change lookup() to return soinfo, not base\n  Revert \"Revert \"bionic/linker: fix symbol lookup during relocations\"\"\n"
    },
    {
      "commit": "0893d4918742db3b4bd8ef82c4f3008b60de9e2a",
      "tree": "d27f4a2ed629c14bb2e9ec74aeda6cf766e7b9a0",
      "parents": [
        "2d77d4dbd690e2d85b9795e670c3b94f8233e962",
        "7a9e06fa7e4e533074cde314f25dff3024f34a5d"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 29 15:13:15 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 29 15:13:15 2009 -0700"
      },
      "message": "am 7a9e06fa: Merge change I2a7ad975 into eclair\n\nMerge commit \u00277a9e06fa7e4e533074cde314f25dff3024f34a5d\u0027 into eclair-plus-aosp\n\n* commit \u00277a9e06fa7e4e533074cde314f25dff3024f34a5d\u0027:\n  Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.\n"
    },
    {
      "commit": "7a9e06fa7e4e533074cde314f25dff3024f34a5d",
      "tree": "415721b383792ec3ea8c45a12f6a924ba504b80a",
      "parents": [
        "ee223d02d96815c989b62043ff1237b1cd4e14b0",
        "2a7ad97539313c82e13d36c9c75cefb2982a87d8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 18:04:51 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 29 18:04:51 2009 -0400"
      },
      "message": "Merge change I2a7ad975 into eclair\n\n* changes:\n  Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.\n"
    },
    {
      "commit": "2a7ad97539313c82e13d36c9c75cefb2982a87d8",
      "tree": "273eed8deddcc38c67b86e4a9dc90d966444fefa",
      "parents": [
        "33acbf0719c4f3db059bc9e1f52cf554a5d0295f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 29 14:43:38 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 29 14:43:38 2009 -0700"
      },
      "message": "Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.\n\nFor a detailed description of the problem and why this fix is\nneeded, plrease read the comments in libgcc_compat.c\n"
    },
    {
      "commit": "4a9afcb10151b083cd2d75253385615f459172ed",
      "tree": "8879a1126fce0aa369e13b8db7b8dae0290145ae",
      "parents": [
        "9ea64da6c511e8f9f4edae4c10c20879957631ab"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Sep 29 11:43:20 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Sep 29 14:33:46 2009 -0700"
      },
      "message": "bionic/linker: allow resolving of symbols from library back to executable\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "9ea64da6c511e8f9f4edae4c10c20879957631ab",
      "tree": "11adf7525e859f87f980f7836936c30570213446",
      "parents": [
        "6ed80c8814db9eed1fb687be22322e38dc46a2fb"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Sep 28 18:21:30 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Sep 29 14:33:46 2009 -0700"
      },
      "message": "bionic/linker: change lookup() to return soinfo, not base\n"
    },
    {
      "commit": "6ed80c8814db9eed1fb687be22322e38dc46a2fb",
      "tree": "372d444d6f7cba193fdc41ed2fbdf95a0682adc8",
      "parents": [
        "ee223d02d96815c989b62043ff1237b1cd4e14b0"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Sep 28 19:38:04 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Sep 29 14:33:46 2009 -0700"
      },
      "message": "Revert \"Revert \"bionic/linker: fix symbol lookup during relocations\"\"\n\nThis reverts commit 33acbf0719c4f3db059bc9e1f52cf554a5d0295f.\n"
    },
    {
      "commit": "2d77d4dbd690e2d85b9795e670c3b94f8233e962",
      "tree": "f6b1eee82b26ae72026b51c421ef0dd2316eae75",
      "parents": [
        "468fc8c53310b66455f88d47d11775b5995378c5",
        "ee223d02d96815c989b62043ff1237b1cd4e14b0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 13:31:57 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 29 13:31:57 2009 -0700"
      },
      "message": "am ee223d02: NEON optimized memcpy.\n\nMerge commit \u0027ee223d02d96815c989b62043ff1237b1cd4e14b0\u0027 into eclair-plus-aosp\n\n* commit \u0027ee223d02d96815c989b62043ff1237b1cd4e14b0\u0027:\n  NEON optimized memcpy.\n"
    },
    {
      "commit": "ee223d02d96815c989b62043ff1237b1cd4e14b0",
      "tree": "b60fc608c7c0d87da2dfb3015faa3da62fe09335",
      "parents": [
        "33acbf0719c4f3db059bc9e1f52cf554a5d0295f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 17:46:43 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 28 19:08:18 2009 -0700"
      },
      "message": "NEON optimized memcpy.\n\n372 MB/s for large transfers, 440 MB/s for smaller ones down to 1KB. 130 MB/s for very small transfers ( \u003c 32 bytes )\nPerformance is similar with non-congruent buffers.\n"
    },
    {
      "commit": "468fc8c53310b66455f88d47d11775b5995378c5",
      "tree": "96b9e2023148b0377f81cbd57f8f9c3e1c594912",
      "parents": [
        "76e3d69330029cb3b8091f303e709244ec1d8d77",
        "33acbf0719c4f3db059bc9e1f52cf554a5d0295f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 22:20:08 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 27 22:20:08 2009 -0700"
      },
      "message": "am 33acbf07: Revert \"bionic/linker: fix symbol lookup during relocations\"\n\nMerge commit \u002733acbf0719c4f3db059bc9e1f52cf554a5d0295f\u0027 into eclair-plus-aosp\n\n* commit \u002733acbf0719c4f3db059bc9e1f52cf554a5d0295f\u0027:\n  Revert \"bionic/linker: fix symbol lookup during relocations\"\n"
    },
    {
      "commit": "33acbf0719c4f3db059bc9e1f52cf554a5d0295f",
      "tree": "914ca013c2b4979b97c639c301a70c41a4785a4a",
      "parents": [
        "4e5a965d6a4c4a0c7977cc9b90755027130c1e46"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 22:04:15 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 22:04:15 2009 -0700"
      },
      "message": "Revert \"bionic/linker: fix symbol lookup during relocations\"\n\nThis reverts commit 8d0c0334f1106d36f2fd5c1cf6d5dc75a4b88850.\n"
    },
    {
      "commit": "76e3d69330029cb3b8091f303e709244ec1d8d77",
      "tree": "4b79df4578b6841c228cd5a52481f450bbfbd184",
      "parents": [
        "dfa87a200fd3f99e2a8790f2efc12528fba8e756",
        "4e5a965d6a4c4a0c7977cc9b90755027130c1e46"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Sep 27 17:35:01 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 27 17:35:01 2009 -0700"
      },
      "message": "am 4e5a965d: Merge change 27075 into eclair\n\nMerge commit \u00274e5a965d6a4c4a0c7977cc9b90755027130c1e46\u0027 into eclair-plus-aosp\n\n* commit \u00274e5a965d6a4c4a0c7977cc9b90755027130c1e46\u0027:\n  bionic/linker: fix symbol lookup during relocations\n"
    },
    {
      "commit": "4e5a965d6a4c4a0c7977cc9b90755027130c1e46",
      "tree": "25c4b68b8883352e5adf335a1d42d4461c0fa572",
      "parents": [
        "f355096a64b74c8e869527de55f7e908873e3128",
        "8d0c0334f1106d36f2fd5c1cf6d5dc75a4b88850"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 27 20:23:22 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 27 20:23:22 2009 -0400"
      },
      "message": "Merge change 27075 into eclair\n\n* changes:\n  bionic/linker: fix symbol lookup during relocations\n"
    },
    {
      "commit": "8d0c0334f1106d36f2fd5c1cf6d5dc75a4b88850",
      "tree": "4f0b57fa3743ec253faac9ced5e4d9586920a633",
      "parents": [
        "bc10cd2900cdb7fed077163b6a33e0f8572b2b19"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 24 17:14:33 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Sep 27 17:18:06 2009 -0700"
      },
      "message": "bionic/linker: fix symbol lookup during relocations\n\nWhen resolving relocations while loading a library, the linker used to find\nsymbols by looking them up in the list of all linked libraries for the current\nprocess, as opposed to following just the library\u0027s DT_NEEDED entries.  This\ncan cause a problem where the symbol is picked up from the wrong library.\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "dfa87a200fd3f99e2a8790f2efc12528fba8e756",
      "tree": "96b9e2023148b0377f81cbd57f8f9c3e1c594912",
      "parents": [
        "7e5e9f42706da2f487645a522e907b38fc387910",
        "f355096a64b74c8e869527de55f7e908873e3128"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 27 07:19:59 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 27 07:19:59 2009 -0700"
      },
      "message": "am f355096a: Remove NEON optimizations for memcpy\n\nMerge commit \u0027f355096a64b74c8e869527de55f7e908873e3128\u0027 into eclair-plus-aosp\n\n* commit \u0027f355096a64b74c8e869527de55f7e908873e3128\u0027:\n  Remove NEON optimizations for memcpy\n"
    },
    {
      "commit": "f355096a64b74c8e869527de55f7e908873e3128",
      "tree": "914ca013c2b4979b97c639c301a70c41a4785a4a",
      "parents": [
        "bc10cd2900cdb7fed077163b6a33e0f8572b2b19"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 27 07:08:46 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 27 07:08:46 2009 -0700"
      },
      "message": "Remove NEON optimizations for memcpy\n"
    },
    {
      "commit": "7e5e9f42706da2f487645a522e907b38fc387910",
      "tree": "0434cb0f33820821a4f80c72a555f720dc34f1e1",
      "parents": [
        "9641805419d30e8bfa4624cf54f823b7a3a9e320",
        "bc10cd2900cdb7fed077163b6a33e0f8572b2b19"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 23 16:09:39 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 23 16:09:39 2009 -0700"
      },
      "message": "am bc10cd29: Fix a typo that resulted in a crash in the boot sequence\n\nMerge commit \u0027bc10cd2900cdb7fed077163b6a33e0f8572b2b19\u0027 into eclair-plus-aosp\n\n* commit \u0027bc10cd2900cdb7fed077163b6a33e0f8572b2b19\u0027:\n  Fix a typo that resulted in a crash in the boot sequence\n"
    },
    {
      "commit": "bc10cd2900cdb7fed077163b6a33e0f8572b2b19",
      "tree": "3d945a8b4137c23ae15b1246742f352b9378d71a",
      "parents": [
        "d154954f02691618fdf73a5a97336e64cad37af0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 23 15:56:50 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 23 15:56:50 2009 -0700"
      },
      "message": "Fix a typo that resulted in a crash in the boot sequence\n"
    },
    {
      "commit": "9641805419d30e8bfa4624cf54f823b7a3a9e320",
      "tree": "568749b845330d30a6f6918db48f8def50cc7111",
      "parents": [
        "7910e39d197bc32ed79a144d06279c2be3c7f296",
        "d154954f02691618fdf73a5a97336e64cad37af0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 23 12:20:52 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 23 12:20:52 2009 -0700"
      },
      "message": "am d154954f: Merge change 26419 into eclair\n\nMerge commit \u0027d154954f02691618fdf73a5a97336e64cad37af0\u0027 into eclair-plus-aosp\n\n* commit \u0027d154954f02691618fdf73a5a97336e64cad37af0\u0027:\n  Add pthread_mutex_lock_timeout_np\n"
    },
    {
      "commit": "d154954f02691618fdf73a5a97336e64cad37af0",
      "tree": "d2f1db7cc41fe703e011ea93f6c2f21d7cf20816",
      "parents": [
        "4a05d12cf52a9a40759f11f28543bd75715c8f00",
        "3f56b7f65adb9ee35cd0f878ca00b92011eec427"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 15:10:02 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 15:10:02 2009 -0400"
      },
      "message": "Merge change 26419 into eclair\n\n* changes:\n  Add pthread_mutex_lock_timeout_np\n"
    },
    {
      "commit": "7910e39d197bc32ed79a144d06279c2be3c7f296",
      "tree": "2be732d00b499cd6d2e1be8084ba81730ca6c113",
      "parents": [
        "7ed086eb99a0dc326bf47fb387fa8be394fe3da4",
        "4a05d12cf52a9a40759f11f28543bd75715c8f00"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 15:41:36 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 15:41:36 2009 -0700"
      },
      "message": "resolved conflicts for merge of 4a05d12c to eclair-plus-aosp\n"
    },
    {
      "commit": "3f56b7f65adb9ee35cd0f878ca00b92011eec427",
      "tree": "94c29385b9f2afa873c61ddad29b12f7e9b8432a",
      "parents": [
        "916edf2a3fc60e08a5f29cd322d9f2a04d15cb49"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 12:40:22 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 15:17:50 2009 -0700"
      },
      "message": "Add pthread_mutex_lock_timeout_np\n\nThis is used to perform a mutex lock for a given amount of\nmilliseconds before giving up. Using the _np prefix since this\nis absolutely not portable.\n\nAlso remove a compiler warning in pthread_attr_getstackaddr\n"
    },
    {
      "commit": "4a05d12cf52a9a40759f11f28543bd75715c8f00",
      "tree": "2d0beafae4775320beea102649b491b05fa50f8e",
      "parents": [
        "916edf2a3fc60e08a5f29cd322d9f2a04d15cb49"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Sep 18 13:35:05 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 10:03:59 2009 -0700"
      },
      "message": "Fix TLS access for ARMv6 and beyond.\n\nFor performance reasons, we don\u0027t call the kernel helper. Instead, we directly\naccess the TLS register on ARMv6 and higher. For ARMv5TE, keep using the hard-coded\naddress populated by the kernel on each task switch.\n\nNOTE: Since we don\u0027t call the kernel helper, this must precisely match your\n      kernel configuration. This is controlled by setting the ARCH_ARM_HAVE_TLS_REGISTER\n      variable to \u0027true\u0027 in your board configuration file.\n"
    },
    {
      "commit": "7ed086eb99a0dc326bf47fb387fa8be394fe3da4",
      "tree": "58b00f7ba5b4263061664245bb0f1833f4ffde0d",
      "parents": [
        "895244b2ab91b34ab03efc78417ee1eb73f3e7ba",
        "916edf2a3fc60e08a5f29cd322d9f2a04d15cb49"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Sep 20 19:21:11 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 20 19:21:11 2009 -0700"
      },
      "message": "am 916edf2a: libc: kernel-headers: update msm_mdp.h to include premultiplied alpha\n\nMerge commit \u0027916edf2a3fc60e08a5f29cd322d9f2a04d15cb49\u0027 into eclair-plus-aosp\n\n* commit \u0027916edf2a3fc60e08a5f29cd322d9f2a04d15cb49\u0027:\n  libc: kernel-headers: update msm_mdp.h to include premultiplied alpha\n"
    },
    {
      "commit": "916edf2a3fc60e08a5f29cd322d9f2a04d15cb49",
      "tree": "d96c3928a873d570b71a9696b83320d32df2c449",
      "parents": [
        "bd192b470b69e00e9313680b70c5572a609e535d"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Sep 20 19:11:02 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Sep 20 19:11:18 2009 -0700"
      },
      "message": "libc: kernel-headers: update msm_mdp.h to include premultiplied alpha\n\nChange-Id: I653d638353d9246287bcf568bbffd0f5dbc64019\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "895244b2ab91b34ab03efc78417ee1eb73f3e7ba",
      "tree": "3804d2df015633253f48beaaf268eb10f02a2543",
      "parents": [
        "b8a18d059b8bde9a04e5778a0074a54413328472",
        "a246a71975c1b4a939421ed20fdd8557f93de46f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Sep 16 16:21:35 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Sep 16 16:21:35 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "a246a71975c1b4a939421ed20fdd8557f93de46f",
      "tree": "4b22fcf89ca32961cb12ef7b9a3bf9752ea22d65",
      "parents": [
        "c7f65a01e5ac3c4d3599ea3508459ecd6b54a71d"
      ],
      "author": {
        "name": "vinay harugop",
        "email": "vinay.harugop@stericsson.com",
        "time": "Wed Aug 05 02:09:29 2009 +0530"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Sep 16 14:38:40 2009 -0700"
      },
      "message": "Linux kernel helpers support is provided to android for its TLS implementation. This fix addresses this by modifying\nthe TLS access functions to use the kernel helper.\nThis Fix is verified on ST Ericsson\u0027s U8500 platform and Submitted on behalf of a third-party:\nSurinder-pal SINGH from STMicroelectronics.\n"
    },
    {
      "commit": "c7f65a01e5ac3c4d3599ea3508459ecd6b54a71d",
      "tree": "4a194be049795c33b12bd97fb7a5277329d3c44f",
      "parents": [
        "77e9c05988d4574fb97b2f9eae1ab3239c100854",
        "efecfde19a1af5aacbd77a6124968df2d7a49a83"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Sep 15 16:53:18 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Sep 15 16:53:18 2009 -0700"
      },
      "message": "Merge change 10541\n\n* changes:\n  added and modified libdl to support SuperH architecture\n"
    },
    {
      "commit": "77e9c05988d4574fb97b2f9eae1ab3239c100854",
      "tree": "fd7b13d6c83a77d2bc05a6152d1d00f7fa9095db",
      "parents": [
        "252c576d7ecd2dab3b88b96c250769e1834b270f",
        "d87945b4e706dbbacd71f6a3fd2e96162e970094"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Sep 15 16:53:01 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Sep 15 16:53:01 2009 -0700"
      },
      "message": "Merge change 10542\n\n* changes:\n  added and modified libm to support SuperH architecture\n"
    },
    {
      "commit": "252c576d7ecd2dab3b88b96c250769e1834b270f",
      "tree": "0b8f38742d8ecc2b9c5feac111a7dfb8f4d489e1",
      "parents": [
        "a4e67f4512e2609c13a67d569bff14001413a042",
        "c88110e284d6fcb5922c72f524dc3b4f24139580"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Sep 15 16:43:44 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Sep 15 16:43:44 2009 -0700"
      },
      "message": "Merge change 11671\n\n* changes:\n  Define 64 bit types if compiling with -std\u003dc99\n"
    },
    {
      "commit": "b8a18d059b8bde9a04e5778a0074a54413328472",
      "tree": "809bf4ad3a8790fa09859f480aa7bc217a199eaf",
      "parents": [
        "cdeb4c8afa2fb7b92cce3b32a9d2f3c05ad759ba",
        "bd192b470b69e00e9313680b70c5572a609e535d"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Sep 15 14:51:10 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 15 14:51:10 2009 -0700"
      },
      "message": "am bd192b47: Add stack unwinding directives to assembly leaf functions.\n\nMerge commit \u0027bd192b470b69e00e9313680b70c5572a609e535d\u0027 into eclair-plus-aosp\n\n* commit \u0027bd192b470b69e00e9313680b70c5572a609e535d\u0027:\n  Add stack unwinding directives to assembly leaf functions.\n"
    },
    {
      "commit": "bd192b470b69e00e9313680b70c5572a609e535d",
      "tree": "61d3575f3195acab886e3fe74388ff45b76fb539",
      "parents": [
        "824201294b5f3c3ad6ca9d9751d96f78142c5409"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Sep 15 13:41:14 2009 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Sep 15 13:41:14 2009 -0700"
      },
      "message": "Add stack unwinding directives to assembly leaf functions.\n\nSo that the real culprit of native crashes can surface in the stack trace.\n"
    },
    {
      "commit": "cdeb4c8afa2fb7b92cce3b32a9d2f3c05ad759ba",
      "tree": "c92b4205ab7379cf157a88b8e9709794e70119fd",
      "parents": [
        "664dac1e959dda5f017571d52ab4a34891800927",
        "76ec6891e2bc18c9e12cd2f567358bb817b24cff"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 15 07:51:39 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 15 07:51:39 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "a4e67f4512e2609c13a67d569bff14001413a042",
      "tree": "6e25ea92c5d2d407068b088ca9e46e9ad2ffb9b5",
      "parents": [
        "76ec6891e2bc18c9e12cd2f567358bb817b24cff"
      ],
      "author": {
        "name": "Matthieu CASTET",
        "email": "matthieu.castet@gmail.com",
        "time": "Sat Dec 27 00:04:10 2008 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Sep 14 09:19:42 2009 -0700"
      },
      "message": "Remove code duplication for pthread_cond_timeout_np : use __pthread_cond_timedwait_relative helper\n"
    },
    {
      "commit": "c88110e284d6fcb5922c72f524dc3b4f24139580",
      "tree": "1ce89bf15bf0bd5825beccd3f229014e4d7147d6",
      "parents": [
        "a90528ad3420c571987f2124955646dae88007b6"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Sep 08 10:54:45 2009 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Mon Sep 14 16:45:50 2009 +0200"
      },
      "message": "Define 64 bit types if compiling with -std\u003dc99\n\nCompiling with -std\u003dc99 defines __STRICT_ANSI__, but the 64 bit types\nand type macros should still be defined in this case.\n\nThis helps compiling third party code that needs -std\u003dc99 with the NDK.\n"
    },
    {
      "commit": "664dac1e959dda5f017571d52ab4a34891800927",
      "tree": "1d7e6cfede5897bf556b6a8d6fafa26cacb137ec",
      "parents": [
        "0dfd94cff40eba9926ab766c8a58f30885e8330e",
        "824201294b5f3c3ad6ca9d9751d96f78142c5409"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 11 00:39:49 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 11 00:39:49 2009 -0700"
      },
      "message": "am 82420129: bionic: update processed msm_camera.h\n\nMerge commit \u0027824201294b5f3c3ad6ca9d9751d96f78142c5409\u0027 into eclair-plus-aosp\n\n* commit \u0027824201294b5f3c3ad6ca9d9751d96f78142c5409\u0027:\n  bionic: update processed msm_camera.h\n"
    },
    {
      "commit": "824201294b5f3c3ad6ca9d9751d96f78142c5409",
      "tree": "3cd835ddf5728d66c7f5724f613a09e8c165bcc6",
      "parents": [
        "4e57cf3f8c0b696f117579c8165b13c8d32b9b5d"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 11 00:29:59 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 11 00:29:59 2009 -0700"
      },
      "message": "bionic: update processed msm_camera.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "0dfd94cff40eba9926ab766c8a58f30885e8330e",
      "tree": "90cb7263b8a752c2312690d7e42b612f368983cb",
      "parents": [
        "842cdcd2f63992dcdbe30e90a29c6d5ba2169f0e",
        "4e57cf3f8c0b696f117579c8165b13c8d32b9b5d"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 18:01:11 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 09 18:01:11 2009 -0700"
      },
      "message": "am 4e57cf3f: Merge change 24463 into eclair\n\nMerge commit \u00274e57cf3f8c0b696f117579c8165b13c8d32b9b5d\u0027 into eclair-plus-aosp\n\n* commit \u00274e57cf3f8c0b696f117579c8165b13c8d32b9b5d\u0027:\n  Fix an infinite loop in time2sub.\n"
    },
    {
      "commit": "4e57cf3f8c0b696f117579c8165b13c8d32b9b5d",
      "tree": "259717746189cd9e71171db2e86cda40bbc654f4",
      "parents": [
        "9e74f697e0178a0e9b6133a2b270cc7fed9920bf",
        "2093d350be21ff086f9e145404877941b9a42c5c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 09 20:53:15 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 09 20:53:15 2009 -0400"
      },
      "message": "Merge change 24463 into eclair\n\n* changes:\n  Fix an infinite loop in time2sub.\n"
    },
    {
      "commit": "2093d350be21ff086f9e145404877941b9a42c5c",
      "tree": "7fcb6a68bb996c3c62d0dfdf54a08b8e50adb970",
      "parents": [
        "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 17:41:59 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 17:45:00 2009 -0700"
      },
      "message": "Fix an infinite loop in time2sub.\n\nThe problem is that time_t is signed, and the original code relied on the\nfact that (X + c \u003c X) in case of overflow for c \u003e\u003d 0. Unfortunately, this\ncondition is only guaranteed by the standard for unsigned arithmetic, and\nthe gcc 4.4.0 optimizer did completely remove the corresponding test from\nthe code. This resulted in a missing boundary check, and an infinite loop.\n\nThe problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX\nin the loop that uses this.\n\nAlso fix increment_overflow and long_increment_overflow which were buggy\nfor exactly the same reasons.\n\nNote: a similar fix is needed for system/core/libcutils\n"
    },
    {
      "commit": "842cdcd2f63992dcdbe30e90a29c6d5ba2169f0e",
      "tree": "631e3a83f536bc08f8915e8f91151b3df9bb19e4",
      "parents": [
        "c0ed4229589ff66f42963fd24508b7dcddfe0e1f",
        "9e74f697e0178a0e9b6133a2b270cc7fed9920bf"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 09 15:13:56 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 09 15:13:56 2009 -0700"
      },
      "message": "am 9e74f697: libc: add void to clock() function prototype\n\nMerge commit \u00279e74f697e0178a0e9b6133a2b270cc7fed9920bf\u0027 into eclair-plus-aosp\n\n* commit \u00279e74f697e0178a0e9b6133a2b270cc7fed9920bf\u0027:\n  libc: add void to clock() function prototype\n"
    },
    {
      "commit": "9e74f697e0178a0e9b6133a2b270cc7fed9920bf",
      "tree": "39baca0c5a52427d3d17a3258fc16ee9d7d7a295",
      "parents": [
        "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 09 14:58:19 2009 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 09 14:58:19 2009 -0700"
      },
      "message": "libc: add void to clock() function prototype\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "76ec6891e2bc18c9e12cd2f567358bb817b24cff",
      "tree": "4623c956fcb7404faeb72a347620ce65406276a0",
      "parents": [
        "a90528ad3420c571987f2124955646dae88007b6"
      ],
      "author": {
        "name": "vinay harugop",
        "email": "vinay.harugop@stericsson.com",
        "time": "Wed Sep 09 20:53:39 2009 +0530"
      },
      "committer": {
        "name": "vinay harugop",
        "email": "vinay.harugop@stericsson.com",
        "time": "Wed Sep 09 21:01:46 2009 +0530"
      },
      "message": "ARM architecture reference manuals for ARMv6 \u0026 ARMv7 state that the use of \u0027swp\u0027 instruction is deprecated\nARMv6 onwards. These architectures provide the load-linked, store-conditional pair of ldrex/strex whose use\nis recommended in place of \u0027swp\u0027. Also, the description of the \u0027swp\u0027 instruction in the ARMv6 reference\nmanual states that the swap operation does not include any memory barrier guarantees.This fix attempts to\naddress these issues by providing an atomic swap implementation using ldrex/strex under _ARM_HAVE_LDREX_STREX\nmacro.  This Fix is verified on ST Ericsson\u0027s U8500 platform and Submitted on behalf of a third-party:\nSurinder-pal SINGH from STMicroelectronics.\n"
    },
    {
      "commit": "c0ed4229589ff66f42963fd24508b7dcddfe0e1f",
      "tree": "a496023fa65334cca9a211cc67e9eb9ed178a89d",
      "parents": [
        "00fb8b45d9d3fdf3db0dfb93df9a94a89f94f68d",
        "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 02 15:09:19 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 02 15:09:19 2009 -0700"
      },
      "message": "am b4423ff7: Merge change 22848 into eclair\n\nMerge commit \u0027b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c\u0027 into eclair-plus-aosp\n\n* commit \u0027b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c\u0027:\n  Neon-optimized versions of memcpy.\n"
    },
    {
      "commit": "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c",
      "tree": "b06d5895289a09b5bed0ffe382a685ef1e25a2ea",
      "parents": [
        "2e5bd8f8aab94e46f309e25b39c7dac17dca6fce",
        "1bbc56cd227546cb155bb47721cdb717780a3400"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 15:06:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 02 15:06:32 2009 -0700"
      },
      "message": "Merge change 22848 into eclair\n\n* changes:\n  Neon-optimized versions of memcpy.\n"
    },
    {
      "commit": "1bbc56cd227546cb155bb47721cdb717780a3400",
      "tree": "d8fa2782b57382a9f94eb4cd51113c842d67eab7",
      "parents": [
        "898cc98f3d6536f7ae1b38340537edecf9a529f2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Aug 26 21:50:42 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 02 23:21:52 2009 +0200"
      },
      "message": "Neon-optimized versions of memcpy.\n\nThis optimization come from the external 0xdroid repository.\nOriginal patch can be found here:\n\nhttp://gitorious.org/0xdroid/bionic/commit/ebafe41c2c02f8c09a3c1d7746047083df180ac5\n"
    },
    {
      "commit": "00fb8b45d9d3fdf3db0dfb93df9a94a89f94f68d",
      "tree": "2afefc79c8b55b6d7d10fc858307a33bf5bf740d",
      "parents": [
        "2e5bd8f8aab94e46f309e25b39c7dac17dca6fce",
        "cc05d1271680d6a7804bc89d3b1fe14c40b32396"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 01 08:27:42 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 01 08:27:42 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "a90528ad3420c571987f2124955646dae88007b6",
      "tree": "95809020fb569f2f6ca32886a359552dfeb65fec",
      "parents": [
        "cc05d1271680d6a7804bc89d3b1fe14c40b32396"
      ],
      "author": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Tue Jul 28 22:58:09 2009 +0800"
      },
      "committer": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Mon Aug 31 15:42:09 2009 +0800"
      },
      "message": "Include \u003cendian.h\u003e instead of \u003csys/endian.h\u003e,\nsince the later doesn\u0027t define byte order.\n"
    },
    {
      "commit": "efecfde19a1af5aacbd77a6124968df2d7a49a83",
      "tree": "8d00b42d3429177f697dc7a8abf225c39827e16c",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Shin-ichiro KAWASAKI",
        "email": "shinichiro.kawasaki.mg@hitachi.com",
        "time": "Mon Aug 31 16:39:32 2009 +0900"
      },
      "committer": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Mon Aug 31 16:39:32 2009 +0900"
      },
      "message": "added and modified libdl to support SuperH architecture\n"
    },
    {
      "commit": "d87945b4e706dbbacd71f6a3fd2e96162e970094",
      "tree": "9a4dab6605f3681e8e1e8c7aacf42b4e44e7fd4b",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Shin-ichiro KAWASAKI",
        "email": "shinichiro.kawasaki.mg@hitachi.com",
        "time": "Mon Aug 31 16:25:42 2009 +0900"
      },
      "committer": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Mon Aug 31 16:25:42 2009 +0900"
      },
      "message": "added and modified libm to support SuperH architecture\n"
    },
    {
      "commit": "2e5bd8f8aab94e46f309e25b39c7dac17dca6fce",
      "tree": "3384c7b659079742c2c9996da318320545c28e94",
      "parents": [
        "898cc98f3d6536f7ae1b38340537edecf9a529f2"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Aug 30 19:17:26 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Sun Aug 30 19:17:26 2009 -0700"
      },
      "message": "libc: kernel-headers: Add qdsp6 vdec header\n\nChange-Id: Ib6cd13e86cea84c1cc0901dee3e9ef05eb8279cd\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "cc05d1271680d6a7804bc89d3b1fe14c40b32396",
      "tree": "9f243790eb257187c67d65b5dd025e75d2b8c81e",
      "parents": [
        "8f53951b054d5d8267f4550a4bc726e09e66fc2d"
      ],
      "author": {
        "name": "Alexey Tarasov",
        "email": "tarasov@dodologics.com",
        "time": "Sat Dec 13 08:24:44 2008 +1000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 25 10:27:26 2009 -0700"
      },
      "message": "Changed logging functions in bionic/logd_write.c.\n\nMain differences from original code:\n1. now log channel for LOG_ID_MAIN may exist even if LOG_ID_RADIO\n   facility failed.\n2. __write_to_log_null() now acts as always successful function.\n3. it\u0027s more simplier to add new logging channels now\n\nammended commit fixes my typo on line 130\n"
    },
    {
      "commit": "8f53951b054d5d8267f4550a4bc726e09e66fc2d",
      "tree": "16806f714206d7b41c43a49f76c7e263e0e0ee03",
      "parents": [
        "f76b577feda846cc8bb0a53a485006127aecca5c",
        "70f1280ca9ccbf211da5514f01a77fad54e546a4"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 21 11:25:21 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 21 11:25:21 2009 -0700"
      },
      "message": "Merge change 10749\n\n* changes:\n  Make sure size_t is defined before used in strings.h\n"
    },
    {
      "commit": "f76b577feda846cc8bb0a53a485006127aecca5c",
      "tree": "b84ea4d30f1af53eec0f38820fdcf586ae9ce828",
      "parents": [
        "bb08537104e8a753deb6109b5fb696882c59be84",
        "1d763d50e736b3231fe53a4172ed19a30d4f8d14"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 21 11:24:58 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 21 11:24:58 2009 -0700"
      },
      "message": "Merge change 10757\n\n* changes:\n  Add an \u0027s and a . to the bionic/libc README.\n"
    },
    {
      "commit": "898cc98f3d6536f7ae1b38340537edecf9a529f2",
      "tree": "19621cd7ce99212a1b748d271a1498d121cae6d9",
      "parents": [
        "fcb10796ec96217629223e4262e725411925a842"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 20 16:31:28 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 20 16:31:28 2009 -0700"
      },
      "message": "bionic: add sanitized lightsensor kernel header\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "fcb10796ec96217629223e4262e725411925a842",
      "tree": "85816b97e99ce9c0d863c0f83dd3838194622492",
      "parents": [
        "30eb40241c612a7ddbd21c4daa4e7bbfd9d5e89f"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 19 18:48:57 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 19 18:48:57 2009 -0700"
      },
      "message": "Update pmem/hw3d/mdp headers\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "30eb40241c612a7ddbd21c4daa4e7bbfd9d5e89f",
      "tree": "12f9c24ab25aa130fe55b9a64b6139e8346343eb",
      "parents": [
        "ac68b70ed95db959274106d268deca1d303fa15c"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Aug 13 16:05:30 2009 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Aug 13 16:18:07 2009 -0700"
      },
      "message": "bionic: linker: add error message if link failed due to previous error\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "ac68b70ed95db959274106d268deca1d303fa15c",
      "tree": "0daab9df124f916b51c0eeb14258a519fa83bd09",
      "parents": [
        "44ac5d5d9353b74a9782e6ee9e4cf432c03800e1",
        "3d8f4ada56cc4965c8d2cbaa16d1bc0f75492c07"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 08 09:46:30 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 08 09:46:30 2009 -0700"
      },
      "message": "Merge change 9642\n\n* changes:\n  Don\u0027t request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity.\n"
    },
    {
      "commit": "44ac5d5d9353b74a9782e6ee9e4cf432c03800e1",
      "tree": "55d52abdaa0da832585491bf1706896d65240b66",
      "parents": [
        "81fa6d5f942ff6c2d10c53e9f7c5af9cb5e39c9a",
        "bb08537104e8a753deb6109b5fb696882c59be84"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 07 17:04:35 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 07 17:04:35 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "bb08537104e8a753deb6109b5fb696882c59be84",
      "tree": "fd0426153624dc89df67c7b28a149fc99430aa33",
      "parents": [
        "c1e553a9cfe14dc0f4aea9784553a178bfe74acc",
        "f30dae9cf452e4308a34450b2a48eb6602936976"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 07 16:43:33 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 07 16:43:33 2009 -0700"
      },
      "message": "Merge change 10057\n\n* changes:\n  Add mspace_merge_objects\n"
    },
    {
      "commit": "81fa6d5f942ff6c2d10c53e9f7c5af9cb5e39c9a",
      "tree": "03f0233988ae1743e8dab9d1e29a9c7ddc1e9a7c",
      "parents": [
        "4c4a9632bdb5189011b74d63847ee4bbd6daea4b"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 05 17:51:29 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 05 17:56:56 2009 -0700"
      },
      "message": "libc: add linux/msm_kgsl.h kernel include\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "4c4a9632bdb5189011b74d63847ee4bbd6daea4b",
      "tree": "c053b4789786d00aad7c3cabdfb0ac7c64db94bf",
      "parents": [
        "6e36f86333486ac60dfa9684d1af9475e5a90a11"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 05 17:55:30 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 05 17:56:55 2009 -0700"
      },
      "message": "libc: kernel: let clean_header tool take path to kernel originals as argument\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "3d8f4ada56cc4965c8d2cbaa16d1bc0f75492c07",
      "tree": "3b2398f9b0687e271280a165cc3040b2c364dd85",
      "parents": [
        "8b09aa39c3ab7bf17384082728001550c072e8c7"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Aug 03 22:36:31 2009 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 04 13:17:03 2009 -0700"
      },
      "message": "Don\u0027t request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity.\n"
    },
    {
      "commit": "6e36f86333486ac60dfa9684d1af9475e5a90a11",
      "tree": "2673f88232054cb5bbb97ef2acaad39e07f96948",
      "parents": [
        "2b459748378c1f655ae2f46b5fb9a2427edfcfc8",
        "d5f72afd4984744a7198c8ec80341a6d2602d02f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 10:06:58 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 10:06:58 2009 -0700"
      },
      "message": "Merge change 9546\n\n* changes:\n  Fix strftime to use localized month names.\n"
    },
    {
      "commit": "2b459748378c1f655ae2f46b5fb9a2427edfcfc8",
      "tree": "fc710cf2c90699fdb0911ba122aed4e1b970cddb",
      "parents": [
        "8b09aa39c3ab7bf17384082728001550c072e8c7",
        "c1e553a9cfe14dc0f4aea9784553a178bfe74acc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 04 09:00:15 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 04 09:00:15 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "d5f72afd4984744a7198c8ec80341a6d2602d02f",
      "tree": "2673f88232054cb5bbb97ef2acaad39e07f96948",
      "parents": [
        "8b09aa39c3ab7bf17384082728001550c072e8c7"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Aug 03 15:43:18 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Aug 03 15:43:18 2009 -0700"
      },
      "message": "Fix strftime to use localized month names.\n\nIt was using the default locale (capital L) instead of the\ncurrent locale (lowercase l).\n\nBug 2030864\n"
    },
    {
      "commit": "c1e553a9cfe14dc0f4aea9784553a178bfe74acc",
      "tree": "0c722ced21166d5b6a79cc7c0aa14d073934bdd4",
      "parents": [
        "61e844f48e5c7fc7446b364d4b273c3457327f5e",
        "fde8642fc43bdd224e43e5ee9583a49a758fb03c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 03 07:45:26 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 03 07:45:26 2009 -0700"
      },
      "message": "merge from donut\n"
    },
    {
      "commit": "8b09aa39c3ab7bf17384082728001550c072e8c7",
      "tree": "fc710cf2c90699fdb0911ba122aed4e1b970cddb",
      "parents": [
        "e5bcc9dc5ccf791003b019e117734b871e59890c",
        "fde8642fc43bdd224e43e5ee9583a49a758fb03c"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Jul 30 06:57:18 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 30 06:57:18 2009 -0700"
      },
      "message": "am fde8642f: bionic/linker: keep track of opened libraries by basename\n\nMerge commit \u0027fde8642fc43bdd224e43e5ee9583a49a758fb03c\u0027\n\n* commit \u0027fde8642fc43bdd224e43e5ee9583a49a758fb03c\u0027:\n  bionic/linker: keep track of opened libraries by basename\n"
    },
    {
      "commit": "61e844f48e5c7fc7446b364d4b273c3457327f5e",
      "tree": "c7ae2dcba7dd282d787961a641720dce723172ea",
      "parents": [
        "e7274663f16ed3222779017d1a1241f93989de4f",
        "39f3745cf30efe38482ffead1c32f4e62f6fe32e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 29 14:56:48 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 29 14:56:48 2009 -0700"
      },
      "message": "merge from donut\n"
    },
    {
      "commit": "e5bcc9dc5ccf791003b019e117734b871e59890c",
      "tree": "75df7dfc31d3d019b079599c2e34fd2fd53f049f",
      "parents": [
        "9cfb12e6bce65b49fd858b86149858ff3851072d",
        "22b5eb858dcbb537f2522ad920ca793348d574a2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 14:47:55 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 29 14:47:55 2009 -0700"
      },
      "message": "am 22b5eb85: Merge change 8281 into donut\n\nMerge commit \u002722b5eb858dcbb537f2522ad920ca793348d574a2\u0027\n\n* commit \u002722b5eb858dcbb537f2522ad920ca793348d574a2\u0027:\n  linker: remove newlines from DL_ERR so that dlerror works correctly\n"
    },
    {
      "commit": "fde8642fc43bdd224e43e5ee9583a49a758fb03c",
      "tree": "0c722ced21166d5b6a79cc7c0aa14d073934bdd4",
      "parents": [
        "22b5eb858dcbb537f2522ad920ca793348d574a2"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Jul 28 20:28:19 2009 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Jul 28 20:36:47 2009 -0700"
      },
      "message": "bionic/linker: keep track of opened libraries by basename\n\nPrior to this change, the dynamic loader kept track of opened libraries\neither by their base name (i.e., libfoo.so instead of /system/lib/libfoo.so)\nwhen the shared library was loaded through the DT_NEEDED tag in an ELF header,\nor by whatever name was passed to dlopen(). This created a number of problems,\namong which:\n\n1. dlopen(\"libfoo.so\") and dlopen(\"/path/to/libfoo.so\") would open the same\nlibrary twice;\n2. dlopen(\"/path/to/libfoo.so\") and then dlopen(\"libbar.so\"), where libbar.so\ndepends on libfoo.so, would open libfoo.so twice.\n\nThis patch makes the dynamic loader keep track of each loaded library by\nbasename, which resolves the above ambiguity. The patch also enforces\nlibrary lookup by base name, which means that it will refuse to load another\nlibrary that has the same name.\n\nThanks for the inspiration Iliyan.\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nCc: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "22b5eb858dcbb537f2522ad920ca793348d574a2",
      "tree": "46dd397bc8063f3a6e60bd0710986768f545563b",
      "parents": [
        "3773d35eb98e22b5edab4d82fb72bdf86ff80494",
        "d00d23a9d4598108d7f498291b35c7730e48cf5c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 17:35:12 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 17:35:12 2009 -0700"
      },
      "message": "Merge change 8281 into donut\n\n* changes:\n  linker: remove newlines from DL_ERR so that dlerror works correctly\n"
    },
    {
      "commit": "9cfb12e6bce65b49fd858b86149858ff3851072d",
      "tree": "356310761476af56a25dd0988157c16e3329e2b9",
      "parents": [
        "eda65ce1a5586ae9c9d19d886e3ea10ef0400510",
        "3773d35eb98e22b5edab4d82fb72bdf86ff80494"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jul 28 15:27:33 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 28 15:27:33 2009 -0700"
      },
      "message": "am 3773d35e: Make the DNS resolver accept domain names with an underscore.\n\nMerge commit \u00273773d35eb98e22b5edab4d82fb72bdf86ff80494\u0027\n\n* commit \u00273773d35eb98e22b5edab4d82fb72bdf86ff80494\u0027:\n  Make the DNS resolver accept domain names with an underscore.\n"
    },
    {
      "commit": "3773d35eb98e22b5edab4d82fb72bdf86ff80494",
      "tree": "05cdad25492e5dd326c10bc0b1f6ac78b0e8b1bd",
      "parents": [
        "39f3745cf30efe38482ffead1c32f4e62f6fe32e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 27 19:19:29 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 27 19:19:29 2009 +0200"
      },
      "message": "Make the DNS resolver accept domain names with an underscore.\n\nMore precisely, this accepts domain labels with an underscore in\nthe middle (i.e. not at the start or the end of the label). This\nis needed to perform complex CNAME chain resolution in certain\nVPN networks.\n"
    },
    {
      "commit": "eda65ce1a5586ae9c9d19d886e3ea10ef0400510",
      "tree": "c0c8d701ec049f8e64725caa66e3db503653ad49",
      "parents": [
        "e40fb3d68f7855647fe4fa13912f421bf9bf6c14",
        "e7274663f16ed3222779017d1a1241f93989de4f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Jul 26 11:43:53 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Jul 26 11:43:53 2009 -0700"
      },
      "message": "reconcile korg/master into goog/master\n"
    },
    {
      "commit": "e7274663f16ed3222779017d1a1241f93989de4f",
      "tree": "127fc944b35e74cda8fa69ebe16b0632c3bfe7f6",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e",
        "6ee8f1b0444c0db94931d2cd64427ded8fba38b0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jul 25 17:48:00 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jul 25 17:48:00 2009 -0700"
      },
      "message": "Merge korg/donut into korg/master\n"
    },
    {
      "commit": "1d763d50e736b3231fe53a4172ed19a30d4f8d14",
      "tree": "fc53853a14b75d0c3025b28d7540d1ab7e30fa91",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "joe@joelapenna.com",
        "time": "Thu Jul 23 17:41:47 2009 -0700"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "joe@joelapenna.com",
        "time": "Thu Jul 23 17:41:47 2009 -0700"
      },
      "message": "Add an \u0027s and a . to the bionic/libc README.\n"
    },
    {
      "commit": "d00d23a9d4598108d7f498291b35c7730e48cf5c",
      "tree": "1655df6502c82285d5c850c19becead637b10fb9",
      "parents": [
        "39f3745cf30efe38482ffead1c32f4e62f6fe32e"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Jul 22 17:06:11 2009 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Jul 22 17:10:39 2009 -0700"
      },
      "message": "linker: remove newlines from DL_ERR so that dlerror works correctly\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    }
  ],
  "next": "70f1280ca9ccbf211da5514f01a77fad54e546a4"
}
