)]}'
{
  "log": [
    {
      "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": "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": "f4394458301909a83b7ee7f3b436c038b7235ea8",
      "tree": "e2647ebf9aa7491c5cb3a96fb00af61ab89f1eae",
      "parents": [
        "bb7928ccdae0cc5766f290e18ab14b07d80c6912"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 12 10:05:59 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 12 10:05:59 2010 -0700"
      },
      "message": "fix build\n\nChange-Id: I243c98e20a250e0d40d481f16af481ff070219fd\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": "c3581dc78a51180d3550d0d04596657cb2db852c",
      "tree": "16afa49179291157e58d2bf380b673348248aa1a",
      "parents": [
        "7911e057a5ff835157d253d13e24c2cd9a26e935",
        "c1f8dd9f0b0fe4d3953edefd2d6172573f6b7504"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 11 10:43:56 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue May 11 10:43:56 2010 -0700"
      },
      "message": "Merge \"Sometimes the compiler is very right! Found bug in bessel routines for float.\""
    },
    {
      "commit": "7911e057a5ff835157d253d13e24c2cd9a26e935",
      "tree": "c89be411efcbf388d8257742a0427ac32b41075f",
      "parents": [
        "16b59c4c384a62a9b86efe060a6373506cde6e93",
        "72d3489612b77d4544e500a2a2a1783914ee56b7"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue May 11 10:20:15 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue May 11 10:20:15 2010 -0700"
      },
      "message": "Merge \"Reduce compiler anxiety.\""
    },
    {
      "commit": "16b59c4c384a62a9b86efe060a6373506cde6e93",
      "tree": "a4c225ae46c545b7c924020ae05a97168d350a96",
      "parents": [
        "6ba5efd59ad9b56ece0fe4e5c36c287368b41ad4",
        "4fd42c1dc002fa19349fa0d4ef97757eb1815032"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue May 11 10:17:00 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue May 11 10:17:00 2010 -0700"
      },
      "message": "Merge \"Added support for LD_PRELOAD\""
    },
    {
      "commit": "6ba5efd59ad9b56ece0fe4e5c36c287368b41ad4",
      "tree": "3da88d61cc3e919d3297b3a6a182e932141bbfec",
      "parents": [
        "161232820c715ec12952b859593ea05c458d6916",
        "051ea9bc07809a2638e5f022ae10330e23530f64"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon May 10 16:04:02 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 16:04:02 2010 -0700"
      },
      "message": "Merge \"stdio: simplify __fremovelock()\""
    },
    {
      "commit": "161232820c715ec12952b859593ea05c458d6916",
      "tree": "a34a964f8ebddc4da652eee037d755f2e069c71a",
      "parents": [
        "d791da79432064bc954fedf8d4e4394aaafefe75",
        "fb02ec25e9058af056cfd77f8d071b8be1270642"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 10 16:00:22 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 16:00:22 2010 -0700"
      },
      "message": "Merge \"Reversed order of const and static to hush warning from compiler.\""
    },
    {
      "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": "4fd42c1dc002fa19349fa0d4ef97757eb1815032",
      "tree": "76b67f6f6f087f8aced1da660754f7f3086c184f",
      "parents": [
        "d791da79432064bc954fedf8d4e4394aaafefe75"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Thu Dec 31 12:09:10 2009 -0600"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 10 15:09:19 2010 -0700"
      },
      "message": "Added support for LD_PRELOAD\n\nThe LD_PRELOAD environment variable allows the user to specify a list of\nlibraries which should be unconditionally loaded before any others.  This\nmakes possible some useful tricks, such as library interposers.\n\nChange-Id: I433d775ab08ef63a5fbe7b21f87a5642954fc32f\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": "c1f8dd9f0b0fe4d3953edefd2d6172573f6b7504",
      "tree": "c101ce0c0a5b72ffc23b0aaebe6a6c3cc5313899",
      "parents": [
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c"
      ],
      "author": {
        "name": "Scott Turner",
        "email": "scotty@l5computing.com",
        "time": "Sat Jan 16 11:30:44 2010 -0500"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 07 15:02:36 2010 -0700"
      },
      "message": "Sometimes the compiler is very right! Found bug in bessel routines for float.\n\nOriginal compiler error:\n\ntarget arm C: libm \u003c\u003d bionic/libm/src/e_j0f.c\nbionic/libm/src/e_j0f.c: In function \u0027j0f\u0027:\nbionic/libm/src/e_j0f.c:66: warning: comparison between signed and unsigned integer expressions\nbionic/libm/src/e_j0f.c: In function \u0027y0f\u0027:\nbionic/libm/src/e_j0f.c:140: warning: comparison between signed and unsigned integer expressions\ntarget arm C: libm \u003c\u003d bionic/libm/src/e_j1.c\n\nIt\u0027s subtle but ix is masked with 0x7f000000 so it can never ever have a value\ngreater than 0x80000000. So I switched to using the unmasked hx and added a\ncast as a reward to the compiler for being right.\n\nI checked the original routines that e_j0f.c was ported from (in e_j0.c) and\nthe double\u0027s don\u0027t use 0x80000000 so this issue didn\u0027t exist there.\n\nLet that be a warning to those that just slap on casts to shut up the compiler,\nsometimes it\u0027s sniffed out a bug for you. :-)\n\nSimilar fixes in the other functions.\n\nChange-Id: I7a776e5d4721fc3a9e3bd89179b67e9af3a2ebfa\n"
    },
    {
      "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": "3472348067c6fc76b361196217b4feaaffd57641",
      "tree": "32d6c36cfb0bdbabfc6051344ad1cb23f450eaeb",
      "parents": [
        "5751c54bf1c84ad9b1e23a6909c59431c973deae"
      ],
      "author": {
        "name": "Yi Sun",
        "email": "beyounn@gmail.com",
        "time": "Wed Dec 02 00:08:14 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:50:04 2010 -0700"
      },
      "message": "linker: fix the undefined weak symbols issue\n\nI\u0027m not sure if this is a correct fix or not.\nAlso need to find out why 1.6 does not have this issue.\n\nChange-Id: If46c844834bda1e2cbf084a1a45a1832119b3ae3\n"
    },
    {
      "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": "5ef5272be985dfdeafa86077c306f6b64d334240",
      "tree": "bad11901e83b227c7bac5e773ad6e06cf4eda089",
      "parents": [
        "95faecefdea0f55edafdba09052a904df7cd2405",
        "1698d9ebfc7e27271852a1fdf305a2ac37b3ebe4"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:10:08 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:10:08 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I518bb4ae9d7269957365561d4d609f22cde519db\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": "1698d9ebfc7e27271852a1fdf305a2ac37b3ebe4",
      "tree": "0affbb40a92f4391db962805610d78e71ac5f043",
      "parents": [
        "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Thu Dec 31 12:17:56 2009 -0600"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Thu Apr 08 10:14:47 2010 -0500"
      },
      "message": "Fixed support for RTLD_NEXT in dlsym()\n\nThe previous implementation of this flag was broken--it behaved identically\nto RTLD_DEFAULT.  This adds a proper implementation, which examines the address\nof the calling function, and uses it to determine which library to use to begin\nthe symbol search process.\n\nChange-Id: I2ad2b46363f68932af63a3828a22f9c7987eea67\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": "d04672513351af4eb302692e0f39fd5bd17191cb",
      "tree": "0ea1cef08bcfedafa705e3374863d51ec69080e1",
      "parents": [
        "5ffedb22c856ae5731324b43832ab3f5309683f2",
        "4ad72f89b12fe0157074a253190f6aa2cbfe15ac"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:19:51 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:19:51 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I483fedf77d978b1c6e52d73eebc14f011bb9f809\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": "4ad72f89b12fe0157074a253190f6aa2cbfe15ac",
      "tree": "f1b76dea170bdd2b4a107034958fd82de3c2eb2c",
      "parents": [
        "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b",
        "3cab22c8cf0dcf30718a1452ce9cbb637876cea3"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 15:49:42 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 15:49:42 2010 -0700"
      },
      "message": "Merge \"linker: fix the undefined weak symbols issue\""
    },
    {
      "commit": "3cab22c8cf0dcf30718a1452ce9cbb637876cea3",
      "tree": "119a7ffa38d392147813a75a6af3247dd688917a",
      "parents": [
        "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd"
      ],
      "author": {
        "name": "Min-su, Kim",
        "email": "min-su.kim@windriver.com",
        "time": "Tue Jan 19 10:05:33 2010 +0900"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Mon Mar 29 15:43:09 2010 -0700"
      },
      "message": "linker: fix the undefined weak symbols issue\n"
    },
    {
      "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": "5586838babaa9e8a6cf31547f4ba0d3bc333b336",
      "tree": "052572a224ddd40087bab33599d538f77d8c5d0d",
      "parents": [
        "58060c50bc4228a7d0253338cae0437211759959",
        "8f92500fa93d174d077af28d8af3e3cb732e0aff"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:21:52 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:21:52 2010 -0700"
      },
      "message": "Merge \"optimize delete/delete[] operators by removing unneeded branch\""
    },
    {
      "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": "92e712f60dae8f099004c439291362efd02f6889",
      "tree": "470c169003761ecd1b8e03bc1ff84ff4514c0a69",
      "parents": [
        "55cd975f3467f8803a997061b4a60c91393d7528",
        "d378c68d74cb4fdac450650fe816c9d649c8edaf"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 09 11:13:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 09 11:13:35 2010 -0800"
      },
      "message": "Merge \"Fix spurious DNS lookups in the C library.\""
    },
    {
      "commit": "55cd975f3467f8803a997061b4a60c91393d7528",
      "tree": "d663e6e175696c79db19bed5afbc480297d4625a",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:04:02 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:04:02 2010 -0800"
      },
      "message": "Add an empty CleanSpec.mk\n\nChange-Id: Id233ea6f854253776f57e64196e262c5a057e654\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": "cb58a8221c678299a6be9403136c6f348bd9dbdc",
      "tree": "45e4640d831de5cd34cee001ec042216a3876003",
      "parents": [
        "2e5491b8f29fefa6324bc49befaa8f2ef4c80c9a",
        "f199d2d503133fe744f78c414184936658a64663"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 03 18:02:33 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 03 18:02:33 2010 -0800"
      },
      "message": "Merge \"QUalcomm H.264 encoder support.\""
    },
    {
      "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": "2e5491b8f29fefa6324bc49befaa8f2ef4c80c9a",
      "tree": "5d3b311f885dd053f4b816f69e8961ee21c37938",
      "parents": [
        "9f6915631b918a56e0e6be958fb14d274cbab322",
        "71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Wed Mar 03 11:07:09 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 03 11:07:09 2010 -0800"
      },
      "message": "am 71fbeecd: (-s ours) am fd5b1bb8: Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n\nMerge commit \u002771fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb\u0027\n\n* commit \u002771fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb\u0027:\n  Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n"
    },
    {
      "commit": "71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb",
      "tree": "614c8284cd1c609dcc2ebc540ccd77b2a7ff5481",
      "parents": [
        "f197147a787d7415e6e0a1bad15566836c55befb",
        "fd5b1bb85d0a971fd8469112a157380c4d3a146f"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Wed Mar 03 10:51:34 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 03 10:51:34 2010 -0800"
      },
      "message": "am fd5b1bb8: Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n\nMerge commit \u0027fd5b1bb85d0a971fd8469112a157380c4d3a146f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027fd5b1bb85d0a971fd8469112a157380c4d3a146f\u0027:\n  Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n"
    },
    {
      "commit": "fd5b1bb85d0a971fd8469112a157380c4d3a146f",
      "tree": "e11bd80576f8ee1625f13d4a81808621e9dde557",
      "parents": [
        "ca07064c9ebd8523ed88fa09e97feaaafb7e9c15"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Nov 10 12:15:33 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Mar 03 10:25:29 2010 -0800"
      },
      "message": "Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n\nAs with the other wchar functions in Bionic, these are really\nminimally functional stubs.\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": "5c734644eebf8d01be1e86cbe20a111a5c5a2738",
      "tree": "5e442dc0157ec487f51a65f85f87fe2bd66fd0cf",
      "parents": [
        "e100f52f4ad1b70762bbcc5ad9828bd258917ee5"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jan 20 12:36:51 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Feb 11 10:46:48 2010 -0800"
      },
      "message": "Fix debug output in the dynamic linker.\n\nThis provides a mini-printf implementation that reduces the\nsize of the dynamic linker by 25 KB, by preventing the drag of\nformatting-related routines from the C library.\n\nAlso allow traces to be sent to the log, instead of stdout.\n\nNOTE: You now need to modify Android.mk to enable/disable debug\n      output.\n"
    },
    {
      "commit": "e100f52f4ad1b70762bbcc5ad9828bd258917ee5",
      "tree": "084f45cde2c5f3650370130e37a063af2ed1b968",
      "parents": [
        "16f7d16f9f0273bed58f5e8c74eb0ee11eaa8037"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Feb 10 15:19:37 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Feb 10 19:14:35 2010 -0800"
      },
      "message": "bionic/linker: rename ba_prelink to ba_nonprelink\n\n-- fixes b/2432550\n-- ba_prelink is used to manage non-prelinked libraries, hence ba_nonprelink is\n   a more appropriate name for it\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\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"
}
