)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "97cf7f3394780d524038fc083e2c134031b54728",
      "tree": "40b61956bbe4d28babe839c3be40e9f114810e5f",
      "parents": [
        "1a2917ca954f575cc9698c99e54bd93087793c8f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 22 18:59:05 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 25 11:18:30 2010 -0800"
      },
      "message": "Implement clone() C library function properly.\n\nOnly provide an implementation for ARM at the moment, since\nit requires specific assembly fragments (the standard syscall\nstubs cannot be used because the child returns in a different\nstack).\n"
    },
    {
      "commit": "fc10b24accd082fb33c8f92ff8b92481c22fe3dc",
      "tree": "edadb43992d3ff9334ff7e1f257f13073d25ebd6",
      "parents": [
        "8c59d96e243ba1a05d7d9ab7a14d1a00e20bad4a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 17:48:34 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 16:52:35 2010 -0800"
      },
      "message": "Add implementation of fdprintf, clearenv, and stubs for ttyname_r, *usershell\n\nChange-Id:\tI5fe7e8b6ee5edbb49e707c3b6737a58563781fa3\n"
    },
    {
      "commit": "8c59d96e243ba1a05d7d9ab7a14d1a00e20bad4a",
      "tree": "31e06654cca83d98d5b9b1b60a9623404fed99f1",
      "parents": [
        "64ceac3f493e3063a289aec4a12c74787be974e4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 16:39:26 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 16:27:04 2010 -0800"
      },
      "message": "Add killpg function\n\nChange-Id:\tI9bc347d264fe38faf2d0f9935d2ebb43a353196e\n"
    },
    {
      "commit": "64ceac3f493e3063a289aec4a12c74787be974e4",
      "tree": "a2a7f59c5dfc56fd11d454e41e9f4e7d6898fcd0",
      "parents": [
        "c29731a491ae96b5cfe8835a7ec23900c773ca7e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 21:19:52 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "Add fts, err, and sys/queue for grep\n\nChange-Id:\tId47514a1812d828e95efa2fab0e9c15c5b682b58\n"
    },
    {
      "commit": "c29731a491ae96b5cfe8835a7ec23900c773ca7e",
      "tree": "3d93e3aa34a0f9993ca216a302fb1fe9818dc46f",
      "parents": [
        "e9d08ba5236fb6524c7b65135ef133002027f050"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 18:31:01 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "mntent.h requires stdio.h\n\nChange-Id:\tIf69f64cf088dedb19602bf47627d03400abb9095\n"
    },
    {
      "commit": "e9d08ba5236fb6524c7b65135ef133002027f050",
      "tree": "028d1c758c1f41a30719da1bba3e767b17552468",
      "parents": [
        "2497f65fee7c132d1ddb1997dbfa07678c07c4f0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 16:28:13 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "Add definition of rlim_t\n\nChange-Id:\tIe8c2451360cbcce9fc1587528a95aca09a03d0de\n"
    },
    {
      "commit": "2497f65fee7c132d1ddb1997dbfa07678c07c4f0",
      "tree": "dcd1174ab2bfb61858b0f5fe7c18aedb4c6e401c",
      "parents": [
        "d1cfc947f9b2f431cf416185ffdffb7e76303414"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 14:38:20 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "Import change from ctype.h revision 1.20 from openbsd\n\nFixes builds with gcc \u003e\u003d 4.3 with -std\u003dgnu99\n\nChange-Id:\tI8729b7f4237fd7a99a82b2fe60573a7afe66b435\n"
    },
    {
      "commit": "d1cfc947f9b2f431cf416185ffdffb7e76303414",
      "tree": "b74d166a2571ee81079b3c77cfd35d1b0a61c637",
      "parents": [
        "4fa7b105644222d9b35347c9d226ca8e011072eb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 19:00:00 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:15:52 2010 -0800"
      },
      "message": "Import include/arpa/telnet.h from BSD\n\nChange-Id:\tI684251bfb8ef04f0706866ea55dceebcd2a5b0e1\n"
    },
    {
      "commit": "4fa7b105644222d9b35347c9d226ca8e011072eb",
      "tree": "b190c2c5cf1315a4326b09678e855e3d23a426fc",
      "parents": [
        "3839580cd9635fcfb8b509eef4c693b51ec48a12"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 18:59:25 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:01:44 2010 -0800"
      },
      "message": "Import regex from OpenBSD\n\nChange-Id: I7ad7d907ef65e4e345f94777d730813b1270a612\n"
    },
    {
      "commit": "6458c49c96fd2069a82fa6bb48283b4397087a25",
      "tree": "68fcbb5f16ce4bb500f065129c2cf5297cb59e6f",
      "parents": [
        "0b5db51ea6d9c0b877d2ce26440d963760c38dfe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 12:58:12 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 12:58:12 2010 -0800"
      },
      "message": "Fix ptsname_r(3) return type to match glibc\n\nThe gHardy man pages specify the return type of ptsname_r to be char*, but the\nreturn value to be 0 on success, negative on error and the gHardy stdlib.h\ndefines extern int ptsname_r(...).\n\nBusybox telnetd fails to run successfully without this change.\n"
    },
    {
      "commit": "99d7907611725e23b6fad3ae7acff4926504e687",
      "tree": "74eb2d8ded9708c4768aab30022cc6307bc39c1e",
      "parents": [
        "278d960aae1b2f0b8a3fa0c8056ba4aded96b133"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:07:19 2009 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:07:19 2009 -0800"
      },
      "message": "Fix usleep(3) return type to be POSIX-compliant.\n\nPOSIX usleep(3) returns 0 on successful completion, -1 otherwise:\n  http://www.opengroup.org/onlinepubs/007908799/xsh/usleep.html\n\nThis was found by an external user porting native code:\n  http://groups.google.com/group/android-porting/browse_thread/thread/674848f001db0292\n"
    },
    {
      "commit": "278d960aae1b2f0b8a3fa0c8056ba4aded96b133",
      "tree": "0d71be143a13f28587a96cf4ec62a39293223815",
      "parents": [
        "44358b9fed375e7f452b22380e100bc0b536fea2",
        "f197147a787d7415e6e0a1bad15566836c55befb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 04 04:31:23 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:31:23 2009 -0800"
      },
      "message": "am f197147a: am ca07064c: am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u0027f197147a787d7415e6e0a1bad15566836c55befb\u0027\n\n* commit \u0027f197147a787d7415e6e0a1bad15566836c55befb\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "44358b9fed375e7f452b22380e100bc0b536fea2",
      "tree": "f2a59fb57a020c0489accdaff63d59cce1d2cd48",
      "parents": [
        "4cf30fb534df6a87e94966b3beb4979e4b4ed9b7",
        "be71c8142d4225dd9af4742ec050f30fcbc2aa5e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Dec 04 04:29:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:29:36 2009 -0800"
      },
      "message": "am be71c814: am 20b3097d: am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u0027be71c8142d4225dd9af4742ec050f30fcbc2aa5e\u0027\n\n* commit \u0027be71c8142d4225dd9af4742ec050f30fcbc2aa5e\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "f197147a787d7415e6e0a1bad15566836c55befb",
      "tree": "8a702642c73970eaa3d25a664346ff951aadf720",
      "parents": [
        "be71c8142d4225dd9af4742ec050f30fcbc2aa5e",
        "ca07064c9ebd8523ed88fa09e97feaaafb7e9c15"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 17:15:16 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:15:16 2009 -0800"
      },
      "message": "am ca07064c: am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u0027ca07064c9ebd8523ed88fa09e97feaaafb7e9c15\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027ca07064c9ebd8523ed88fa09e97feaaafb7e9c15\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "caa17a905a6f73eefbcd913e5c5cab4090f4820b",
      "tree": "23b08888c71168e887dc2086e1abc90775ebfddf",
      "parents": [
        "f7ee5739faeff7e12bb25ae4350ce4a0d22f6d81",
        "5f53a18204ec991f5a77872806eeaa185936aa8c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 17:10:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:10:45 2009 -0800"
      },
      "message": "am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027 into eclair-plus-aosp\n\n* commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "ca07064c9ebd8523ed88fa09e97feaaafb7e9c15",
      "tree": "67fdb8f9f06b8d3b7719e4b0e6af7982703c3ee2",
      "parents": [
        "20b3097d4cc225d948dac38e778a9d3b3b1549db",
        "5f53a18204ec991f5a77872806eeaa185936aa8c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 17:10:14 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:10:14 2009 -0800"
      },
      "message": "am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027 into eclair-mr2\n\n* commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "be71c8142d4225dd9af4742ec050f30fcbc2aa5e",
      "tree": "c48dd6da9835c02e72577334de33cc2f3558be14",
      "parents": [
        "a0783df14eaf9b0d858dd42d4e8a64a738314900",
        "20b3097d4cc225d948dac38e778a9d3b3b1549db"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 16:44:43 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:44:43 2009 -0800"
      },
      "message": "am 20b3097d: am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u002720b3097d4cc225d948dac38e778a9d3b3b1549db\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002720b3097d4cc225d948dac38e778a9d3b3b1549db\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "5f53a18204ec991f5a77872806eeaa185936aa8c",
      "tree": "72403af0ef4438c5d8974622bb9b98602879a7d8",
      "parents": [
        "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 16:14:40 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 16:14:40 2009 -0800"
      },
      "message": "Revert \"Add qsort_r() implementation to the C library.\"\n\nThis reverts commit 754c178ae551aedcbbfd3bfd1c1c3b710d9ad989.\n\nTurns out we don\u0027t need it afterall (needed a stable sort anyways).\nSo, we\u0027ll make that change in the dev branch instead.\n"
    },
    {
      "commit": "20b3097d4cc225d948dac38e778a9d3b3b1549db",
      "tree": "089c6345a6bc314c7b62cd8ba931f731b07aeba8",
      "parents": [
        "df55c64203ac96fa0447357d1d19e6adee52c8d1",
        "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 16:00:48 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:00:48 2009 -0800"
      },
      "message": "am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027 into eclair-mr2\n\n* commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "f7ee5739faeff7e12bb25ae4350ce4a0d22f6d81",
      "tree": "8f1cb49a6db323d0e6512dc929afea5041529a5d",
      "parents": [
        "ece132df48cdb9c4c3206b450f1f55311fd618f4",
        "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 16:00:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:00:26 2009 -0800"
      },
      "message": "am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027 into eclair-plus-aosp\n\n* commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989",
      "tree": "8dc0298a0c8bcbd93b92668e7b888a608e26d229",
      "parents": [
        "e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 17:38:41 2009 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 11:40:15 2009 -0800"
      },
      "message": "Add qsort_r() implementation to the C library.\n\nNOTE: This replaces qsort.c with the FreeBSD version. While\n      the patch changes the source, it should not alter the\n      implementation that should use the exact same algorithm.\n"
    },
    {
      "commit": "c1202510b67f200b668d85ac0190db2b179b0c4d",
      "tree": "d21ef3298289e6418ffe505cd85bb3fb6e7066a1",
      "parents": [
        "00da948b09af535c389f791086cc8e08b3da67dc"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Nov 25 14:16:53 2009 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Nov 25 14:16:53 2009 -0800"
      },
      "message": "Added a comment.\n\nThe structs for stdin/stdout/stderr are formed with a static initializer\nthat needs to be updated if something in FILE is changed.\n"
    },
    {
      "commit": "25f8ea4d40879096a56ae6036543dfe41e701ca5",
      "tree": "2e53836ebbfe00ba85a0adfbef259fbcab71db7e",
      "parents": [
        "62a1bb5acfb4043f5cda66a26533c30e941e7763",
        "01a1f8b080d9d4e619ce00039f195f6fa3aa2045"
      ],
      "author": {
        "name": "Fred Fettinger",
        "email": "fred.fettinger@motorola.com",
        "time": "Mon Nov 23 13:43:42 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 13:43:42 2009 -0800"
      },
      "message": "am 01a1f8b0: am b5239ed1: libc: allow usage of time64.h from cpp code\n\nMerge commit \u002701a1f8b080d9d4e619ce00039f195f6fa3aa2045\u0027\n\n* commit \u002701a1f8b080d9d4e619ce00039f195f6fa3aa2045\u0027:\n  libc: allow usage of time64.h from cpp code\n"
    },
    {
      "commit": "01a1f8b080d9d4e619ce00039f195f6fa3aa2045",
      "tree": "b498b2eaf9e522fb981adb53da4625db017ad06a",
      "parents": [
        "9cb69cf4dc8962204715a7662c7d0e778a7ee113",
        "b5239ed16aeba648f1c9bcb7a4887b8a41670326"
      ],
      "author": {
        "name": "Fred Fettinger",
        "email": "fred.fettinger@motorola.com",
        "time": "Mon Nov 23 13:39:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 13:39:03 2009 -0800"
      },
      "message": "am b5239ed1: libc: allow usage of time64.h from cpp code\n\nMerge commit \u0027b5239ed16aeba648f1c9bcb7a4887b8a41670326\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027b5239ed16aeba648f1c9bcb7a4887b8a41670326\u0027:\n  libc: allow usage of time64.h from cpp code\n"
    },
    {
      "commit": "b5239ed16aeba648f1c9bcb7a4887b8a41670326",
      "tree": "54f29573800f7d7e2466890dbc3bdd9c95354ba9",
      "parents": [
        "25a3a3ea8cb234bead6d80a71823713b80acfea8"
      ],
      "author": {
        "name": "Fred Fettinger",
        "email": "fred.fettinger@motorola.com",
        "time": "Fri Nov 20 16:57:14 2009 -0600"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Nov 23 16:25:32 2009 -0500"
      },
      "message": "libc: allow usage of time64.h from cpp code\n\nWrapped declarations in time64.h with __BEGIN_DECLS/__END_DECLS so that\nthe prototypes are correctly identified as extern C.\n\nChange-Id: I253453307831c929a6c7174b28b48bceef946fed\nSigned-off-by: Fred Fettinger \u003cfred.fettinger@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "03c643b493d0d6e4385fe5a33d33d2cb945493d2",
      "tree": "409dfcce50223b11168fb23383bfb9618ab65878",
      "parents": [
        "b152dde4cafffb3b37ca60c589f71110ca988c79"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Nov 10 12:15:33 2009 -0800"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Nov 10 12:15:33 2009 -0800"
      },
      "message": "Add stdlib functions mbstowcs() and wcstombs().\n\nAs with the other wchar functions in Bionic, these are really\nminimally functional stubs.\n\nChange-Id: I805bc5642e7bc22d9d730cfc18f9fb4a5f164416\n"
    },
    {
      "commit": "b152dde4cafffb3b37ca60c589f71110ca988c79",
      "tree": "7b871a83d4a01c87c58bb62bccb67ea5d2b10af3",
      "parents": [
        "2d04a7847747a3f9b7ad36988486ef775cae1965",
        "83362689f5b1f6393d376d242fe29541b63ead2d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 12:07:54 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 09 12:07:54 2009 -0800"
      },
      "message": "am 83362689: merge from open-source master\n\nMerge commit \u002783362689f5b1f6393d376d242fe29541b63ead2d\u0027\n\n* commit \u002783362689f5b1f6393d376d242fe29541b63ead2d\u0027:\n  added and modified linker to support SuperH architecture\n  Add the BSD sys_signame array.\n  added and modified bionic code to support SuperH architecture\n"
    },
    {
      "commit": "83362689f5b1f6393d376d242fe29541b63ead2d",
      "tree": "729a4fc7fd44630738510d1477e968cb7ec0fa3f",
      "parents": [
        "ecac54db21256952b4b4a9c6f17604ec31743183",
        "ad13c57298e57d33c130fb03a2c6494da573408c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 08:04:48 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 08:04:48 2009 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "10be95cffc7f2b02d8baac55a9cf1b16d8afbadb",
      "tree": "372359d357eb01bd7c3160cb20339c20c317804f",
      "parents": [
        "47c5e30b61bad28731e4acff2d690a4207801f27",
        "ad13c57298e57d33c130fb03a2c6494da573408c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Nov 08 16:09:17 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Nov 08 16:09:17 2009 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "92b10af793da235659198cf38ff2e0237c181058",
      "tree": "66d35bbe34224575dfbf0fde15ec29e424a87ccc",
      "parents": [
        "10093276e98d26428875480c502a278dffe550c7"
      ],
      "author": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Fri Oct 02 15:39:00 2009 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 05 15:50:05 2009 -0800"
      },
      "message": "Add the BSD sys_signame array.\n\nSigned-off-by: Thorsten Glaser \u003ctg@mirbsd.org\u003e\n"
    },
    {
      "commit": "35af95026e01e69cfaf0cb369e918a6638e76be1",
      "tree": "4118f8799620c36f867b96519a7fb0e0bff12246",
      "parents": [
        "051736be135f407472d1d2d13df15f224c7ec4cd",
        "73981476a389847e8537cca37503c43e107fadc9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 16:18:14 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 16:18:14 2009 -0700"
      },
      "message": "am 73981476: merge from open-source master\n\nMerge commit \u002773981476a389847e8537cca37503c43e107fadc9\u0027\n\n* commit \u002773981476a389847e8537cca37503c43e107fadc9\u0027:\n  Fill l_ld of linkmaps with value from soinfo::dynamic.\n  modified kernel headers re-generate tools to support SuperH architecture\n  added syscalls for SuperH which automatically generate by gensyscalls.py\n"
    },
    {
      "commit": "73981476a389847e8537cca37503c43e107fadc9",
      "tree": "a60ed9cc386c36ef6937974e0a729c5d429c57b5",
      "parents": [
        "60c221ccfaf67bdd9cadfd151d0bad9d3f8482ce",
        "4e30c09e57a0351daff70f6657794569445be21c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:18:23 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:18:23 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "cf399f77b83b03cd83da784aa27ef1df71cca78d",
      "tree": "f29e31bbe3fdb1b980862c1a651f42e6f586dc24",
      "parents": [
        "44e55ba8ebd059206bedefba18708af4774db671"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 05 13:19:05 2009 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 05 13:19:05 2009 -0700"
      },
      "message": "Add a GNU-compatible TEMP_FAILURE_RETRY.\n\nI wondered about #ifndef, but the other macros in here don\u0027t use it.\n\nI also wondered about __GNUC__, since this macro uses two GCC extensions.\n"
    },
    {
      "commit": "9641805419d30e8bfa4624cf54f823b7a3a9e320",
      "tree": "568749b845330d30a6f6918db48f8def50cc7111",
      "parents": [
        "7910e39d197bc32ed79a144d06279c2be3c7f296",
        "d154954f02691618fdf73a5a97336e64cad37af0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 23 12:20:52 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 23 12:20:52 2009 -0700"
      },
      "message": "am d154954f: Merge change 26419 into eclair\n\nMerge commit \u0027d154954f02691618fdf73a5a97336e64cad37af0\u0027 into eclair-plus-aosp\n\n* commit \u0027d154954f02691618fdf73a5a97336e64cad37af0\u0027:\n  Add pthread_mutex_lock_timeout_np\n"
    },
    {
      "commit": "3f56b7f65adb9ee35cd0f878ca00b92011eec427",
      "tree": "94c29385b9f2afa873c61ddad29b12f7e9b8432a",
      "parents": [
        "916edf2a3fc60e08a5f29cd322d9f2a04d15cb49"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 12:40:22 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 22 15:17:50 2009 -0700"
      },
      "message": "Add pthread_mutex_lock_timeout_np\n\nThis is used to perform a mutex lock for a given amount of\nmilliseconds before giving up. Using the _np prefix since this\nis absolutely not portable.\n\nAlso remove a compiler warning in pthread_attr_getstackaddr\n"
    },
    {
      "commit": "4e30c09e57a0351daff70f6657794569445be21c",
      "tree": "9b429261a70ccc3bddddb3d46ffbec1e36f75971",
      "parents": [
        "5632aeb83862a50e39dae9b7da2d7e2e5a8cb0d3",
        "336efb5267e465ac52d78327d37f79553b3f0584"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Sun Sep 20 23:39:18 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Sun Sep 20 23:39:18 2009 -0700"
      },
      "message": "Merge change 10538\n\n* changes:\n  added syscalls for SuperH which automatically generate by gensyscalls.py\n"
    },
    {
      "commit": "895244b2ab91b34ab03efc78417ee1eb73f3e7ba",
      "tree": "3804d2df015633253f48beaaf268eb10f02a2543",
      "parents": [
        "b8a18d059b8bde9a04e5778a0074a54413328472",
        "a246a71975c1b4a939421ed20fdd8557f93de46f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Sep 16 16:21:35 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Sep 16 16:21:35 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "c88110e284d6fcb5922c72f524dc3b4f24139580",
      "tree": "1ce89bf15bf0bd5825beccd3f229014e4d7147d6",
      "parents": [
        "a90528ad3420c571987f2124955646dae88007b6"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Sep 08 10:54:45 2009 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Mon Sep 14 16:45:50 2009 +0200"
      },
      "message": "Define 64 bit types if compiling with -std\u003dc99\n\nCompiling with -std\u003dc99 defines __STRICT_ANSI__, but the 64 bit types\nand type macros should still be defined in this case.\n\nThis helps compiling third party code that needs -std\u003dc99 with the NDK.\n"
    },
    {
      "commit": "842cdcd2f63992dcdbe30e90a29c6d5ba2169f0e",
      "tree": "631e3a83f536bc08f8915e8f91151b3df9bb19e4",
      "parents": [
        "c0ed4229589ff66f42963fd24508b7dcddfe0e1f",
        "9e74f697e0178a0e9b6133a2b270cc7fed9920bf"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 09 15:13:56 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 09 15:13:56 2009 -0700"
      },
      "message": "am 9e74f697: libc: add void to clock() function prototype\n\nMerge commit \u00279e74f697e0178a0e9b6133a2b270cc7fed9920bf\u0027 into eclair-plus-aosp\n\n* commit \u00279e74f697e0178a0e9b6133a2b270cc7fed9920bf\u0027:\n  libc: add void to clock() function prototype\n"
    },
    {
      "commit": "9e74f697e0178a0e9b6133a2b270cc7fed9920bf",
      "tree": "39baca0c5a52427d3d17a3258fc16ee9d7d7a295",
      "parents": [
        "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 09 14:58:19 2009 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 09 14:58:19 2009 -0700"
      },
      "message": "libc: add void to clock() function prototype\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "00fb8b45d9d3fdf3db0dfb93df9a94a89f94f68d",
      "tree": "2afefc79c8b55b6d7d10fc858307a33bf5bf740d",
      "parents": [
        "2e5bd8f8aab94e46f309e25b39c7dac17dca6fce",
        "cc05d1271680d6a7804bc89d3b1fe14c40b32396"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 01 08:27:42 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 01 08:27:42 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "8f53951b054d5d8267f4550a4bc726e09e66fc2d",
      "tree": "16806f714206d7b41c43a49f76c7e263e0e0ee03",
      "parents": [
        "f76b577feda846cc8bb0a53a485006127aecca5c",
        "70f1280ca9ccbf211da5514f01a77fad54e546a4"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 21 11:25:21 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Aug 21 11:25:21 2009 -0700"
      },
      "message": "Merge change 10749\n\n* changes:\n  Make sure size_t is defined before used in strings.h\n"
    },
    {
      "commit": "70f1280ca9ccbf211da5514f01a77fad54e546a4",
      "tree": "62092cccd12a6c62d9f2e89e49766f560e6f948e",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Jul 22 11:41:02 2009 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Jul 22 11:41:02 2009 +0200"
      },
      "message": "Make sure size_t is defined before used in strings.h\n\nOtherwise, including strings.h as the first file in a C file yields errors.\n\nThis fixes issue 3332.\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": "336efb5267e465ac52d78327d37f79553b3f0584",
      "tree": "5113da0deda9f253fd6964e129132b8a2fb8545e",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Wed Jul 01 15:35:27 2009 +0900"
      },
      "committer": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Wed Jul 01 15:35:27 2009 +0900"
      },
      "message": "added syscalls for SuperH which automatically generate by gensyscalls.py\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": "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": "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": "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": "edbe7fc97bab7ff0684053d1be564330689bf3ad",
      "tree": "271db0992a091d68f17f073ba9573c4698f97ce1",
      "parents": [
        "78bf5fc677a2d25d50598b01781eafacdb5e6afe"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 22:20:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 22:20:24 2009 -0700"
      },
      "message": "auto import //branches/master/...@140412\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "6f04a0f4c72acff80dad04828cb69ef67fa609d1",
      "tree": "915db7d93cb742f72b5d3819e69f48cb29c40a15",
      "parents": [
        "2489551343aa89fc539f369f7689c941b78c08d1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "9f65adf2ba3bb15feb8b7a7b3eef788df3fd270e",
      "tree": "c06064fc9022ef63a40f83a91292103784f49780",
      "parents": [
        "d37527501c85edcb3a6a7c8a0b6297d52d434897"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:43:56 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:43:56 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "d37527501c85edcb3a6a7c8a0b6297d52d434897",
      "tree": "f005d945ce90569b8e63cf42294ab42dddab52c2",
      "parents": [
        "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2",
      "tree": "2cbd43daa6744ed80e833528f8cbfc0c485e5253",
      "parents": [
        "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:07 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:07 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\n"
    },
    {
      "commit": "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc",
      "tree": "8de86895228b63728c3a134c8b1fcab003db467d",
      "parents": [
        "4e468ed2eb86a2406e14f1eca82072ee501d05fd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
