)]}'
{
  "log": [
    {
      "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": "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": "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": "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"
    },
    {
      "commit": "e40fb3d68f7855647fe4fa13912f421bf9bf6c14",
      "tree": "c0c8d701ec049f8e64725caa66e3db503653ad49",
      "parents": [
        "d5b3513cca5ae93fa2b8a936c1ce1b46d2525966",
        "39f3745cf30efe38482ffead1c32f4e62f6fe32e"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 21 16:40:00 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 21 16:40:00 2009 -0700"
      },
      "message": "am 39f3745c: Restore malloc debug.\n\nMerge commit \u002739f3745cf30efe38482ffead1c32f4e62f6fe32e\u0027\n\n* commit \u002739f3745cf30efe38482ffead1c32f4e62f6fe32e\u0027:\n  Restore malloc debug.\n"
    },
    {
      "commit": "39f3745cf30efe38482ffead1c32f4e62f6fe32e",
      "tree": "c7ae2dcba7dd282d787961a641720dce723172ea",
      "parents": [
        "b56b5659b3996e98c2060f168d1cff1474e77d2a"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 21 15:25:23 2009 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 21 15:44:23 2009 -0700"
      },
      "message": "Restore malloc debug.\n\nSome libc changes were preventing the initialization call from being made.\nThe basic problem appears to be that libc_init_common.c is only built once,\nand it\u0027s only built for the non-debug libc.\n"
    },
    {
      "commit": "d5b3513cca5ae93fa2b8a936c1ce1b46d2525966",
      "tree": "3a1a615391f1235e7f02897e51ed8e903ce6f4e4",
      "parents": [
        "d63185fd880dc912022aaf08b72c7c831f94703e",
        "b56b5659b3996e98c2060f168d1cff1474e77d2a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 20 00:13:21 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 20 00:13:21 2009 -0700"
      },
      "message": "am b56b5659: Fix the C library runtime initialization order.\n\nMerge commit \u0027b56b5659b3996e98c2060f168d1cff1474e77d2a\u0027\n\n* commit \u0027b56b5659b3996e98c2060f168d1cff1474e77d2a\u0027:\n  Fix the C library runtime initialization order.\n"
    },
    {
      "commit": "d63185fd880dc912022aaf08b72c7c831f94703e",
      "tree": "878e8965ff8a77777857fef66b10d67ace5148c5",
      "parents": [
        "a22c04502a959a5679e123ed1b0a8cf3c5f13914",
        "ef0bd1857041ffde069cf52138aaf22c1af7130e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 20 00:12:01 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 20 00:12:01 2009 -0700"
      },
      "message": "am ef0bd185: Pass the elfdata pointer in a slot of the temporary TLS area.\n\nMerge commit \u0027ef0bd1857041ffde069cf52138aaf22c1af7130e\u0027\n\n* commit \u0027ef0bd1857041ffde069cf52138aaf22c1af7130e\u0027:\n  Pass the elfdata pointer in a slot of the temporary TLS area.\n"
    },
    {
      "commit": "b56b5659b3996e98c2060f168d1cff1474e77d2a",
      "tree": "11135868d3dc4a731f7288bcb00abdf48c5c7202",
      "parents": [
        "ef0bd1857041ffde069cf52138aaf22c1af7130e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sat Jul 18 01:11:10 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sat Jul 18 01:11:10 2009 +0200"
      },
      "message": "Fix the C library runtime initialization order.\n\nThis allows libc.so to run the C runtime initializer as soon as the\ndynamic linker loads the shared library, i.e. before any other initializers\n(e.g. static C++ constructors in other shared libraries the executable depends\non).\n\nThis also removes the bug where the initializers from the executable itself\nwere run twice: once by the dynamic linker, and another time by __libc_init\nas defined by libc_init_dynamic.c\n"
    },
    {
      "commit": "a22c04502a959a5679e123ed1b0a8cf3c5f13914",
      "tree": "3a1f1a85084c99203b426f36a1c06a38d2021f3f",
      "parents": [
        "08a85b69b43f084d168b92506d45e30e6280d57e",
        "09131482e75920bf3edd0fe297b41e21ffcaceb6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 15:34:38 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 15:34:38 2009 -0700"
      },
      "message": "Merge change 7652\n\n* changes:\n  Updating v4l2 headers from kernel\n"
    },
    {
      "commit": "ef0bd1857041ffde069cf52138aaf22c1af7130e",
      "tree": "c61b6ca4b286821ff473533183eba42e7da234a3",
      "parents": [
        "348065586a2e6154d6cff36afa6e00af6bbc5918"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 17 17:55:01 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 17 17:55:01 2009 +0200"
      },
      "message": "Pass the elfdata pointer in a slot of the temporary TLS area.\n\nThis is needed to properly initialize the C runtime when libc.so\nis loaded by the dynamic linker.\n\nMove the temporary TLS setup before the first system call, just\nin case something really horrible happens, we won\u0027t crash when\ntrying to write an error code in \u0027errno\u0027\n\nRemove the broken TLS_SLOT_THREAD_ID setup. First, this slot\nshould normally receive the address of a pthread_internal_t,\nnot a kernel thread identifier. Second, it is never used by\nthe linker anyway.\n\nAlso remove an obsolete comment.\n"
    },
    {
      "commit": "09131482e75920bf3edd0fe297b41e21ffcaceb6",
      "tree": "c0d90c142c67c57fb533a85e2b1daf1fd373d4fa",
      "parents": [
        "b7681167cbe91c2bb95cccdc08f75184ed1fb839"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Jul 16 18:33:52 2009 -0700"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Jul 16 18:33:52 2009 -0700"
      },
      "message": "Updating v4l2 headers from kernel\n\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n"
    },
    {
      "commit": "08a85b69b43f084d168b92506d45e30e6280d57e",
      "tree": "a70f4ac6e7a6b20249aa52506606a86120a1d80a",
      "parents": [
        "4553a785e2305e1ed0ba7dc45d494f4f83bbd0ba",
        "bf8947da8171f181550c60b82e2eb546ff64d649"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 16:20:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 16:20:28 2009 -0700"
      },
      "message": "Merge change 7610\n\n* changes:\n  linux: add headers for lis331dlh and sfh7743 sensor drivers.\n"
    },
    {
      "commit": "4553a785e2305e1ed0ba7dc45d494f4f83bbd0ba",
      "tree": "159935d899adfbb507034f6887f8638e8c2ea307",
      "parents": [
        "b7681167cbe91c2bb95cccdc08f75184ed1fb839"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Jul 16 15:31:30 2009 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Jul 16 16:03:29 2009 -0700"
      },
      "message": "Add linux/ethtool.h header file\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "bf8947da8171f181550c60b82e2eb546ff64d649",
      "tree": "22e979bfc4c23bcd1d82b144d54ed5f5f0fe987c",
      "parents": [
        "b7681167cbe91c2bb95cccdc08f75184ed1fb839"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 16 18:53:41 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 16 18:53:41 2009 -0400"
      },
      "message": "linux: add headers for lis331dlh and sfh7743 sensor drivers.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b7681167cbe91c2bb95cccdc08f75184ed1fb839",
      "tree": "0a8af97396d0cdd76a5698259bf1a89b0accb5b9",
      "parents": [
        "a2f5e212448f36f0b35cf695d13bb4defdb4472e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 22:00:33 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 22:00:33 2009 -0700"
      },
      "message": "allow pthread_mutexattr_setpshared to accept SHARED mutexes, since our current impl actually uses shared mutexes\n"
    },
    {
      "commit": "a2f5e212448f36f0b35cf695d13bb4defdb4472e",
      "tree": "6c5fe5b6f2c8134de44af2f271505445d63750a2",
      "parents": [
        "733f7deeb72c38e4d83e1b1fc9f237712fa84d52"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 15:00:46 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 18:37:40 2009 -0700"
      },
      "message": "added pthread_cond_timedwait_relative_np()\n"
    },
    {
      "commit": "733f7deeb72c38e4d83e1b1fc9f237712fa84d52",
      "tree": "9de559fcb053c52e4ac7a2b5d1ec78c90230e8a3",
      "parents": [
        "fc8b178759aecc83a3f4b40a9f51502d77e5d6ed",
        "348065586a2e6154d6cff36afa6e00af6bbc5918"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Jul 12 21:56:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jul 12 21:56:33 2009 -0700"
      },
      "message": "am 34806558: Add new C++ headers \u003ccerrno\u003e and \u003ccfloat\u003e\n\nMerge commit \u0027348065586a2e6154d6cff36afa6e00af6bbc5918\u0027\n\n* commit \u0027348065586a2e6154d6cff36afa6e00af6bbc5918\u0027:\n  Add new C++ headers \u003ccerrno\u003e and \u003ccfloat\u003e\n"
    },
    {
      "commit": "348065586a2e6154d6cff36afa6e00af6bbc5918",
      "tree": "20ad478d6e6cd40db0625fc2b31403aabc9d791e",
      "parents": [
        "db4616b2d3234a1916cafb48e65c50cf302afcde"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 10 12:23:09 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 10 18:40:55 2009 +0200"
      },
      "message": "Add new C++ headers \u003ccerrno\u003e and \u003ccfloat\u003e\n\nAlso add std::malloc/realloc/calloc/free to \u003ccstdlib\u003e\nRename \u003ccwchar_is_not_supported\u003e to \u003ccwchar\u003e\n"
    },
    {
      "commit": "fc8b178759aecc83a3f4b40a9f51502d77e5d6ed",
      "tree": "effe57920dc703d9a6555aecb91843df2558bb9a",
      "parents": [
        "267e23ae99ced954291b05bf19ac762306474322",
        "db4616b2d3234a1916cafb48e65c50cf302afcde"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 09 16:11:43 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 09 16:11:43 2009 -0700"
      },
      "message": "am db4616b2: Add \u003clinux/uinput.h\u003e to C library kernel headers\n\nMerge commit \u0027db4616b2d3234a1916cafb48e65c50cf302afcde\u0027\n\n* commit \u0027db4616b2d3234a1916cafb48e65c50cf302afcde\u0027:\n  Add \u003clinux/uinput.h\u003e to C library kernel headers\n"
    },
    {
      "commit": "db4616b2d3234a1916cafb48e65c50cf302afcde",
      "tree": "bff24b83e1bb260af7f0f715c3936c9794c65a53",
      "parents": [
        "c4eee3765bf9dd81ff055e70ff7daa83a3926d2a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 10 00:59:56 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 10 00:59:56 2009 +0200"
      },
      "message": "Add \u003clinux/uinput.h\u003e to C library kernel headers\n"
    },
    {
      "commit": "267e23ae99ced954291b05bf19ac762306474322",
      "tree": "5266f578c6e58d6d8aeef1a4071860a01305ca51",
      "parents": [
        "4a1fe7167b8d83ef640d5cd4ff2c2377c1a75774",
        "c4eee3765bf9dd81ff055e70ff7daa83a3926d2a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 09 15:51:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 09 15:51:54 2009 -0700"
      },
      "message": "am c4eee376: Prevent a crash in the memory leak checker (which happened in chk_free())\n\nMerge commit \u0027c4eee3765bf9dd81ff055e70ff7daa83a3926d2a\u0027\n\n* commit \u0027c4eee3765bf9dd81ff055e70ff7daa83a3926d2a\u0027:\n  Prevent a crash in the memory leak checker (which happened in chk_free())\n"
    },
    {
      "commit": "c4eee3765bf9dd81ff055e70ff7daa83a3926d2a",
      "tree": "fca5f9156dba6f7a3278699da9665c138c08f816",
      "parents": [
        "6ee8f1b0444c0db94931d2cd64427ded8fba38b0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jul 08 14:22:41 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 10 00:32:08 2009 +0200"
      },
      "message": "Prevent a crash in the memory leak checker (which happened in chk_free())\n\nSimplify the code a little, removing un-necessary mutex locks/unlocks.\nProvide slightly better diagnostic message in case of corruption.\nUse snprintf/strlcat instead of sprintf/strcat\n"
    },
    {
      "commit": "4a1fe7167b8d83ef640d5cd4ff2c2377c1a75774",
      "tree": "dc6662e93b0f2d91b363bcad527f0bfa83e5930e",
      "parents": [
        "838ac974f4b6fd92dea1d62e3a19cc6a2e378d19"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 08 14:04:16 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 08 20:33:12 2009 -0700"
      },
      "message": "bionic: add cleaned-up proximity-sensor header\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "838ac974f4b6fd92dea1d62e3a19cc6a2e378d19",
      "tree": "884580a47e178e4ee6bb97fa42117aec06a18551",
      "parents": [
        "bf013b1951d7c087c8403950b79f7595992af7aa",
        "6ee8f1b0444c0db94931d2cd64427ded8fba38b0"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:17:28 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 25 15:17:28 2009 -0700"
      },
      "message": "am 6ee8f1b0: Merge change 2990 into donut\n\nMerge commit \u00276ee8f1b0444c0db94931d2cd64427ded8fba38b0\u0027\n\n* commit \u00276ee8f1b0444c0db94931d2cd64427ded8fba38b0\u0027:\n  Add LD_LIBRARY_PATH support to bionic\u0027s linker\n"
    },
    {
      "commit": "6ee8f1b0444c0db94931d2cd64427ded8fba38b0",
      "tree": "127fc944b35e74cda8fa69ebe16b0632c3bfe7f6",
      "parents": [
        "380f24983e8e33d0b189dda198ec64c1766a359d",
        "bc3a5c26f1b9cf29da6abfc3e197258ef4c03362"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:15:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:15:14 2009 -0700"
      },
      "message": "Merge change 2990 into donut\n\n* changes:\n  Add LD_LIBRARY_PATH support to bionic\u0027s linker\n"
    },
    {
      "commit": "bf013b1951d7c087c8403950b79f7595992af7aa",
      "tree": "79b7119709ee1d8219d8a180fcda7c211d0564f3",
      "parents": [
        "3772217641026d199ed077a1c51f5e90f6ef4775",
        "380f24983e8e33d0b189dda198ec64c1766a359d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 15:45:01 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:45:01 2009 -0700"
      },
      "message": "am 380f2498: Merge change 5184 into donut\n\nMerge commit \u0027380f24983e8e33d0b189dda198ec64c1766a359d\u0027\n\n* commit \u0027380f24983e8e33d0b189dda198ec64c1766a359d\u0027:\n  update clean msm_camera.h\n"
    },
    {
      "commit": "380f24983e8e33d0b189dda198ec64c1766a359d",
      "tree": "c4fc0ec8094593ad1bcd41b1c2419efd5767479e",
      "parents": [
        "09baf4e881c78e67c7849aa81432ceb34e72e913",
        "0711600b05098d252686a0d60d621419b59256aa"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 12:45:35 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 12:45:35 2009 -0700"
      },
      "message": "Merge change 5184 into donut\n\n* changes:\n  update clean msm_camera.h\n"
    },
    {
      "commit": "0711600b05098d252686a0d60d621419b59256aa",
      "tree": "e0b2570705b0104983e1f1a7c460d7b66d78809b",
      "parents": [
        "9cfccefa055554c7e951741c01373a52a82d3fd6"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Jun 23 20:08:10 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Jun 23 20:08:10 2009 -0700"
      },
      "message": "update clean msm_camera.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "3772217641026d199ed077a1c51f5e90f6ef4775",
      "tree": "143de082eed4acd81e591dc0268307e5b1c21e53",
      "parents": [
        "5c3b16c5763b1105df761041e5ad5848834ca2ba"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Jun 23 11:13:19 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Jun 23 13:52:08 2009 -0700"
      },
      "message": "delete akm8973.h from original headers\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "5c3b16c5763b1105df761041e5ad5848834ca2ba",
      "tree": "9a71232c6e0966cd9eefbb7979c8e52c4db1f5b8",
      "parents": [
        "fc90c51f72a669ec3be951cace1a013d3b43c9f8"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 22 15:07:34 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 22 15:07:34 2009 -0700"
      },
      "message": "add header for akm8973\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "fc90c51f72a669ec3be951cace1a013d3b43c9f8",
      "tree": "396f368eb67e085bdc56e52f71fb8bb82db5fdfb",
      "parents": [
        "25e3c334888ea7ca77f2a87e9e7cb4654ed4d5ef",
        "09baf4e881c78e67c7849aa81432ceb34e72e913"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 22 09:56:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 09:56:46 2009 -0700"
      },
      "message": "am 09baf4e8: Add Glibc-compatible macro aliases for the nanosecond time accessors in stat structure\n\nMerge commit \u002709baf4e881c78e67c7849aa81432ceb34e72e913\u0027\n\n* commit \u002709baf4e881c78e67c7849aa81432ceb34e72e913\u0027:\n  Add Glibc-compatible macro aliases for the nanosecond time accessors in stat structure\n"
    },
    {
      "commit": "25e3c334888ea7ca77f2a87e9e7cb4654ed4d5ef",
      "tree": "9263c786b3cf4cf9309d987c9d0b4444213e0d7a",
      "parents": [
        "4b91ef834870748a8c201035a35f5996eff4ae00",
        "ec6c274da2bdaade68a2dda7bb8c6046fe29e23b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 09:25:27 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 09:25:27 2009 -0700"
      },
      "message": "Merge change 4509\n\n* changes:\n  Removed non-standard declaration in cstring.\n"
    },
    {
      "commit": "09baf4e881c78e67c7849aa81432ceb34e72e913",
      "tree": "8f029aeb74289dca9e90daec93f81730cf7af3bf",
      "parents": [
        "9cfccefa055554c7e951741c01373a52a82d3fd6"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 22 12:16:06 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 22 12:16:06 2009 +0200"
      },
      "message": "Add Glibc-compatible macro aliases for the nanosecond time accessors in stat structure\n"
    },
    {
      "commit": "4b91ef834870748a8c201035a35f5996eff4ae00",
      "tree": "94efe4c66943c355d35d567d0c9b23620171ca31",
      "parents": [
        "5b67764a5ab31d1ec1e4a36d82b0001f3b5df519",
        "c52c174e412fa6c829cf6353ce8dbebdf710511f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 15:36:55 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 15:36:55 2009 -0700"
      },
      "message": "Merge change 4025\n\n* changes:\n  Make IPv6 definitions comply with RFC 3493:  - Add some definitions to netinet/in6.h  - Include netinet/in6.h from netinet/in.h\n"
    },
    {
      "commit": "ec6c274da2bdaade68a2dda7bb8c6046fe29e23b",
      "tree": "3ada462b7e34ec30344846613c04b42e8dc8a791",
      "parents": [
        "5b67764a5ab31d1ec1e4a36d82b0001f3b5df519"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Wed Jun 17 14:30:33 2009 -0700"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Wed Jun 17 14:54:02 2009 -0700"
      },
      "message": "Removed non-standard declaration in cstring.\n\nAligned the list of the function declared in std:: to\nmatch gcc.\nIn the first cut, too many functions were included.\nThe test under system/extras/tests/bionic/libstdc++ already\nhas the correct (shorter) list.\n"
    },
    {
      "commit": "c52c174e412fa6c829cf6353ce8dbebdf710511f",
      "tree": "0a45a8dbd770b3a7222ff24105cff47ec0b1f978",
      "parents": [
        "040ae31701ea2583225b5ff9cc5b91de2719f7e8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 11 19:33:45 2009 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 16 18:55:37 2009 -0700"
      },
      "message": "Make IPv6 definitions comply with RFC 3493:\n - Add some definitions to netinet/in6.h\n - Include netinet/in6.h from netinet/in.h\n"
    },
    {
      "commit": "5b67764a5ab31d1ec1e4a36d82b0001f3b5df519",
      "tree": "6ecfdc5c1a9dfd12ff74cac4f553e26d8281b190",
      "parents": [
        "2f4ce43033ea7bd85d9529f6a6276859d88c783b",
        "9cfccefa055554c7e951741c01373a52a82d3fd6"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 16 08:37:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 16 08:37:54 2009 -0700"
      },
      "message": "am 9cfccefa: Update cleaned-up kernel headers\n\nMerge commit \u00279cfccefa055554c7e951741c01373a52a82d3fd6\u0027\n\n* commit \u00279cfccefa055554c7e951741c01373a52a82d3fd6\u0027:\n  Update cleaned-up kernel headers\n"
    },
    {
      "commit": "9cfccefa055554c7e951741c01373a52a82d3fd6",
      "tree": "56421adbdc571f580ea8b582d04ed4bd753f0721",
      "parents": [
        "3ddc15e10a6f5690e53e729c0da2c42f0eb944d1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 12 14:37:15 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 16 15:56:06 2009 +0200"
      },
      "message": "Update cleaned-up kernel headers\n"
    },
    {
      "commit": "bc3a5c26f1b9cf29da6abfc3e197258ef4c03362",
      "tree": "5044c0ebf690e102eef4842d94e81a8d8baf6388",
      "parents": [
        "0353195f344666256dba474a15c9ba22cf0cccc9"
      ],
      "author": {
        "name": "David Bartley",
        "email": "dtb@google.com",
        "time": "Tue Jun 02 18:27:28 2009 -0700"
      },
      "committer": {
        "name": "David Bartley",
        "email": "dtb@google.com",
        "time": "Mon Jun 15 21:36:03 2009 -0700"
      },
      "message": "Add LD_LIBRARY_PATH support to bionic\u0027s linker\n"
    },
    {
      "commit": "2f4ce43033ea7bd85d9529f6a6276859d88c783b",
      "tree": "488f27404927ea9d286567c61784843f409f646e",
      "parents": [
        "040ae31701ea2583225b5ff9cc5b91de2719f7e8",
        "3ddc15e10a6f5690e53e729c0da2c42f0eb944d1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Jun 14 20:49:29 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jun 14 20:49:29 2009 -0700"
      },
      "message": "am 3ddc15e1: Add new clean header for PPP on PPTP (VPN)\n\nMerge commit \u00273ddc15e10a6f5690e53e729c0da2c42f0eb944d1\u0027\n\n* commit \u00273ddc15e10a6f5690e53e729c0da2c42f0eb944d1\u0027:\n  Add new clean header for PPP on PPTP (VPN)\n"
    },
    {
      "commit": "3ddc15e10a6f5690e53e729c0da2c42f0eb944d1",
      "tree": "b99959de6b6c89c881a7cabc2a26d72013f4d025",
      "parents": [
        "bf8709f54b1eabbd4e9bb81e91b9385a9863f505"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 12 14:21:49 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 12 14:21:49 2009 +0200"
      },
      "message": "Add new clean header for PPP on PPTP (VPN)\n"
    },
    {
      "commit": "040ae31701ea2583225b5ff9cc5b91de2719f7e8",
      "tree": "7bcf04735ff1b9e7c0f91ab9547bfd121d0353aa",
      "parents": [
        "f24799580f205bbe7894d10f7f0a605839951a2d",
        "bf8709f54b1eabbd4e9bb81e91b9385a9863f505"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 04 22:43:23 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 04 22:43:23 2009 -0700"
      },
      "message": "am bf8709f5: bionic: update msm_camera.h header\n\nMerge commit \u0027bf8709f54b1eabbd4e9bb81e91b9385a9863f505\u0027\n\n* commit \u0027bf8709f54b1eabbd4e9bb81e91b9385a9863f505\u0027:\n  bionic: update msm_camera.h header\n"
    },
    {
      "commit": "bf8709f54b1eabbd4e9bb81e91b9385a9863f505",
      "tree": "37434c3ba55daf0bd944382fbff0aed8bb5af102",
      "parents": [
        "3a654b1e04d4275ae315cfe1b196998acf10052c"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 04 11:55:53 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 04 11:55:53 2009 -0700"
      },
      "message": "bionic: update msm_camera.h header\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "f24799580f205bbe7894d10f7f0a605839951a2d",
      "tree": "0a77834b5eba269db6e87c615518be0b38c777ea",
      "parents": [
        "1b02faeea6a2d5606349df179c4d19ec13fc43b0",
        "3a654b1e04d4275ae315cfe1b196998acf10052c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 03 13:00:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 03 13:00:20 2009 -0700"
      },
      "message": "am 3a654b1e: Revert \"Fix the C library initialization to avoid calling static C++ constructors twice.\"\n\nMerge commit \u00273a654b1e04d4275ae315cfe1b196998acf10052c\u0027\n\n* commit \u00273a654b1e04d4275ae315cfe1b196998acf10052c\u0027:\n  Revert \"Fix the C library initialization to avoid calling static C++ constructors twice.\"\n"
    },
    {
      "commit": "3a654b1e04d4275ae315cfe1b196998acf10052c",
      "tree": "79ce08ac573c6c5bd7d7a65f7fdc24237c00452a",
      "parents": [
        "03eabfe65e1e2c36f4d26c78a730fa19a3bdada3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 03 19:32:37 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 03 19:32:37 2009 +0200"
      },
      "message": "Revert \"Fix the C library initialization to avoid calling static C++ constructors twice.\"\n\nThis reverts commit 03eabfe65e1e2c36f4d26c78a730fa19a3bdada3.\n"
    },
    {
      "commit": "1b02faeea6a2d5606349df179c4d19ec13fc43b0",
      "tree": "f032ff107d0dac3925d047aa3f3c943f67316049",
      "parents": [
        "654476654eb3557bc2e96691dfb2574cf454352f",
        "03eabfe65e1e2c36f4d26c78a730fa19a3bdada3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 03 05:44:25 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 03 05:44:25 2009 -0700"
      },
      "message": "am 03eabfe6: Fix the C library initialization to avoid calling static C++ constructors twice.\n\nMerge commit \u002703eabfe65e1e2c36f4d26c78a730fa19a3bdada3\u0027\n\n* commit \u002703eabfe65e1e2c36f4d26c78a730fa19a3bdada3\u0027:\n  Fix the C library initialization to avoid calling static C++ constructors twice.\n"
    },
    {
      "commit": "03eabfe65e1e2c36f4d26c78a730fa19a3bdada3",
      "tree": "b965ea27e54b0833639227c619f6e35647c92510",
      "parents": [
        "0353195f344666256dba474a15c9ba22cf0cccc9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 28 15:54:03 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 02 23:27:44 2009 +0200"
      },
      "message": "Fix the C library initialization to avoid calling static C++ constructors twice.\n\nThe problem was due to the fact that, in the case of dynamic executables,\nthe dynamic linker calls the DT_PREINIT_ARRAY, DT_INIT and DT_INIT_ARRAY\nconstructors when loading shared libraries and dynamic executables,\n*before* calling the executable\u0027s entry point (i.e. arch-$ARCH/bionic/crtbegin_dynamic.c)\nwhich in turns call __libc_init() in libc.so, as defined by bionic/libc_init_dynamic.c\n\nThe latter did call these constructors array again, mistakenly.\n\nThe patch also updates the documentation of many related functions.\n\nAlso adds a new section to linker/README.TXT explaining restrictions on\nC library usage.\n\nThe patch has been tested on a Dream for stability issues with\nproprietary blobs:\n\n- H264 decoding works\n- Camera + Video recording works\n- GPS works\n- Sensors work\n\nThe tests in system/extra/tests/bionic/libc/common/test_static_cpp_mutex.cpp has been\nrun and shows the static C++ constructor being called only once.\n"
    },
    {
      "commit": "654476654eb3557bc2e96691dfb2574cf454352f",
      "tree": "0a77834b5eba269db6e87c615518be0b38c777ea",
      "parents": [
        "563b15dbfe8ac6dd7233753be6b942e0496e9da4",
        "0353195f344666256dba474a15c9ba22cf0cccc9"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 01 13:02:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 01 13:02:20 2009 -0700"
      },
      "message": "am 0353195f: linker: Give more context for failures during library dependency resolution.\n\nMerge commit \u00270353195f344666256dba474a15c9ba22cf0cccc9\u0027\n\n* commit \u00270353195f344666256dba474a15c9ba22cf0cccc9\u0027:\n  linker: Give more context for failures during library dependency resolution.\n"
    },
    {
      "commit": "0353195f344666256dba474a15c9ba22cf0cccc9",
      "tree": "79ce08ac573c6c5bd7d7a65f7fdc24237c00452a",
      "parents": [
        "2e85579c34047c305caf15fb0ebe02bf3d001d0e"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri May 29 17:30:25 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 01 12:55:48 2009 -0700"
      },
      "message": "linker: Give more context for failures during library dependency resolution.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "563b15dbfe8ac6dd7233753be6b942e0496e9da4",
      "tree": "1047498d30dd8f1aac9089c4b0f179443504fe24",
      "parents": [
        "e76de9a8cab4c9df7cb0b7ed34f7d687e1f35373",
        "2e85579c34047c305caf15fb0ebe02bf3d001d0e"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu May 28 12:38:04 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 28 12:38:04 2009 -0700"
      },
      "message": "am 2e85579c: linker: Make the errors reported by dlopen/dlsym be more useful.\n\nMerge commit \u00272e85579c34047c305caf15fb0ebe02bf3d001d0e\u0027\n\n* commit \u00272e85579c34047c305caf15fb0ebe02bf3d001d0e\u0027:\n  linker: Make the errors reported by dlopen/dlsym be more useful.\n"
    },
    {
      "commit": "e76de9a8cab4c9df7cb0b7ed34f7d687e1f35373",
      "tree": "36481a8a1de14e8bd8c51373ab60db5db521a36d",
      "parents": [
        "b489245af2968eb03db81f76451fa279296cb0b9",
        "49e55332784b82f7112ee7c1ea3c176c9dc32d7a"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu May 28 12:38:02 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 28 12:38:02 2009 -0700"
      },
      "message": "am 49e55332: libc: Add an intermediate version of the static libc without malloc\n\nMerge commit \u002749e55332784b82f7112ee7c1ea3c176c9dc32d7a\u0027\n\n* commit \u002749e55332784b82f7112ee7c1ea3c176c9dc32d7a\u0027:\n  libc: Add an intermediate version of the static libc without malloc\n"
    },
    {
      "commit": "b489245af2968eb03db81f76451fa279296cb0b9",
      "tree": "023fbc7e39aeb88e81233c01add18fb39a6693b7",
      "parents": [
        "4cab53af779783c811cca6d2705c48b9d081fcda",
        "ca122b0e34df0e8c485be0d3ab1b80f728b76276"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu May 28 12:38:00 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 28 12:38:00 2009 -0700"
      },
      "message": "am ca122b0e: libc: Cleanup the libc makefile.\n\nMerge commit \u0027ca122b0e34df0e8c485be0d3ab1b80f728b76276\u0027\n\n* commit \u0027ca122b0e34df0e8c485be0d3ab1b80f728b76276\u0027:\n  libc: Cleanup the libc makefile.\n"
    },
    {
      "commit": "2e85579c34047c305caf15fb0ebe02bf3d001d0e",
      "tree": "0fb54231b64d077f94b567acfbae3ecaaec672bc",
      "parents": [
        "49e55332784b82f7112ee7c1ea3c176c9dc32d7a"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 20 18:28:09 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 20:16:19 2009 -0700"
      },
      "message": "linker: Make the errors reported by dlopen/dlsym be more useful.\n\nChanged it so that when the linker generates error messages, they are\nscribbled away into a buffer that dlfcn and friends can read from.\n\nSince the error messages are generetad with snprintf, and snprintf\nMAY call malloc during some code paths, we now link against a version\nof libc that does not contain malloc/free/realloc/calloc. We then define\nmalloc and friends in the dynamic loader, and make them abort() if they\nare ever called.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "49e55332784b82f7112ee7c1ea3c176c9dc32d7a",
      "tree": "1121d44ca93d523efffb50a140b323e025b0b03f",
      "parents": [
        "ca122b0e34df0e8c485be0d3ab1b80f728b76276"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 10:52:37 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 20:16:19 2009 -0700"
      },
      "message": "libc: Add an intermediate version of the static libc without malloc\n\nFor now, this will only used by the dynamic loader to ensure that\nmalloc and friends are never called.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "ca122b0e34df0e8c485be0d3ab1b80f728b76276",
      "tree": "c017fc67faa0758cc1bf664dda864b3c37f0ef21",
      "parents": [
        "cdb68bf8ce26448cfe173d86f1c074e167c3420f"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 10:52:37 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 27 20:16:19 2009 -0700"
      },
      "message": "libc: Cleanup the libc makefile.\n\nRemoves a lot of redundant code, and reorganizes the file. We first\nsetup all the comomn variables we may need, and then define the\nactual libraries that need to be generated.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "4cab53af779783c811cca6d2705c48b9d081fcda",
      "tree": "1fb39cf7eb0f5a8b8c83ff0fec25c097dc2dad07",
      "parents": [
        "1ff2ee440bddc84e3216de3c9965943e0b2f020a",
        "cdb68bf8ce26448cfe173d86f1c074e167c3420f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 03:31:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 27 03:31:12 2009 -0700"
      },
      "message": "am cdb68bf8: Merge change 2470 into donut\n\nMerge commit \u0027cdb68bf8ce26448cfe173d86f1c074e167c3420f\u0027\n\n* commit \u0027cdb68bf8ce26448cfe173d86f1c074e167c3420f\u0027:\n  Fix getservent() so that it returns s_port in network byte order.\n"
    },
    {
      "commit": "cdb68bf8ce26448cfe173d86f1c074e167c3420f",
      "tree": "1b726243e78842727d932bd197010441589232fc",
      "parents": [
        "5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd",
        "2735b33519595da5d51b79757ccce730021a9228"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 03:29:35 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 03:29:35 2009 -0700"
      },
      "message": "Merge change 2470 into donut\n\n* changes:\n  Fix getservent() so that it returns s_port in network byte order. Also add a new document detailing known issues in the C library.\n"
    },
    {
      "commit": "1ff2ee440bddc84e3216de3c9965943e0b2f020a",
      "tree": "020e7a3b9bb8cc37790b2cbaf799157b8de42ce5",
      "parents": [
        "b572dc4b518c7283eb60f43c927b9149f31366e3",
        "5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 01:50:28 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 27 01:50:28 2009 -0700"
      },
      "message": "am 5c106fca: Merge change 1852 into donut\n\nMerge commit \u00275c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd\u0027\n\n* commit \u00275c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd\u0027:\n  Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation\n"
    },
    {
      "commit": "5c106fcaa5b9d0a3ebeb2e8cdca589129d6a7ebd",
      "tree": "ba92c6a96c85fa56dd5201318266db0bf161fa09",
      "parents": [
        "94a144eabd1c7477e77e81e83aa04d43c8a79791",
        "0ba91ed3ca9e7340a2c55303034c3378967e2327"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 01:48:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 01:48:26 2009 -0700"
      },
      "message": "Merge change 1852 into donut\n\n* changes:\n  Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation This patch uses \"#if ANDROID\" instead of \"#if 1\" in the __cxa_finalize() fix\n"
    },
    {
      "commit": "b572dc4b518c7283eb60f43c927b9149f31366e3",
      "tree": "6e98476f5a9cdf9d6a0dbec99c58ae80c810632f",
      "parents": [
        "bdde630b4a669995bb1e1716bc8235c86f412850",
        "94a144eabd1c7477e77e81e83aa04d43c8a79791"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 26 17:55:26 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 26 17:55:26 2009 -0700"
      },
      "message": "am 94a144ea: add msm_camera.h header and .gitignore file to bionic\n\nMerge commit \u002794a144eabd1c7477e77e81e83aa04d43c8a79791\u0027\n\n* commit \u002794a144eabd1c7477e77e81e83aa04d43c8a79791\u0027:\n  add msm_camera.h header and .gitignore file to bionic\n"
    },
    {
      "commit": "bdde630b4a669995bb1e1716bc8235c86f412850",
      "tree": "b02ba010975acafcc13c5e071a932e83a174869a",
      "parents": [
        "d7f5035959ab78550b004200083fd492944bf9c7",
        "1c8e10945eb1ab1352f73c7fb026b99397a8ca70"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 26 17:51:49 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 26 17:51:49 2009 -0700"
      },
      "message": "am 1c8e1094: update msm_adsp.h header\n\nMerge commit \u00271c8e10945eb1ab1352f73c7fb026b99397a8ca70\u0027\n\n* commit \u00271c8e10945eb1ab1352f73c7fb026b99397a8ca70\u0027:\n  update msm_adsp.h header\n"
    },
    {
      "commit": "94a144eabd1c7477e77e81e83aa04d43c8a79791",
      "tree": "ff9f894e0981512e88fdd7f97354a2a3688d48b9",
      "parents": [
        "1c8e10945eb1ab1352f73c7fb026b99397a8ca70"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Apr 30 12:29:52 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 26 17:06:24 2009 -0700"
      },
      "message": "add msm_camera.h header and .gitignore file to bionic\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "1c8e10945eb1ab1352f73c7fb026b99397a8ca70",
      "tree": "7607fbff6a8a0de0ae38694b5b12f786fd4e406a",
      "parents": [
        "8215679b355efe3829bab571bd566dc818ea4ccc"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed May 20 16:51:12 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 26 17:06:21 2009 -0700"
      },
      "message": "update msm_adsp.h header\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "2735b33519595da5d51b79757ccce730021a9228",
      "tree": "7839125a9beb3a38e33950d22b5495a3ab66c19d",
      "parents": [
        "8215679b355efe3829bab571bd566dc818ea4ccc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 26 23:54:37 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 27 00:01:11 2009 +0200"
      },
      "message": "Fix getservent() so that it returns s_port in network byte order.\nAlso add a new document detailing known issues in the C library.\n"
    },
    {
      "commit": "d7f5035959ab78550b004200083fd492944bf9c7",
      "tree": "dee3bbcb825b13cb8fa44995a0a69cc78a3687e0",
      "parents": [
        "38460b45bca40e4d8336caf7021097fd9d19cbb6",
        "8215679b355efe3829bab571bd566dc818ea4ccc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 26 10:11:25 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 26 10:11:25 2009 -0700"
      },
      "message": "am 8215679b: Fix the parsing of the .fini_array in the dynamic linker (it should happen in reverse order). Also add a small design overview document for the linker. The latter contains details on how the initialization/finalization is supposed to work.\n\nMerge commit \u00278215679b355efe3829bab571bd566dc818ea4ccc\u0027\n\n* commit \u00278215679b355efe3829bab571bd566dc818ea4ccc\u0027:\n  Fix the parsing of the .fini_array in the dynamic linker (it should happen in reverse order).\n"
    },
    {
      "commit": "8215679b355efe3829bab571bd566dc818ea4ccc",
      "tree": "2f69e2ec0c696c19668f8f05ec91b50ad24ebecd",
      "parents": [
        "e5446feb21a991426fb683d077a1a8ca5831ac0f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon May 18 14:37:41 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 26 11:16:28 2009 +0200"
      },
      "message": "Fix the parsing of the .fini_array in the dynamic linker (it should happen in reverse order).\nAlso add a small design overview document for the linker. The latter contains details on\nhow the initialization/finalization is supposed to work.\n"
    },
    {
      "commit": "38460b45bca40e4d8336caf7021097fd9d19cbb6",
      "tree": "4b43b012d8426e33deecbf215e922f0279713e61",
      "parents": [
        "24a41091f42dc14dc84d41105a73c4f43fc2f3b2",
        "e5446feb21a991426fb683d077a1a8ca5831ac0f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon May 25 08:36:49 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 25 08:36:49 2009 -0700"
      },
      "message": "am e5446feb: Add \u003clinux/ipsec.h\u003e and \u003clinux/if_pppolac.h\u003e for VPN support.\n\nMerge commit \u0027e5446feb21a991426fb683d077a1a8ca5831ac0f\u0027\n\n* commit \u0027e5446feb21a991426fb683d077a1a8ca5831ac0f\u0027:\n  Add \u003clinux/ipsec.h\u003e and \u003clinux/if_pppolac.h\u003e for VPN support.\n"
    },
    {
      "commit": "e5446feb21a991426fb683d077a1a8ca5831ac0f",
      "tree": "d450c459c5cd3de7b2a9cdc7c0e42d5190a3813f",
      "parents": [
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 13:00:10 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 13:00:10 2009 +0200"
      },
      "message": "Add \u003clinux/ipsec.h\u003e and \u003clinux/if_pppolac.h\u003e for VPN support.\n\nAlso update tools/update_all.py to not use perforce add/edit/delete commands automatically now that we\u0027re using git\n"
    },
    {
      "commit": "0ba91ed3ca9e7340a2c55303034c3378967e2327",
      "tree": "a0d9e37c871decea29efca95bd0b6c292b4bfa93",
      "parents": [
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 11:42:52 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 11:42:52 2009 +0200"
      },
      "message": "Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation\nThis patch uses \"#if ANDROID\" instead of \"#if 1\" in the __cxa_finalize() fix\n"
    },
    {
      "commit": "24a41091f42dc14dc84d41105a73c4f43fc2f3b2",
      "tree": "5eecf58f62f61e94f9c404836775cf91290d1772",
      "parents": [
        "a48fa7f4deb6ba703e1da55143771476d4e668ce",
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 19 02:53:26 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 19 02:53:26 2009 -0700"
      },
      "message": "am 8169573c: Add \u003ccmath\u003e standard C++ header. This is needed for upcoming STLport experimentation.\n\nMerge commit \u00278169573c8744ee3a484ea74bd5e06a8a4f708e37\u0027\n\n* commit \u00278169573c8744ee3a484ea74bd5e06a8a4f708e37\u0027:\n  Add \u003ccmath\u003e standard C++ header.\n"
    },
    {
      "commit": "8169573c8744ee3a484ea74bd5e06a8a4f708e37",
      "tree": "bb3a8c126cedbdd584a96faeb50e8ea19b9f3ba8",
      "parents": [
        "d386afcc41e92c96778d9b1a498199f48fa2d4aa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon May 18 23:23:32 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon May 18 23:34:13 2009 +0200"
      },
      "message": "Add \u003ccmath\u003e standard C++ header.\nThis is needed for upcoming STLport experimentation.\n"
    },
    {
      "commit": "a48fa7f4deb6ba703e1da55143771476d4e668ce",
      "tree": "ef345673adaec0cc65724ca430af240244e225c8",
      "parents": [
        "a0508577c9b1fcf89d120ece88fe2080463d4d4d"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri May 15 13:33:20 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri May 15 13:46:55 2009 -0700"
      },
      "message": "Add standalone_months field to libc strftime().\n\nReplicate my change 722a5c0462f38827f4097065bfc3826b9e0e9fb4 into\nbionic in an attempt to fix the build.\n"
    },
    {
      "commit": "a0508577c9b1fcf89d120ece88fe2080463d4d4d",
      "tree": "0a6087bdf93122bd1151f8305f72b5601a662042",
      "parents": [
        "3ccce08bf817a06c17f748cd263a52238c8afe96",
        "d386afcc41e92c96778d9b1a498199f48fa2d4aa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 14 17:14:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 14 17:14:08 2009 -0700"
      },
      "message": "am d386afcc: revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor. I don\\\u0027t have the time to investigate why right now, so a revert is preferred. Damn...\n\nMerge commit \u0027d386afcc41e92c96778d9b1a498199f48fa2d4aa\u0027\n\n* commit \u0027d386afcc41e92c96778d9b1a498199f48fa2d4aa\u0027:\n  revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor.\n"
    },
    {
      "commit": "d386afcc41e92c96778d9b1a498199f48fa2d4aa",
      "tree": "899fb5159aa103e66597c9b468db4b5cddddbccc",
      "parents": [
        "3e16f84fcad103c97a2df4a58948835277043569"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri May 15 02:11:12 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri May 15 02:11:12 2009 +0200"
      },
      "message": "revert to previous implementation of __aeabi_atexit() since the new one seems to crash a static ICU String destructor.\nI don\u0027t have the time to investigate why right now, so a revert is preferred. Damn...\n"
    },
    {
      "commit": "3ccce08bf817a06c17f748cd263a52238c8afe96",
      "tree": "4327609bb3e87942ab21cf0ed961226bb0ea607e",
      "parents": [
        "cd64095ad150a8ec8ab619b1120d730b99952892",
        "3e16f84fcad103c97a2df4a58948835277043569"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 14 15:39:55 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 14 15:39:55 2009 -0700"
      },
      "message": "am 3e16f84f: Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document.\n\nMerge commit \u00273e16f84fcad103c97a2df4a58948835277043569\u0027\n\n* commit \u00273e16f84fcad103c97a2df4a58948835277043569\u0027:\n  Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document.\n"
    },
    {
      "commit": "3e16f84fcad103c97a2df4a58948835277043569",
      "tree": "e959184f911b2d3cf6aa2b0d183179ea13996188",
      "parents": [
        "d1b40d8c69dfca94185ea9231f6cb16f70c02e39"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 14 14:25:26 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 14 14:25:26 2009 +0200"
      },
      "message": "Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined by the C++ ABI for ARM document.\n"
    },
    {
      "commit": "cd64095ad150a8ec8ab619b1120d730b99952892",
      "tree": "05d7ed38e5ae348123c3cee85173b811a33e29e4",
      "parents": [
        "6c9f88d15c3d3c85be03694b1b114c4432990b11",
        "d1b40d8c69dfca94185ea9231f6cb16f70c02e39"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue May 12 11:31:39 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 11:31:39 2009 -0700"
      },
      "message": "am d1b40d8: linker: Compute symbol name before lookup so we can also use\n\nMerge commit \u0027d1b40d8c69dfca94185ea9231f6cb16f70c02e39\u0027\n\n* commit \u0027d1b40d8c69dfca94185ea9231f6cb16f70c02e39\u0027:\n  linker: Compute symbol name before lookup so we can also use it for error msg\n"
    },
    {
      "commit": "d1b40d8c69dfca94185ea9231f6cb16f70c02e39",
      "tree": "51044c6b31d8fc43a588c5350ca966d3bccf4ba7",
      "parents": [
        "5e563700380eade647f347669ea61dbb0ede9814"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue May 12 10:59:09 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue May 12 10:59:09 2009 -0700"
      },
      "message": "linker: Compute symbol name before lookup so we can also use it for error msg\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "6c9f88d15c3d3c85be03694b1b114c4432990b11",
      "tree": "040f18be01f9f076e362db31e3d12a0f6dfdede6",
      "parents": [
        "bc89169b5e47bbbbdc85c6b129eb9a887a0e8891",
        "5e563700380eade647f347669ea61dbb0ede9814"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 07:13:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 05 07:13:33 2009 -0700"
      },
      "message": "am 5e56370: change getaddrinfo() implementation to match GLibc.\n\nMerge commit \u00275e563700380eade647f347669ea61dbb0ede9814\u0027\n\n* commit \u00275e563700380eade647f347669ea61dbb0ede9814\u0027:\n  change getaddrinfo() implementation to match GLibc.\n"
    },
    {
      "commit": "5e563700380eade647f347669ea61dbb0ede9814",
      "tree": "739599d59b328c4f0880196f0d57f0d7c7f3a0f0",
      "parents": [
        "85a01ffba337b123436f57eba4daae38c7c90d1e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 15:50:24 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 15:50:24 2009 +0200"
      },
      "message": "change getaddrinfo() implementation to match GLibc.\n\nthe issue is that the BSD implementation doesn\u0027t accept a call like:\n\n  getaddrinfo(SERVER_NAME, \"9999\", NULL, \u0026res);\n\nbecause if will reject a numerical string in the second parameter if no hints are explicitely\nprovided. This technically doesn\u0027t violate POSIX but might make porting Linux software a bit\ndifficult. For more details see:\n\nhttp://groups.google.com/group/android-ndk/browse_thread/thread/818ab9c53f24c87\n\nalso comment debugging printf() calls which shouldn\u0027t be there.\n"
    },
    {
      "commit": "bc89169b5e47bbbbdc85c6b129eb9a887a0e8891",
      "tree": "154fe12312d2631532a6446f41b93fa8b67ac18a",
      "parents": [
        "9122f51d4484f5e5109547de62c3e4522fa4a163",
        "85a01ffba337b123436f57eba4daae38c7c90d1e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 23:01:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 01 23:01:54 2009 -0700"
      },
      "message": "am 85a01ff: Merge change 57 into donut\n\nMerge commit \u002785a01ffba337b123436f57eba4daae38c7c90d1e\u0027\n\n* commit \u002785a01ffba337b123436f57eba4daae38c7c90d1e\u0027:\n  Add the domain search list for VPN connection.\n"
    },
    {
      "commit": "85a01ffba337b123436f57eba4daae38c7c90d1e",
      "tree": "a6dec2c8e71c0199a8a4a6bad392ffc42e179c62",
      "parents": [
        "ba52b3092f361580a5dea7ab8fbe2a227b55ee43",
        "aeae1f5b6c6cf22c2854e07f11555591c5430607"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 14:28:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 14:28:28 2009 -0700"
      },
      "message": "Merge change 57 into donut\n\n* changes:\n  Add the domain search list for VPN connection.   The current solution is to read the net.dns.search property, and expand the list during the resolve initialization. In the future, we could implement search list per process.\n"
    },
    {
      "commit": "9122f51d4484f5e5109547de62c3e4522fa4a163",
      "tree": "e8259553023c47517352f1946527de94610d2953",
      "parents": [
        "3707ba51324c2159d37e00bf4e45c8583fff9cca",
        "ba52b3092f361580a5dea7ab8fbe2a227b55ee43"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri May 01 14:09:44 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 01 14:09:44 2009 -0700"
      },
      "message": "am ba52b30: Increase the limit of loaded shared libraries from 64 to 96 \n\nMerge commit \u0027ba52b3092f361580a5dea7ab8fbe2a227b55ee43\u0027\n\n* commit \u0027ba52b3092f361580a5dea7ab8fbe2a227b55ee43\u0027:\n  Increase the limit of loaded shared libraries from 64 to 96 This change is required for OpenCORE 2.0\n"
    },
    {
      "commit": "ba52b3092f361580a5dea7ab8fbe2a227b55ee43",
      "tree": "471f6de66b75e1659a425a5c6b136fae9763a290",
      "parents": [
        "d2c9dcc9265e66f6432ec39dcc7378b944449e60"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 30 20:37:36 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 30 20:37:36 2009 -0700"
      },
      "message": "Increase the limit of loaded shared libraries from 64 to 96 This change is required for OpenCORE 2.0\nThis is the same as Change 71 in master branch.\n"
    },
    {
      "commit": "3707ba51324c2159d37e00bf4e45c8583fff9cca",
      "tree": "e8259553023c47517352f1946527de94610d2953",
      "parents": [
        "5a2edd681caf0e923923fce4e766e8f24bb7a63a",
        "d2c9dcc9265e66f6432ec39dcc7378b944449e60"
      ],
      "author": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Wed Apr 29 11:02:39 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 29 11:02:39 2009 -0700"
      },
      "message": "am d2c9dcc: libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BI\n\nMerge commit \u0027d2c9dcc9265e66f6432ec39dcc7378b944449e60\u0027\n\n* commit \u0027d2c9dcc9265e66f6432ec39dcc7378b944449e60\u0027:\n  libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BIONIC_LIBC\n"
    },
    {
      "commit": "d2c9dcc9265e66f6432ec39dcc7378b944449e60",
      "tree": "5813f5bf0b7392f2b5d852240b455fd311df5fef",
      "parents": [
        "61663573dd7de5ed6799af7f3df1940add84718b"
      ],
      "author": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Thu Apr 23 15:50:03 2009 -0700"
      },
      "committer": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Fri Apr 24 14:13:53 2009 -0700"
      },
      "message": "libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BIONIC_LIBC\n\nWe\u0027re soon going to stop using TARGET_BUILD_TYPE\u003d\u003ddebug to debug\nnative modules.\n\nSigned-off-by: Dave Bort \u003cdbort@android.com\u003e\n"
    },
    {
      "commit": "5a2edd681caf0e923923fce4e766e8f24bb7a63a",
      "tree": "eb4461fe869c14fad414f560b4e21792ab7dc2d7",
      "parents": [
        "68f25c31f810ff4b01a39399df953918de65737f",
        "61663573dd7de5ed6799af7f3df1940add84718b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 18:33:11 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 18:33:11 2009 -0700"
      },
      "message": "Merge donut into master\n"
    },
    {
      "commit": "61663573dd7de5ed6799af7f3df1940add84718b",
      "tree": "84ee971b987d2208048c41fb7e5eafa5364c25cd",
      "parents": [
        "89b62a18a00f89b0b5f215a1f461aa432421fb63",
        "6ed739e1d3b5088bf1cd56f09ba3afba792b969d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 17:56:50 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 17:56:50 2009 -0700"
      },
      "message": "merge cupcake into donut\n"
    },
    {
      "commit": "68f25c31f810ff4b01a39399df953918de65737f",
      "tree": "eb4461fe869c14fad414f560b4e21792ab7dc2d7",
      "parents": [
        "51cec57e44eb534401af08664125bd6d16d64486",
        "89b62a18a00f89b0b5f215a1f461aa432421fb63"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 17:12:08 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 17:12:08 2009 -0700"
      },
      "message": "Merge donut into master\n"
    },
    {
      "commit": "aeae1f5b6c6cf22c2854e07f11555591c5430607",
      "tree": "e11d62b5e4a567c87357bfc952653c5c52658be2",
      "parents": [
        "00a18f62a7c97299cea017578ec7ec179215492b"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Apr 09 18:09:50 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Apr 13 10:41:17 2009 +0800"
      },
      "message": "Add the domain search list for VPN connection.\n  The current solution is to read the net.dns.search property,\nand expand the list during the resolve initialization. In the\nfuture, we could implement search list per process.\n\nUpdate: refine the code accordingly.\n\nUpdate: remove unnecessary code.\n\nUpdate: remove the unused variable.\n"
    },
    {
      "commit": "51cec57e44eb534401af08664125bd6d16d64486",
      "tree": "eb4461fe869c14fad414f560b4e21792ab7dc2d7",
      "parents": [
        "862ed2d3db38e3c7e9e959605d7fa7d14a6ba624",
        "ee4036965691fbb7b8053299a2cb85a4d7f7a38b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 15:17:20 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 15:17:20 2009 -0700"
      },
      "message": "Merge change 71\n\n* changes:\n  Increase the limit of loaded shared libraries from 64 to 96 This change is required for OpenCORE 2.0\n"
    },
    {
      "commit": "ee4036965691fbb7b8053299a2cb85a4d7f7a38b",
      "tree": "3b6705b85026211f4d2543b30b4bd976a4b11ddb",
      "parents": [
        "d99f61fda8234414172b87230908cd2f64c3a6f4"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Apr 09 18:54:21 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Apr 10 14:23:20 2009 -0700"
      },
      "message": "Increase the limit of loaded shared libraries from 64 to 96\nThis change is required for OpenCORE 2.0\n\n\tmodified:   linker/linker.c\n"
    },
    {
      "commit": "862ed2d3db38e3c7e9e959605d7fa7d14a6ba624",
      "tree": "85449c9474b6d4603c2fe52b8eb8874950e6a594",
      "parents": [
        "d99f61fda8234414172b87230908cd2f64c3a6f4",
        "69b1a8ac50adbd74c45c3d4d07384e9107a4d12d"
      ],
      "author": {
        "name": "Niko Catania",
        "email": "",
        "time": "Fri Apr 10 10:55:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 10 10:55:24 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-master\u0027\n"
    }
  ],
  "next": "69b1a8ac50adbd74c45c3d4d07384e9107a4d12d"
}
