)]}'
{
  "log": [
    {
      "commit": "cb7e8c5ef3f5f60a848e469ed40610c8946fe7ac",
      "tree": "57f834d14915d4a63edf62aa0026676064baba8f",
      "parents": [
        "ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 17:19:07 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 17:20:29 2010 -0700"
      },
      "message": "libc: update alarm() implementation to return 0 on error.\n\nThis matches the GLibc behaviour, and allows alarm(0xFFFFFFFF) to return 0.\n\nChange-Id: I419aa71b27d6bb2015d15ba6b6112bf62eadcbb8\n"
    },
    {
      "commit": "ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4",
      "tree": "938dc20fe75d7fcedb7c11c7c44f68aa783463e7",
      "parents": [
        "d466780c7cedb41edcf13f28ad900556c6aaa5b2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 16:52:27 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 16:52:27 2010 -0700"
      },
      "message": "libc: fix fstatfs() implementation.\n\nThe syscall expects the size of the buffer as the second argument.\n\nChange-Id: I99ede2fec7fcd385ca03ff022c2cffa4297bea8d\n"
    },
    {
      "commit": "519763265ec0b634bd9c264a0aca034882458ecc",
      "tree": "263dc7f4fa4256869cea19e6ea8a077d29bd95ad",
      "parents": [
        "a02b93bd75a9d156117264d88069566e447397e2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:10:14 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 02 15:09:57 2010 -0700"
      },
      "message": "libc: Fix sem_post() implementation to wake up all waiting threads.\n\nThis also allows us to optimize the case where we increment an\nuncontended semaphore (no need to call futex_wake() then).\n\nChange-Id: Iad48efe8551dc66dc89d3e3f18c001e5a6c1939f\n"
    },
    {
      "commit": "a02b93bd75a9d156117264d88069566e447397e2",
      "tree": "82f11630b57fc7a9defa24b8e2955a5614275d1c",
      "parents": [
        "0621a279adfb981ea1f0564e7fc8280cda78e043"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:20:22 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:20:22 2010 -0700"
      },
      "message": "libc: add sanity checks to pthread_mutex_destroy()\n\nChange-Id: Iddb2204fa792fa9aca5f19838926dddbb09b74a2\n"
    },
    {
      "commit": "fa5755ae980b6f4ac5df37b263ba20f472db31ca",
      "tree": "94c1afd02e159abc047f22acb8b5a3214c16d45a",
      "parents": [
        "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
        "21baae3d710df1ea85bf21552a7528e8994cad06"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jun 23 17:56:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 23 17:56:38 2010 -0700"
      },
      "message": "Merge \"Add clean headers for 7x30 video codec.\" into gingerbread"
    },
    {
      "commit": "21baae3d710df1ea85bf21552a7528e8994cad06",
      "tree": "65c14ca9ee589f6518ee02f677bf4f89833ccd40",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jun 23 16:17:58 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jun 23 16:17:58 2010 -0700"
      },
      "message": "Add clean headers for 7x30 video codec.\n\nChange-Id: Id4faa5bacb03cc42377527e05c53c6392c776e7d\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "6a9b888d7c4b246f6f66360789c72b754ff85021",
      "tree": "d27e4487c13f200d4cfe193f950e25a01efa7743",
      "parents": [
        "6a09cfd9f916e3a60de707ff0806cdeb143d77a4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 18 14:47:22 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 18 16:07:10 2010 -0700"
      },
      "message": "Allow static C++ destructors to be properly called on dlclose().\n\nWith this patch, _and_ an upcoming build/ patch, the destruction\nof static C++ objects contained in shared libraries will happen\nproperly when dlclose() is called.\n\nNote that this change introduces crtbegin_so.S and crtend_so.S which\nare currently ignored by the build system.\n\n+ move definition of __dso_handle to the right place\n  (before that, all shared libraries used the __dso_handle\n   global variable from the C library).\n\n  Note that we keep a \u0027weak\u0027 __dso_handle in aeabi.c to avoid\n  breaking the build until the next patch to build/core/combo/\n  appears. We will be able to remove that later.\n\n+ move bionic/aeabi.c to arch-arm/bionic/ (its proper location)\n\nChange-Id: Ie771aa204e3acbdf02fd30ebd4150373a1398f39\nNOTE: The NDK will need to be modified to enable this feature in\n      the shared libraries that are generated through it.\n"
    },
    {
      "commit": "3527fd6f0df794207215790321824b7844cc712d",
      "tree": "bf295d17cdd7dfccd75ec314e02f93d3e1cd125a",
      "parents": [
        "da3019b55305ce51b1b483d8727641e791ce0941"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 14 17:18:35 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 15 07:04:41 2010 -0700"
      },
      "message": "wchar.h: improve wchar_t support in Bionic\n\nChange-Id: Iffd41046fd0933c66542abf7627a1569522dfcb2\n"
    },
    {
      "commit": "da3019b55305ce51b1b483d8727641e791ce0941",
      "tree": "c9bd76c757d8689bc2367bb0fdf318fbe3c7d060",
      "parents": [
        "ecb6d4133477fef90c2fa23a40637d3c62681ee0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:37:34 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:40:02 2010 -0700"
      },
      "message": "libc: add missing truncate() declaration\n\nChange-Id: Icb3601bbc9365b75b05ff443a39192f9cd3cbfb7\n"
    },
    {
      "commit": "ecb6d4133477fef90c2fa23a40637d3c62681ee0",
      "tree": "d2053e198f32b1a389534ca6d019d1c75fdb8088",
      "parents": [
        "6c8a2f2a5bc8d612ee953f528f2b5eb35983656a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 13:30:25 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:39:39 2010 -0700"
      },
      "message": "libc: Add missing \u003ctermio.h\u003e header\n\nChange-Id: Id4e020ed330b3eabf09324f9b6d44d3a0f336d87\n"
    },
    {
      "commit": "6c8a2f2a5bc8d612ee953f528f2b5eb35983656a",
      "tree": "7dd45d3e3162220578e93a6cb7244b4209b1c7c5",
      "parents": [
        "038fbae518e904c7aba64779714a22dbeeb90887"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jun 10 23:34:24 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 13:49:09 2010 -0700"
      },
      "message": "libc: remove cutils dependencies\n\nWe simply copy the stuff we need from cutils headers.\n\nA future patch will change cutils to include the private \u003cbionic_atomic_inline.h\u003e\n\nChange-Id: Ib6fd9a03bc9e337ce867bd606dc94c2b4438480a\n"
    },
    {
      "commit": "038fbae518e904c7aba64779714a22dbeeb90887",
      "tree": "713fecf819f653c56c3f8b2bae0e8e86a7afa2e6",
      "parents": [
        "9205fdf8c689a9cb27cfb33aeb58789c7da75788"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 18:15:57 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 18:15:57 2010 -0700"
      },
      "message": "sysconf(): Fix line parser for /proc files.\n\nChange-Id: I2678010ee95933de19c8a8e3b2fe65ceb9b86400\n"
    },
    {
      "commit": "9205fdf8c689a9cb27cfb33aeb58789c7da75788",
      "tree": "0b1d5d6f72a51543e029d5422702ad3f8bbc6cc3",
      "parents": [
        "2beac0f5c67470611629e4fe4c8e495232ff63fa"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Jun 04 08:14:44 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 15:52:28 2010 -0700"
      },
      "message": "Add missing termios defns to bring on par with ARM - DO NOT MERGE\n\nChange-Id: I6e16e7ab117b6df07ef24f092de1511fe1e9e7b1\n"
    },
    {
      "commit": "410b2ae7fbff36db1d35e5765b2c79b8b6b7ad5b",
      "tree": "196db252e67e890c2d324da02df773a05d604efe",
      "parents": [
        "506b13d910a1a603b29fbc5a9ba41ba4c533b14c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 14:35:29 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 14:35:29 2010 -0700"
      },
      "message": "Add sincosl() function to bionic. So that sincos optimization can - DO NOT MERGE\nbe enabled.\n\nChange-Id: I672cb319689aa4fb3f1f7cd868dda76842bebae9\n"
    },
    {
      "commit": "506b13d910a1a603b29fbc5a9ba41ba4c533b14c",
      "tree": "b59be2855b5ebc4129d5c9e02dc1df4b9789c73d",
      "parents": [
        "b8e6c50cfa2d4c4b73e071d0e836a2667db010b1"
      ],
      "author": {
        "name": "Jing Yu",
        "email": "jingyu@google.com",
        "time": "Thu May 20 20:25:48 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 13:24:22 2010 -0700"
      },
      "message": "Remove a gcc-4.5 compilation warning:\nbionic/libc/include/../include/stdlib.h: In function \u0027int grantpt(int)\u0027:\nbionic/libc/include/../include/stdlib.h:138:23: warning: parameter \u0027__fd\u0027 set but not used [-Wunused-but-set-parameter]\n\nBy adding __attribute((unused)) to __fd, the warning is gone, and this\nattribute is compatible with gcc-4.4.0, gcc-4.3.1 gcc-4.2.1.\nThere is no any side effect.\n\nChange-Id: I385f0f4da1013ffd1499e391eac9123aafe1f7a5\n"
    },
    {
      "commit": "b8e6c50cfa2d4c4b73e071d0e836a2667db010b1",
      "tree": "f9226eca1f1bce43e0e483a2a4713af2f414911f",
      "parents": [
        "aa4b1d042927872224e4bf5d22e4db5367e389fa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 25 09:54:33 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 13:18:29 2010 -0700"
      },
      "message": "Fix setjmp()/longjmp() to save FP registers on ARMv7. - DO NOT MERGE\n\nChange-Id: I3a0c2c05e295ac05ed51a531dabda668be204ca0\n"
    },
    {
      "commit": "aa4b1d042927872224e4bf5d22e4db5367e389fa",
      "tree": "de40a80b8f9d1d2dd6a75b45901927378a1aed45",
      "parents": [
        "6304d8b21891fd0cb7b5a4c25159a3d3b1709d62"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 20 10:55:45 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 13:12:15 2010 -0700"
      },
      "message": "Add missing sysinfo() implementation (already declared in \u003csys/sysinfo.h\u003e) - DO NOT MERGE\n\nChange-Id: Iac4eb5911ffe4a7ab72b84df44e907685ac816af\n"
    },
    {
      "commit": "6304d8b21891fd0cb7b5a4c25159a3d3b1709d62",
      "tree": "8ab9c2bf6022f139b7af2eabda11846abf684171",
      "parents": [
        "a8a21488630980c1d2a2152d0ac39bd7978879e2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 02 18:12:12 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 08 17:04:49 2010 -0700"
      },
      "message": "Use private futexes for semaphores, unless they are initialized with pshared !\u003d 0.\n\nChange-Id: I534e36a7171cd37037ae03b910ba71ea6968286d\nNote: previously, sem_init() would return an error if pshared !\u003d 0.\n"
    },
    {
      "commit": "a8a21488630980c1d2a2152d0ac39bd7978879e2",
      "tree": "aa2c3da5f3cfb2eb44933b5126984940b2c02e59",
      "parents": [
        "fcd00ebbdf3e7f4e1e7782a65ae10fb0fc03a1aa",
        "7b6e6fa57240466c2728d553be136f800600dd71"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jun 03 15:05:04 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jun 03 15:05:04 2010 -0700"
      },
      "message": "resolved conflicts for merge of 7b6e6fa5 to kraken\n\nChange-Id: I2b9b80a7fa32c56be2b85ff8be0d6e7ac1848afe\n"
    },
    {
      "commit": "7b6e6fa57240466c2728d553be136f800600dd71",
      "tree": "5744295128fa6b7b03377c8c7ab3c2df5af16cf5",
      "parents": [
        "8e1ee7fd01986825074ececd39e8c2a5ebc907e0",
        "f982f038329f7da7de5853c9d789ab138a4bcf16"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 14:39:20 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 14:39:20 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ib7fc9c6f79f9b13e2175da137005d8968ea85eaf\n"
    },
    {
      "commit": "f982f038329f7da7de5853c9d789ab138a4bcf16",
      "tree": "8f555e4c44b96d281460986a1d4c7c938523b22a",
      "parents": [
        "a910abcd194830d2d113b3e183eb7df4d36cd92e",
        "78c1c04ced772298be8bdb5a94b6ce491bb9b3e1"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Jun 03 13:11:52 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jun 03 13:11:52 2010 -0700"
      },
      "message": "Merge \"pthread: introduce pthread_setname_np() as a mean to give names to threads\""
    },
    {
      "commit": "fcd00ebbdf3e7f4e1e7782a65ae10fb0fc03a1aa",
      "tree": "859e86f36d6bf63ee284c65fff114bbbfdeff38f",
      "parents": [
        "4fdbadde921ec17b4ff9e97fbd41096903b21772"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri May 28 13:31:45 2010 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri May 28 16:12:01 2010 -0700"
      },
      "message": "Atomic/SMP update, part 3.\n\nUpdate ARM atomic ops to use LDREX/STREX.  Stripped out #if 0 chunk.\n\nInsert explicit memory barriers in pthread and semaphore code.\n\nFor bug 2721865.\n\nChange-Id: I0f153b797753a655702d8be41679273d1d5d6ae7\n"
    },
    {
      "commit": "4fdbadde921ec17b4ff9e97fbd41096903b21772",
      "tree": "988de23c6495657f28fde4703ce656eb806e23cf",
      "parents": [
        "8a1d2cf1422e35257c160ac5bb12dd3ee481c433"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed May 19 22:38:07 2010 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu May 20 15:59:32 2010 -0700"
      },
      "message": "Atomic/SMP update.\n\nAdded an underscore to _ARM_HAVE_LDREX_STREX to make it match the others.\n\nAdded __ARM_HAVE_DMB and __ARM_HAVE_LDREXD when appropriate.\n\nFixed some typos.\n\nChange-Id: I2f55febcff4aeb7de572a514fb2cd2f820dca27c\n"
    },
    {
      "commit": "78c1c04ced772298be8bdb5a94b6ce491bb9b3e1",
      "tree": "31881f9114a2e6975f262200685d39141a144013",
      "parents": [
        "1297428e89ead45849068989d334d8b7eae2f602"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Wed May 19 23:17:16 2010 -0300"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Wed May 19 23:17:16 2010 -0300"
      },
      "message": "pthread: introduce pthread_setname_np() as a mean to give names to threads\n\n... so that each cloned process at the kernel level can be named\nindependently. Tools like \u0027top\u0027 can display the CPU/memory statistics\nfor each process\u0027s thread if \"Show Threads\" mode is on.\n\nWith this function in place, we can convert dalvik/Thread.c setThreadName()\nfunction over this function. This feature ought to be provided by the\nunderlying C library and not coded directly in Dalvik.\n\nChange-Id: Ifa997665dbaa114e0b126f8c667708be9a4137fd\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "8a1d2cf1422e35257c160ac5bb12dd3ee481c433",
      "tree": "6307e0ed69c9b22cb49d7702f71d43d1d910e0bf",
      "parents": [
        "8e1ee7fd01986825074ececd39e8c2a5ebc907e0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 11 16:39:22 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 19 14:53:18 2010 -0700"
      },
      "message": "Add pthread_rwlock_t implementation to the C library (DO NOT MERGE)\n\nChange-Id: I756d8c26afc37cd7b71117ddbaa02a2cb40fdecb\n"
    },
    {
      "commit": "8e1ee7fd01986825074ececd39e8c2a5ebc907e0",
      "tree": "5cdd7d18c29f2b36f43142b9b8719282f5b24f38",
      "parents": [
        "fdf2454db21284b5e1ec23cb18724388c85fd975",
        "a910abcd194830d2d113b3e183eb7df4d36cd92e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 17 10:22:35 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 17 10:22:35 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I5804d8850f2d4fb7b5d5c53d51e153f7ced9646e\n"
    },
    {
      "commit": "a910abcd194830d2d113b3e183eb7df4d36cd92e",
      "tree": "291303f658796db61bcbf9b8107b3a88a4f83c79",
      "parents": [
        "1297428e89ead45849068989d334d8b7eae2f602"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:46:25 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 17 09:34:13 2010 -0700"
      },
      "message": "improve readability of stdio: fix indentation and remove trailing spaces\n\nChange-Id: Ic51e58a7c75d20bf770dc0ebd7f97a338fbe0036\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "fdf2454db21284b5e1ec23cb18724388c85fd975",
      "tree": "779330e312918811d802159156c45e9b170e16d9",
      "parents": [
        "4aef0ae660e81ca151a04ce0ddaf956275c70116",
        "1297428e89ead45849068989d334d8b7eae2f602"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 14 13:30:10 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 14 13:30:10 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I9c926a3cd680a96ece026cdec71c6e0fb0b7ad7c\n"
    },
    {
      "commit": "1297428e89ead45849068989d334d8b7eae2f602",
      "tree": "17ed9aa2d1ec98fed78d455e320a914499a497e0",
      "parents": [
        "e4fa46e75cd0d433b5c6c064720ed7e195cba7c8",
        "81569aa72c48caef1e74be31a5f799fc34a1cfc5"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Fri May 14 12:12:24 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri May 14 12:12:24 2010 -0700"
      },
      "message": "Merge \"Add declaration for sys_signame[] forgotten in change 12489\""
    },
    {
      "commit": "4aef0ae660e81ca151a04ce0ddaf956275c70116",
      "tree": "5dff7d6f26806adcff6de018bbb1f89c8c662547",
      "parents": [
        "f4394458301909a83b7ee7f3b436c038b7235ea8",
        "e4fa46e75cd0d433b5c6c064720ed7e195cba7c8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 13 14:31:02 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 13 14:31:02 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I2be62bce462ee53fe9519f433523bd7a44a73d40\n"
    },
    {
      "commit": "e4fa46e75cd0d433b5c6c064720ed7e195cba7c8",
      "tree": "88ab07e29e66cff45b3588718fa778c8218c4b6e",
      "parents": [
        "c3581dc78a51180d3550d0d04596657cb2db852c"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Mon Jan 11 10:02:06 2010 +0800"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Wed May 12 14:18:36 2010 -0500"
      },
      "message": "Set SA_RESTORER in sigaction()\n\nGDB looks for specific opcode sequences when trying to recognize a stack\nframe as a signal trampoline.  The sequences it looks for happen to be those\ncreated when SA_RESTORER is set, since glibc always sets a restorer.  This\npatch does the same here, so that the trampolines can be correctly identified.\n\nChange-Id: I0ac574a68818cb24d939c3527f3aaeb04b853d04\n"
    },
    {
      "commit": "bb7928ccdae0cc5766f290e18ab14b07d80c6912",
      "tree": "76468dcde3da9d42bdc3a2146463583e65593205",
      "parents": [
        "f450fa5f991af3c0814f96265cb3b2aafdce2309",
        "c3581dc78a51180d3550d0d04596657cb2db852c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 09:22:50 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 09:22:50 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Iecfd2bd3069f70bbe508042cc249fcf7ff24800d\n"
    },
    {
      "commit": "051ea9bc07809a2638e5f022ae10330e23530f64",
      "tree": "e4b9e8ffccf81cc3edfb2d2fd42472a9eee25550",
      "parents": [
        "d791da79432064bc954fedf8d4e4394aaafefe75"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:45:07 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 10 15:42:47 2010 -0700"
      },
      "message": "stdio: simplify __fremovelock()\n\n... by removing extraneous NULL check, as free() already does it.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nChange-Id: I0445f35c7ad0a049a0e4aee1fbe002ed2f13b94b\n"
    },
    {
      "commit": "d791da79432064bc954fedf8d4e4394aaafefe75",
      "tree": "6d731e33e6d3f2ff28feff74ef07cc680aee886e",
      "parents": [
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c",
        "aba3ee7d322f30735433e2e6ae98fa3d849a1c7e"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon May 10 14:52:02 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 14:52:02 2010 -0700"
      },
      "message": "Merge \"string: tidy up strndup()\""
    },
    {
      "commit": "f450fa5f991af3c0814f96265cb3b2aafdce2309",
      "tree": "1f0e549863606fb8e11215061ad5dde0f37b50cd",
      "parents": [
        "5ef5272be985dfdeafa86077c306f6b64d334240",
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 03 15:33:05 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 03 15:33:05 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If02d33af51017dbd85e91c79ac2e848eda6cf253\n"
    },
    {
      "commit": "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c",
      "tree": "e650cc8dd8a90d8d424f9035798c5f77b9172b22",
      "parents": [
        "716e06071a93d2c8dfbde99ea1dfcb7d2cf93d70",
        "c22da7ed32f8b537b8e4653fd777056e8315ebdf"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Sat May 01 15:31:39 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Sat May 01 15:31:39 2010 -0700"
      },
      "message": "Merge \"Fix log channel initialization at bionic/logd_write.c.\""
    },
    {
      "commit": "716e06071a93d2c8dfbde99ea1dfcb7d2cf93d70",
      "tree": "7e072204274c4e5f6f331e75c942b0d51d4b92dd",
      "parents": [
        "3472348067c6fc76b361196217b4feaaffd57641",
        "1d7a8944d8b416d06974f82999dc46c4a44b771a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 08:01:50 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Apr 29 08:01:50 2010 -0700"
      },
      "message": "Merge \"added headers for SuperH which automatically generate by update_all.py\""
    },
    {
      "commit": "5751c54bf1c84ad9b1e23a6909c59431c973deae",
      "tree": "32d6c36cfb0bdbabfc6051344ad1cb23f450eaeb",
      "parents": [
        "c8a850bcd174acf43f951b5b70783cb636418b53"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:03:09 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:37:42 2010 -0700"
      },
      "message": "bionic: add missing NULL check from memory allocation on record_backtrace()\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: I739c63c5a7344fff1775580044dc647edf246ebf\n"
    },
    {
      "commit": "c8a850bcd174acf43f951b5b70783cb636418b53",
      "tree": "62f931c9e8a683417384825b2f33fb01045ab13c",
      "parents": [
        "6aed4288eba64f8265b98d34fdfd0bc0cd76151d"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:40:45 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:33:40 2010 -0700"
      },
      "message": "stdio: simplify vasprintf()\n\n... by removing unneeded NULL check, as free() already does it.\nBy the way, we don\u0027t need to set a stack variable back to NULL.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: Id90eb8f042b5c922c5ff139b11ff8366fb404566\n"
    },
    {
      "commit": "6aed4288eba64f8265b98d34fdfd0bc0cd76151d",
      "tree": "30ef6162d6d4364d27037798f69dd93eb7e35d53",
      "parents": [
        "e734769276045c0cb89d4620fdd4ef35a0e6c335"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:39:00 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:31:44 2010 -0700"
      },
      "message": "stdio: simplify asprintf()\n\n... by removing unneeded NULL check, as free() already does it.\nBy the way, we don\u0027t need to set a stack variable back to NULL.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: Id1f72e872f73366dddcea4abc75885a3d9a318c6\n"
    },
    {
      "commit": "e734769276045c0cb89d4620fdd4ef35a0e6c335",
      "tree": "8b7cdc163f1dce70efb9f5221e6e0b845a07c368",
      "parents": [
        "1698d9ebfc7e27271852a1fdf305a2ac37b3ebe4"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 18:32:52 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:29:06 2010 -0700"
      },
      "message": "improve readability of stdlib: fix indentation and remove trailing spaces\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: I7dd90a0816b5376ffc1de4499d56935e0bd574a1\n"
    },
    {
      "commit": "95faecefdea0f55edafdba09052a904df7cd2405",
      "tree": "953a43567de93a20f4074a0617292e799f9915ab",
      "parents": [
        "f1cd18bdec3686c072bc10cbf66e671b07fc4fde",
        "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 08 11:11:53 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 08 11:11:53 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If77618a329fc7b497c44c2585e644bc50e7e1406\n"
    },
    {
      "commit": "f1cd18bdec3686c072bc10cbf66e671b07fc4fde",
      "tree": "deadb2171c32d12268f3ef89d1de71d3e3a3c1e5",
      "parents": [
        "1d168621a524e3937cd4e2a1cdec18a230b89a35",
        "9163872132a3e92f986b1d684badb1dd4482ad8e"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 06 22:02:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 06 22:02:48 2010 -0700"
      },
      "message": "am 91638721: kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32\n\nMerge commit \u00279163872132a3e92f986b1d684badb1dd4482ad8e\u0027 into froyo-plus-aosp\n\n* commit \u00279163872132a3e92f986b1d684badb1dd4482ad8e\u0027:\n  kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32\n"
    },
    {
      "commit": "9163872132a3e92f986b1d684badb1dd4482ad8e",
      "tree": "00a1b93b30fe23fe0f72eb0f2aec173354c00043",
      "parents": [
        "7e0bfb511e85834d7c6cb9631206b62f82701d60"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 06 18:49:49 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 06 18:54:22 2010 -0700"
      },
      "message": "kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32\n\nFor: For http://b/issue?id\u003d2576057\n\nChange-Id: I553ca14974aaec4434e384979e0bb7007dcf6033\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "81569aa72c48caef1e74be31a5f799fc34a1cfc5",
      "tree": "fce4aaecff99f555718a6a6866fcd8db8863cf22",
      "parents": [
        "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7"
      ],
      "author": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Tue Dec 01 15:12:01 2009 +0100"
      },
      "committer": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Mon Apr 05 21:08:30 2010 +0200"
      },
      "message": "Add declaration for sys_signame[] forgotten in change 12489\n"
    },
    {
      "commit": "1d168621a524e3937cd4e2a1cdec18a230b89a35",
      "tree": "313c8fd8c40432a78b6b99bc4c66175e56be4fef",
      "parents": [
        "d04672513351af4eb302692e0f39fd5bd17191cb",
        "acdb052030d6e537e51d8b42e07b2a9e71e6ee42"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:24:25 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:24:25 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I950e9aca87cbb0c35099b1d53cff6378bd0f26f4\n"
    },
    {
      "commit": "5ffedb22c856ae5731324b43832ab3f5309683f2",
      "tree": "c4b4d5c3cd96ca9c347d2ba9fed98c4d9be5e43e",
      "parents": [
        "62ac0dc457bddf7472f7be1e9895b1aee20f35cf",
        "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:15:30 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:15:30 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I076e0df8656fdf58c229cc9a168cd6d8e16b6d8e\n"
    },
    {
      "commit": "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7",
      "tree": "7c927a543863b2e55cd920e343918fda1e91e448",
      "parents": [
        "f8916e2e4547da691b1de9149a23b9b254a4f7ad"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:01:05 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Mar 29 21:21:26 2010 -0300"
      },
      "message": "bionic: fix memory leak in get_malloc_leak_info() error path\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "f8916e2e4547da691b1de9149a23b9b254a4f7ad",
      "tree": "0f52437bba08eea66821b0e178d7c0a9cc1fc582",
      "parents": [
        "acdb052030d6e537e51d8b42e07b2a9e71e6ee42",
        "3f6121278194404f89ea7b22f098e9389e954587"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 30 14:52:14 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 30 14:52:14 2010 -0700"
      },
      "message": "Merge \"bionic: clear only the part of the buffer which is not overwritten afterward\""
    },
    {
      "commit": "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b",
      "tree": "2f92218f958f60550990b0649011c93bf578b90a",
      "parents": [
        "87ae0da81716d61f556b1ee456a6764a1f635e55",
        "bdc6e3c83f70db35603260d5c1baa8097cb765fe"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 15:05:47 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 15:05:47 2010 -0700"
      },
      "message": "Merge changes Ibdc6e3c8,I9bcb91a2\n\n* changes:\n  Correct generic memset implementation\n  Generic memcpy should define MEMCOPY before including bcopy.c\n"
    },
    {
      "commit": "87ae0da81716d61f556b1ee456a6764a1f635e55",
      "tree": "ee134838e961e5a90f01bb2bc30548f35f00951d",
      "parents": [
        "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd",
        "8ff1a2759a6389bed30d7862d0beb76077032c99"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 14:40:05 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 14:40:05 2010 -0700"
      },
      "message": "Merge \"Atom optimized string and memory routines\""
    },
    {
      "commit": "62ac0dc457bddf7472f7be1e9895b1aee20f35cf",
      "tree": "a64eeb5831341d6f51c2f64af2335fc3a8a0e600",
      "parents": [
        "7e0bfb511e85834d7c6cb9631206b62f82701d60",
        "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 29 11:01:59 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 29 11:01:59 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I96d2cd063f084fd17116bf7ee08fa7109a3c1ceb\n"
    },
    {
      "commit": "3f6121278194404f89ea7b22f098e9389e954587",
      "tree": "df769c6d2dfa39e91b5fec22bdfc192c173206fd",
      "parents": [
        "4ad72f89b12fe0157074a253190f6aa2cbfe15ac"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:32:36 2010 -0300"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:32:36 2010 -0300"
      },
      "message": "bionic: clear only the part of the buffer which is not overwritten afterward\n\nChange-Id: I5ddd93f0557e5a7401460dc9fc8a55b330a79c3a\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "acdb052030d6e537e51d8b42e07b2a9e71e6ee42",
      "tree": "c42e974950bbe7d89eac29f62381d8d7e759f69b",
      "parents": [
        "4ad72f89b12fe0157074a253190f6aa2cbfe15ac"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:18:56 2010 -0300"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:18:56 2010 -0300"
      },
      "message": "stdlib: optimize bsearch()\n\n... by checking most probable condition first (elements do differ)\n\nChange-Id: I424eab9c32a6d9eb82b686ca04025ec8c9097035\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "8ff1a2759a6389bed30d7862d0beb76077032c99",
      "tree": "7be1e8b794d09c84b52a40d08eac6dfffbf3d252",
      "parents": [
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Thu Mar 04 11:03:37 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Mar 26 10:54:07 2010 -0700"
      },
      "message": "Atom optimized string and memory routines\n\nChange-Id: I27b68bb28551c75c9ac84bb9730e2cd8254d8991\n"
    },
    {
      "commit": "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd",
      "tree": "fd4b6450243770a37214f83ded426cfca3fab259",
      "parents": [
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Wed Mar 10 15:52:42 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Mar 26 09:36:01 2010 -0700"
      },
      "message": "Android hack for size_t\n\nChange-Id: I3c967fca60f542459dc17be84da47b3b6a26242b\n"
    },
    {
      "commit": "7e0bfb511e85834d7c6cb9631206b62f82701d60",
      "tree": "9579d38c3ba80e5cdd2f39b2168ac678f8615182",
      "parents": [
        "4e383b81d03db3592a43766dd6f996e7f84d8dc7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 18:06:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 18:07:26 2010 -0700"
      },
      "message": "Fix comparison of IPv6 prefixes\n\nTypo assigned prefixlen1 twice instead of to the two different variables\nfor comparison and difference computation.\n\nChange-Id: I6631b8269ca6aae264c8d7d414127b756838df96\n"
    },
    {
      "commit": "4e383b81d03db3592a43766dd6f996e7f84d8dc7",
      "tree": "cd2dc56f97b77e36f53322324b67b3bfcd529ffc",
      "parents": [
        "5207d78c321571b4b5ef3dd405198267a0d940b1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Mar 08 17:34:52 2010 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Mar 24 14:13:10 2010 -0700"
      },
      "message": "libc: kernel: update msm_kgsl.h\n\nChange-Id: I8cd5a186071892bdc2b2b29061dd6c1fd927c0f5\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "5207d78c321571b4b5ef3dd405198267a0d940b1",
      "tree": "d68a66aeac566fac1fe085a8728a86df80cfb295",
      "parents": [
        "b5e4a416060aa7f0a1e2a9ad5b8e318d59986852"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 23 05:30:55 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 23 05:30:55 2010 -0700"
      },
      "message": "Fix typo that broke recursive mutexes implementation.\n\nChange-Id: I832901604b487c6a50304c311b5ba135e153530d\n"
    },
    {
      "commit": "b5e4a416060aa7f0a1e2a9ad5b8e318d59986852",
      "tree": "39115a2ef1c6c4084763687a312a67a52c9597c1",
      "parents": [
        "377d4c979dee3dcb5929e8f7a68a53c2407259ab"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 19 17:59:23 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 22 17:31:50 2010 -0700"
      },
      "message": "pthread: Use private futexes by default in condition variables\n\nNow that the system properly uses shared condvars when needed, we\ncan enable the use of private futexes for them too.\n\nChange-Id: Icf8351fc0a2309f764cba45c65bc3af047720cdf\n"
    },
    {
      "commit": "377d4c979dee3dcb5929e8f7a68a53c2407259ab",
      "tree": "1783fe0272f1437faabfe8365e615696eb8d374c",
      "parents": [
        "709a898de82128c065381e258e8e71f0a55df976",
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:09 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:09 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I70266ee8c520b216773f267e46c8273d2334c31d\n"
    },
    {
      "commit": "709a898de82128c065381e258e8e71f0a55df976",
      "tree": "74fb234b3c8058ccb5a9b56ecd49eb9fdb6cce4f",
      "parents": [
        "88f06cd84a70f8a5212cb03272ec2c7cf0017afa",
        "8132626b71b319c71c7c4710f0c57c417badf8c0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 22 15:45:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 15:45:32 2010 -0700"
      },
      "message": "Merge \"Fix strtod security bug.\""
    },
    {
      "commit": "88f06cd84a70f8a5212cb03272ec2c7cf0017afa",
      "tree": "4ff0a88177cd5fb2ca9c0e6df9a331cea7ecad1c",
      "parents": [
        "ee7b077abf1d99503b986489ad93374a057cb354"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 17:13:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 17:13:41 2010 -0700"
      },
      "message": "Use private futexes for pthread_mutex_t.\n\nThis does not change the implementation of conditional variables\nsince we\u0027re waiting for other system components to properly use\npthread_condattr_init/setpshared before that.\n\nAlso remove an obsolete x86 source file.\n\nChange-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7\n"
    },
    {
      "commit": "1825fb5d5f214849e39d95660795a0d3633f8eeb",
      "tree": "e80791744a8729b3847a731e7729c385f0ab1af3",
      "parents": [
        "c0e464268d381a5575897e6c2de397167d0985db",
        "a28336c73542f5df1c03de4c142070f408e8d5aa"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Mar 18 16:42:49 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Mar 18 16:42:49 2010 -0700"
      },
      "message": "Merge \"bionic: on pthread_join(), avoid extra check in case we find the thread\""
    },
    {
      "commit": "c0e464268d381a5575897e6c2de397167d0985db",
      "tree": "8ca61174ddde4d67944149e55e5a0d32a93fef9c",
      "parents": [
        "e2a8b1fd19fb3a8ead2ba28ddba27be19fa978b5",
        "3b06c128cf2799cec8f7524dc11c4e6c320fe4c7"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Mar 18 16:35:42 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Mar 18 16:35:42 2010 -0700"
      },
      "message": "Merge \"bionic: ftell() returns a long, not an int\""
    },
    {
      "commit": "ee7b077abf1d99503b986489ad93374a057cb354",
      "tree": "2f424373469e9e040312951e59a9627cb17d6a8d",
      "parents": [
        "40e6b822866ee59f7823000384321bb899416cb1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 14:07:42 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 14:07:42 2010 -0700"
      },
      "message": "Add pthread_condattr_init/destroy/setpshared/getpshared\n\nNote that this does not change the implementation of conditional variables\nwhich still use shared futexes, independent on the flags being selected.\n\nThis will be fixed in a later patch, once our system is modified to use\npthread_condattr_setpshared(attr, PTHREAD_PROCESS_SHARED) properly.\n\nChange-Id: I935de50964cd41f97a13dbfd6626d3407b0406c3\n"
    },
    {
      "commit": "e2a8b1fd19fb3a8ead2ba28ddba27be19fa978b5",
      "tree": "e5448ec45187a37dbade76fcf10115f91135a8bd",
      "parents": [
        "ede2e75f4942293342dfb8dfd4751369600ed8f1"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Thu Dec 31 12:17:40 2009 -0600"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Wed Mar 17 16:11:37 2010 -0500"
      },
      "message": "Added support for dladdr()\n\ndladdr() is a GNU extension function, which allows the caller to retrieve\nsymbol information for a specified memory address.  It is useful for things\nlike generating backtrace information at runtime.\n\nChange-Id: I3a1def1a6c9c666d93e1e97b7d260dfa5b9b79a9\n"
    },
    {
      "commit": "ede2e75f4942293342dfb8dfd4751369600ed8f1",
      "tree": "00cc20bb91b42892be7f4f659af255adcb2fc7fb",
      "parents": [
        "b0ae864dffd288c3547618b3a193569ea579eea5",
        "3c543e1da9a2780a70b25299f39734bf0a18c4a0"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Wed Mar 17 14:07:27 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Mar 17 14:07:27 2010 -0700"
      },
      "message": "Merge \"x86 syscall system call implementation\""
    },
    {
      "commit": "b0ae864dffd288c3547618b3a193569ea579eea5",
      "tree": "1a14cdfee83eea3c73688af113cec636193470e3",
      "parents": [
        "a9c41a8e0a62f70a37f7040740a9b1ef06a66612",
        "e31c1d0b48b4654d3562fc6c9dd648d72356449e"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Wed Mar 17 14:00:20 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Mar 17 14:00:20 2010 -0700"
      },
      "message": "Merge \"Fix pread()/pwrite() stubs\""
    },
    {
      "commit": "40e6b822866ee59f7823000384321bb899416cb1",
      "tree": "743a554912d9f7efdac1d217c31b0fc49b2fc21f",
      "parents": [
        "8641833b62e3b319796dc80ea16eb1592c05edf6"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Mar 17 11:25:46 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Mar 17 11:25:46 2010 -0700"
      },
      "message": "Fix indentation in pthread mutex implementation.\n\nThis is preliminary work to simplify later changes to support\nprivate futexes.\n\nChange-Id: I06750936a93747a5e3f5a10228cbdc29e39c528c\n"
    },
    {
      "commit": "a9c41a8e0a62f70a37f7040740a9b1ef06a66612",
      "tree": "6cb6780bb885e4431d7fc16d9a651cbea2fe4cf4",
      "parents": [
        "3f192f55f06610a4aff8ce88548cfa4d1607f0e3",
        "291100c795fc98f4a1320e7de0dbef2615cd8fb9"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:26:44 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:26:44 2010 -0700"
      },
      "message": "Merge \"bionic: remove unneeded variable from chk_realloc()\""
    },
    {
      "commit": "3f192f55f06610a4aff8ce88548cfa4d1607f0e3",
      "tree": "ff55494e053e9dc7ef1cd1c803ccdfc8e0fbfaae",
      "parents": [
        "dd8f3c80f15981cae0a1ba72de0e9da0159ccb93",
        "699237baf54af3395311ad71ebedce20745c4cb2"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:25:53 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:25:53 2010 -0700"
      },
      "message": "Merge \"bionic: equalize the \u003cunknown\u003e program name between ssp.c and libc_init_common.c\""
    },
    {
      "commit": "dd8f3c80f15981cae0a1ba72de0e9da0159ccb93",
      "tree": "ff347730f689bf7051ff5773a8c9b7334b300a33",
      "parents": [
        "5586838babaa9e8a6cf31547f4ba0d3bc333b336",
        "30a419afc3cdb641e350c7cfde753877675958e0"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:25:04 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:25:04 2010 -0700"
      },
      "message": "Merge \"improve readability of string: fix indentation and remove trailing spaces\""
    },
    {
      "commit": "8641833b62e3b319796dc80ea16eb1592c05edf6",
      "tree": "f0b9b778513da0e049ce1b4c706ae5000848d7c1",
      "parents": [
        "ba9c6f0989ae94778ba2b9f597adc827c9dc81e8"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Mar 11 14:47:47 2010 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Mar 11 14:47:47 2010 -0800"
      },
      "message": "Revert \"bionic: pthread: use private futexes by default for mutexes and condvars\"\n\nThis reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.\n"
    },
    {
      "commit": "ba9c6f0989ae94778ba2b9f597adc827c9dc81e8",
      "tree": "2376f2a87f6ac304bd93beca7c8139b890a6227f",
      "parents": [
        "1cfbda826ce66e9bd1507a31b7e6df62e0dbcc6e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Mar 10 16:44:08 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 11 11:48:38 2010 -0800"
      },
      "message": "bionic: pthread: use private futexes by default for mutexes and condvars\n\nPrivate futexes are a recent kernel addition: faster futexes that cannot be\nshared between processes. This patch uses them by default, unless the PROCESS_SHARED\nattribute flag is used when creating a mutex and/or conditional variable.\n\nAlso introduces pthread_condattr_init/destroy/setpshared/getpshared.\n\nChange-Id: I3a0e2116f467072b046524cb5babc00e41057a53\n"
    },
    {
      "commit": "1cfbda826ce66e9bd1507a31b7e6df62e0dbcc6e",
      "tree": "f0b9b778513da0e049ce1b4c706ae5000848d7c1",
      "parents": [
        "92e712f60dae8f099004c439291362efd02f6889",
        "ecede4022283650ee4c4ed117a792d6db0b929fd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 10 18:14:25 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 18:14:25 2010 -0800"
      },
      "message": "Merge \"Only use NEON memcpy if __ARM_NEON__ is defined\""
    },
    {
      "commit": "ecede4022283650ee4c4ed117a792d6db0b929fd",
      "tree": "20082d00d0ec7d9c6e02327ddcf91ab81b702465",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 09 16:23:51 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 09 16:23:51 2010 -0800"
      },
      "message": "Only use NEON memcpy if __ARM_NEON__ is defined\n\nChange-Id: I32e6b9385d46efeec15dee8e395a82eef24ba3ea\n"
    },
    {
      "commit": "8132626b71b319c71c7c4710f0c57c417badf8c0",
      "tree": "7059fd80bf872989900e78aff21f6671d1463812",
      "parents": [
        "92e712f60dae8f099004c439291362efd02f6889"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 04 11:51:42 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 09 15:27:50 2010 -0800"
      },
      "message": "Fix strtod security bug.\n\nTo avoid introducing NULL checks everytime a Bigint computation\nis performed, introduce a special value (BIGINT_INVALID) and only\ncheck for it when absolutely needed (which means when the code\nneeds to access the Bigint\u0027s internal structure fields).\n\nChange-Id: Ie3954523b0985b6a8cb62340802d8dcf63cbf16f\n"
    },
    {
      "commit": "d378c68d74cb4fdac450650fe816c9d649c8edaf",
      "tree": "0d5c15b4606982f26009bdc5c572415ac9dd18d3",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:13:04 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:22:13 2010 -0800"
      },
      "message": "Fix spurious DNS lookups in the C library.\n\nThe problem was that the \u0027defdname\u0027 field of res_state structure\nwas not properly initialized in __res_vinit(). This field is used\nto store the default domain name, which is normally build from\ncalling gethostname() (see line 549 of res_init.c).\n\nUnfortunately, in the typical Android case, gethostname() returns\nan error (the hostname is configured) and a random stack string is\nused later to build the DNS search list (see lines 556+ in res_init.c)\n\nFor the sake of illustration, let\u0027s say the search list is set to\na random value like \u0027xWLK\u0027.\n\nThe end result is that when trying to result an unknown domain name\n(e.g. \u0027www.ptn\u0027), the query fails then the resolver tries to make a\nnew query with the DNS search list path(s) appended (e.g. \u0027www.ptn.xWLK\u0027).\n\nThe patch simply initializes \u0027defdname\u0027 to an empty string to avoid\nthis when the net.dns.search system property is not set.\n\nAlso contains whitespace/formatting fixes\n"
    },
    {
      "commit": "d7ed1ae98249af8a58ce97784a29f048d77789a9",
      "tree": "0effedac191d00aadd7ceb7887a7eab62b95bfb7",
      "parents": [
        "cb58a8221c678299a6be9403136c6f348bd9dbdc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 05 14:17:35 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 05 14:17:35 2010 -0800"
      },
      "message": "Fix timezone management in the C library\n\nDefine \u0027timezone\u0027 and \u0027daylight\u0027 global variables that are already\ndefined in \u003ctime.h\u003e\n\nProperly update the \u0027tm_gmtoff\u0027 field in \u0027struct tm\u0027 values.\n"
    },
    {
      "commit": "3c543e1da9a2780a70b25299f39734bf0a18c4a0",
      "tree": "07780890d546321d9426758f629f5a951b5a2eeb",
      "parents": [
        "58060c50bc4228a7d0253338cae0437211759959"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Thu Mar 04 10:29:38 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Thu Mar 04 10:29:38 2010 -0800"
      },
      "message": "x86 syscall system call implementation\n"
    },
    {
      "commit": "f199d2d503133fe744f78c414184936658a64663",
      "tree": "45e4640d831de5cd34cee001ec042216a3876003",
      "parents": [
        "9f6915631b918a56e0e6be958fb14d274cbab322"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 03 16:26:26 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 03 17:16:48 2010 -0800"
      },
      "message": "QUalcomm H.264 encoder support.\n"
    },
    {
      "commit": "9f6915631b918a56e0e6be958fb14d274cbab322",
      "tree": "5d3b311f885dd053f4b816f69e8961ee21c37938",
      "parents": [
        "bd9a90c443ee4582d2be1a68c6f3a2928d130ce4"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Mar 02 10:55:58 2010 -0800"
      },
      "committer": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Mar 02 18:18:04 2010 -0800"
      },
      "message": "bonic: libc: cpuacct support for setuid functions\n\nAny of the setuid functions now updates /acct/uid/ with its own tid\nbefore changing users. This is so we can properly account for cpu time\nper uid.\n\nChange-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\n"
    },
    {
      "commit": "bd9a90c443ee4582d2be1a68c6f3a2928d130ce4",
      "tree": "bef82e19e97c17d7fededb5ebaf156dd960e31e3",
      "parents": [
        "eb9d5ed3477ef8cd9ccfa424ea585541ea3af84a"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 02 16:10:21 2010 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 02 16:10:34 2010 -0800"
      },
      "message": "libc: kernel: update pmem header with cache flush ioctl\n\nChange-Id: Ied08844035d4526175dcdcb7f219f9f90c4679d2\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "eb9d5ed3477ef8cd9ccfa424ea585541ea3af84a",
      "tree": "57860bc44d54d743b05f8a7680267170af3f3069",
      "parents": [
        "8f8b5310d2c3fe8782377bd66b65ed14dc6511a4"
      ],
      "author": {
        "name": "Andrei Popescu",
        "email": "andreip@google.com",
        "time": "Thu Feb 25 13:27:46 2010 +0000"
      },
      "committer": {
        "name": "Andrei Popescu",
        "email": "andreip@google.com",
        "time": "Tue Mar 02 11:43:24 2010 +0000"
      },
      "message": "add sigaltstack syscall\n"
    },
    {
      "commit": "8f8b5310d2c3fe8782377bd66b65ed14dc6511a4",
      "tree": "1cd0c6e85535467a0ffd973991aef7bccb499473",
      "parents": [
        "1f6f49396335d88c577c16304b1989d0d1468e5c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 01 11:30:40 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 01 11:30:40 2010 -0800"
      },
      "message": "Fix pthread_sigmask() to return correct error values.\n\nBefore that, it returned -1 on error and set errno (not Posix)\nAfter the patch, it returns the error code and leaves errno untouched.\n"
    },
    {
      "commit": "1f6f49396335d88c577c16304b1989d0d1468e5c",
      "tree": "0e297b5d5a05f05ea338ec073c40d58f91d9b528",
      "parents": [
        "75c5e25ae3615c34f4bcc7dcbe9b29e548e26b9c",
        "9ab75d4cc803e91b7f1b656ffbe2ad32c52a86f9"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Wed Feb 24 10:04:09 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 10:04:09 2010 -0800"
      },
      "message": "Merge \"Implement support for RFC 3484 (address selection/sorting) in bionic.  (The Java changes required not to mess up the ordering from bionic will arrive in a later commit.) In particular, this will give us more correct behavior when on a 6to4 network, in that IPv4 will usually be preferred over 6to4.\""
    },
    {
      "commit": "9ab75d4cc803e91b7f1b656ffbe2ad32c52a86f9",
      "tree": "7f0451638ba549b39cb81ae45e570e7a0534de9e",
      "parents": [
        "b55462328f7f7468bb8c0cb44ad1069af30415a3"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Thu Feb 11 15:44:55 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Wed Feb 24 11:49:17 2010 +0100"
      },
      "message": "Implement support for RFC 3484 (address selection/sorting) in bionic.  (The\nJava changes required not to mess up the ordering from bionic will arrive in a\nlater commit.) In particular, this will give us more correct behavior when on a\n6to4 network, in that IPv4 will usually be preferred over 6to4.\n\nMost of RFC 3484 is implemented -- what\u0027s not is rule 3 (avoid deprecated\naddresses), 4 (prefer home addresses) and 7 (prefer native transport) as they\nrequire low-level access to the kernel routing table via netlink. (glibc also\nstarted out this way, and these rules are primarily useful in pretty obscure\ncircumstances, so we should be fine for the time being.)\n\nAlso, rule 9 (use longest matching prefix) has been modified so it does not try\nto sort IPv4 addresses; given current IPv4 addressing practice these rules are\npretty much meaningless. Finally, I\u0027ve added support for Teredo as a separate\nlabel, with slightly lower preference than 6to4. (Vista puts the preference\nbelow IPv4 by default. glibc puts the preference together with non-tunneled\nIPv6.)\n\nNote that this patch removes support for the \"sortlist\" directive in\nresolv.conf; I\u0027ve never seen it in actual use, it\u0027s irrelevant for Android\n(since we don\u0027t use resolv.conf anyway), and it\u0027s not clear how it would be\nimplemented alongside RFC 3484.\n"
    },
    {
      "commit": "75c5e25ae3615c34f4bcc7dcbe9b29e548e26b9c",
      "tree": "a5e9210444c3974d51c8e24d2ad0b6c256c0cbf6",
      "parents": [
        "b55462328f7f7468bb8c0cb44ad1069af30415a3"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 23 15:55:29 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 23 15:55:29 2010 -0800"
      },
      "message": "bionic: syscalls: Add ioprio_set/ioprio_get syscall wrappers\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b55462328f7f7468bb8c0cb44ad1069af30415a3",
      "tree": "291cf73e304ef6840de39e4732d0d8488955f22b",
      "parents": [
        "f31fceaae66dcc1f71f930ed8f2a777b80fe415f",
        "75fba6888a1e5738f8255f3511c4ad40cbcc0eda"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Wed Feb 17 13:43:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 17 13:43:15 2010 -0800"
      },
      "message": "Merge \"Merge memory checking functionality from sandbox\""
    },
    {
      "commit": "75fba6888a1e5738f8255f3511c4ad40cbcc0eda",
      "tree": "de49c9233770c63324539012655792937875a5c2",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Fri Feb 12 08:59:58 2010 -0800"
      },
      "committer": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Tue Feb 16 11:43:18 2010 -0800"
      },
      "message": "Merge memory checking functionality from sandbox\n\nChange-Id: I304c789a752c9f4af4944ca14b9bf1e7644da15a\n"
    },
    {
      "commit": "e31c1d0b48b4654d3562fc6c9dd648d72356449e",
      "tree": "b777e461f0d2556bc5183a574ef4e67191347c54",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Fri Aug 21 15:45:17 2009 -0500"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Fri Feb 12 16:13:46 2010 -0600"
      },
      "message": "Fix pread()/pwrite() stubs\n\nOn ARM EABI, 64-bit function parameters must be aligned\nto an even/odd register pair.  The weird way these stubs\nwere written (using separate lo/hi parameters) prevented\nthis alignment from being enforced by the compiler.\n"
    },
    {
      "commit": "f31fceaae66dcc1f71f930ed8f2a777b80fe415f",
      "tree": "1e57e65461a35fe2ed96dc6a434666c37c936aff",
      "parents": [
        "4f920f685bb4af8400c70383eecf347a35353778",
        "2e1a03c16fae7bfd5f5e6955985bc46baf93ba84"
      ],
      "author": {
        "name": "Niko Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 13:46:31 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 13:46:31 2010 -0800"
      },
      "message": "Merge \"Changed __get_h_errno linkage to \"C\".\""
    },
    {
      "commit": "4f920f685bb4af8400c70383eecf347a35353778",
      "tree": "b48d0f32e745f252a4ad5781e8da60f45415f7de",
      "parents": [
        "294dd0b86b1484aec7549663aff5b19c98a4b7fd"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:50:32 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:50:32 2010 -0800"
      },
      "message": "Fix sem_post() behaviour to wake up multiple waiting threads.\n"
    },
    {
      "commit": "294dd0b86b1484aec7549663aff5b19c98a4b7fd",
      "tree": "9a54351833b806c3f31f0b8400c10bd746938254",
      "parents": [
        "1dcf07a84c93a0095875f2d2087bfe7bfb66a413"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:18:37 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:18:37 2010 -0800"
      },
      "message": "Fix sem_trywait() implementation + update changelog.\n"
    },
    {
      "commit": "2e1a03c16fae7bfd5f5e6955985bc46baf93ba84",
      "tree": "1d1fb60a88933d2d75d3410d8b12b95521e4f94e",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 11:33:53 2010 -0800"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 11:37:25 2010 -0800"
      },
      "message": "Changed __get_h_errno linkage to \"C\".\n\nBug:2441631\n"
    },
    {
      "commit": "1dcf07a84c93a0095875f2d2087bfe7bfb66a413",
      "tree": "21d5731774d25a54186f8e60230e20c99f459de0",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 11:35:38 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 11:35:38 2010 -0800"
      },
      "message": "Fix android_id_from_name to accept \"app_0\" as a valid ID.\n\nThis fixes getpwnam and getpwgrp which returned NULL for \"app_0\".\n\"app_0\" corresponds to uid/gid 10000 and is perfectly valid.\n"
    },
    {
      "commit": "16f7d16f9f0273bed58f5e8c74eb0ee11eaa8037",
      "tree": "071921aedb913150ef86d6840869371ff922aab1",
      "parents": [
        "53691d7df295eed54742365db1180367e26770f5",
        "49f0a8f23bba188466c6ee3652858ef4da228c6f"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:50:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 14:50:57 2010 -0800"
      },
      "message": "Merge \"Fix \u003csys/epoll.h\u003e and \u003csys/system_properties.h\u003e to include proper C++ inclusion guards\""
    },
    {
      "commit": "49f0a8f23bba188466c6ee3652858ef4da228c6f",
      "tree": "fd0c67133f0ad6e856a7a56a1f27333131ef40e3",
      "parents": [
        "cdcc2648baa3ad62c497fbc87c36de590f9f9f97"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:05:43 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:05:43 2010 -0800"
      },
      "message": "Fix \u003csys/epoll.h\u003e and \u003csys/system_properties.h\u003e to include proper C++ inclusion guards\n"
    }
  ],
  "next": "53691d7df295eed54742365db1180367e26770f5"
}
