)]}'
{
  "log": [
    {
      "commit": "b2c5bd543dcbbc1b2cbf7afd8b124256ce2c128e",
      "tree": "bc8800e46aecc0a879a8ac707ab9759d1412b132",
      "parents": [
        "26f2e4a1639a959513c4ff5981b4eb52757e8012",
        "144c2918668ac0d506a86478d5b9966ad816cec4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 05 10:18:43 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 05 10:18:43 2012 -0700"
      },
      "message": "Merge \"ARM: warn about atexit() calls from legacy shared libraries\""
    },
    {
      "commit": "26f2e4a1639a959513c4ff5981b4eb52757e8012",
      "tree": "f67c125011c1729fd3614304dd7428e6b1bfee22",
      "parents": [
        "82978cae4eec238a9d631d2b61b8985daa02516e",
        "f3cfcd869ded41d25c1f4f4e48e7c374a64f9583"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 05 09:43:35 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 05 09:43:35 2012 -0700"
      },
      "message": "Merge \"ARM: make CRT_LEGACY_WORKAROUND work as intended\""
    },
    {
      "commit": "82978cae4eec238a9d631d2b61b8985daa02516e",
      "tree": "c36a0ec576cfeb799d855a1c96e3c772f113f946",
      "parents": [
        "be19a3671709879ccc0156b94f7ef7540027dc37",
        "3e2d2936b0447ed2f0b0aab3625494b2533cd422"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 07:41:31 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 05 07:41:32 2012 -0700"
      },
      "message": "Merge \"Avoid malloc lock while calling pthread_atfork.\""
    },
    {
      "commit": "be19a3671709879ccc0156b94f7ef7540027dc37",
      "tree": "0bf997b176a15d27a4e057fa4d7e467f45f15e88",
      "parents": [
        "5ff23471303a1b99ddc1e1751662aa45f34b5e21",
        "954923858b34dbe695d202c5a3076f05f269338a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 17:52:39 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 04 17:52:40 2012 -0700"
      },
      "message": "Merge \"termios: add tcdrain\""
    },
    {
      "commit": "5ff23471303a1b99ddc1e1751662aa45f34b5e21",
      "tree": "337fdcbaa20ac4a18f53077b0573ab7e62fb55e8",
      "parents": [
        "e03ab936996a1a46d461cdad463d7f5bca10b051",
        "1ad10a566e042676c95a0bdbf3cbc48e99ddafb2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 16:36:26 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 04 16:36:27 2012 -0700"
      },
      "message": "Merge \"Add getsid system call to bionic\""
    },
    {
      "commit": "e03ab936996a1a46d461cdad463d7f5bca10b051",
      "tree": "60c9e9358eca95ca7151760087289643c4068c5f",
      "parents": [
        "1db615b4ae469c9f33dc1d88b24924ca8efc10ef",
        "63deae5e4f186a453fb6fbab0d8acf314aab4df0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 15:51:55 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 04 15:51:55 2012 -0700"
      },
      "message": "Merge \"Add missing MALLOC_FAILURE_ACTION calls to dlmalloc.\""
    },
    {
      "commit": "63deae5e4f186a453fb6fbab0d8acf314aab4df0",
      "tree": "60c9e9358eca95ca7151760087289643c4068c5f",
      "parents": [
        "1db615b4ae469c9f33dc1d88b24924ca8efc10ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 15:42:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 15:42:23 2012 -0700"
      },
      "message": "Add missing MALLOC_FAILURE_ACTION calls to dlmalloc.\n\nWithout these, sometimes malloc(3) returns NULL without setting errno.\n\nChange-Id: I4708c3f675bf2c878ddcaf012fde7848b255826b\n"
    },
    {
      "commit": "1db615b4ae469c9f33dc1d88b24924ca8efc10ef",
      "tree": "2064bbfedd11f692652778186f5f72d9d7bbcaa8",
      "parents": [
        "6fe901ef38898d9cb6007720940e915f7180fc11",
        "5ac9eee1d3291a0d203a125849b4636a11c0d124"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 13:42:57 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 04 13:42:57 2012 -0700"
      },
      "message": "Merge \"bionic: Fix TINY_ANDROID build\""
    },
    {
      "commit": "5ac9eee1d3291a0d203a125849b4636a11c0d124",
      "tree": "2064bbfedd11f692652778186f5f72d9d7bbcaa8",
      "parents": [
        "6fe901ef38898d9cb6007720940e915f7180fc11"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Aug 31 19:52:15 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 04 13:36:54 2012 -0700"
      },
      "message": "bionic: Fix TINY_ANDROID build\n\n(cherry-pick of 545d5dbbcb0dc9e44323c4f2e687a3aace75a483.)\n\nChange-Id: Ifc91e84ffed5a3a287accabd7f08b02752688db6\n"
    },
    {
      "commit": "954923858b34dbe695d202c5a3076f05f269338a",
      "tree": "e90edc4cc4d2ec303419e563ed8f451fb0d3061c",
      "parents": [
        "6fe901ef38898d9cb6007720940e915f7180fc11"
      ],
      "author": {
        "name": "Vitaly Wool",
        "email": "vitaly.wool@sonyericsson.com",
        "time": "Tue Sep 04 14:11:28 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Sep 04 14:11:28 2012 +0200"
      },
      "message": "termios: add tcdrain\n\nChange-Id: I05c0007f7bcc6ef5295c32f86fafbf1ad31e07fa\n"
    },
    {
      "commit": "1ad10a566e042676c95a0bdbf3cbc48e99ddafb2",
      "tree": "113ce6b3d9940da27f19e77d9234feeafa082671",
      "parents": [
        "8b4e8a937be2e7ac94e52d596813095ef16c9ec8"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Wed Aug 29 11:48:35 2012 +0300"
      },
      "committer": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Mon Sep 03 01:38:34 2012 +0300"
      },
      "message": "Add getsid system call to bionic\n\nAdd getsid() system call to bionic for\nall architectures. This is needed for various tools\n(e.g. perf).\n\nAdding the getsid system call was done in 3 steps:\n() add getsid system call (function name and syscall\nnumber) to libc/SYSCALLS.TXT\n() generate all necessary headers by calling\nlibc/tools/gensyscalls.py. This patch is adding\nthe generated files since the build system\ndoes not call gensyscalls.py.\n() add the system call signature to libc/include/unistd.h\n\nChange-Id: Id69a257e13ec02e1a44085a6b217a3f19ab025b1\nSigned-off-by: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\n"
    },
    {
      "commit": "3e2d2936b0447ed2f0b0aab3625494b2533cd422",
      "tree": "4c2fb816f869b4fad805a02bfc701d20abc20e1e",
      "parents": [
        "6fe901ef38898d9cb6007720940e915f7180fc11"
      ],
      "author": {
        "name": "Kirill Artamonov",
        "email": "kartamonov@nvidia.com",
        "time": "Fri Aug 31 09:19:16 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 31 11:11:40 2012 -0700"
      },
      "message": "Avoid malloc lock while calling pthread_atfork.\n\nExpecting the memory in a forked child process to be sane wrt threading\nis a bad idea. An example of a problem is when the parent process has\nthe malloc lock and a child process is forked. The malloc lock in the\nchild will appear locked by a thread that doesn\u0027t exist.\n\nThis change aims to make bionic more compatible with glibc by reseting\nthe malloc lock in the child forked process, as well as holding it\nduring the fork. This is a feature in dlmalloc 2.8.6 called\nLOCK_AT_FORK. In general this feature isn\u0027t necessary as a forked\nprocess will then exec. Some bad applications rely on being able to use\nfeatures like malloc before the exec and having multiple threads running\nin the parent program. This isn\u0027t a problem with glibc and this patch\nmakes it not a problem for bionic.\n\nUnfortunately for use in bionic, LOCK_AT_FORK has an issue as internally\nit uses pthread_atfork that in bionic uses malloc. This leads to the\nLOCK_AT_FORK initialization deadlocking with pthread_atfork\u0027s call to\nmalloc due to the malloc lock. This change moves the pthread_atfork logic\nin LOCK_AT_FORK to be called without the malloc lock held.\n\nChange-Id: Id68175a564a6abb936ee4488b44d9479f7311f69\n"
    },
    {
      "commit": "6fe901ef38898d9cb6007720940e915f7180fc11",
      "tree": "4c177741d29711f51230bf42e392e36f3f68fcb9",
      "parents": [
        "8b4e8a937be2e7ac94e52d596813095ef16c9ec8",
        "c6d95add30dc24674bdcb39f69812c115e4205fd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 31 08:42:40 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 31 08:42:41 2012 -0700"
      },
      "message": "Merge \"Upgrade to dlmalloc 2.8.6.\""
    },
    {
      "commit": "c6d95add30dc24674bdcb39f69812c115e4205fd",
      "tree": "4e6776adfb8fed41d3b5075d15916ffc11197134",
      "parents": [
        "069c64cdf2d3da7b7ff6ea5d1041f982fb10ab22"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 29 14:04:53 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 29 18:18:29 2012 -0700"
      },
      "message": "Upgrade to dlmalloc 2.8.6.\n\nThis fixes a bug and enables the use of MORECORE_CONTIGUOUS.\n\nChange-Id: Ia7c5d32bdc46e99b3ecb92ee94d1f702c4385d5d\n"
    },
    {
      "commit": "8b4e8a937be2e7ac94e52d596813095ef16c9ec8",
      "tree": "d1b49df05c46910c733439ee4b883a30417ba0c5",
      "parents": [
        "17d9be8ad73170275f25ffe8795a0d04b3e2cd8b",
        "e9b6fc6f82276188404a2839e31a2f4c19f6c336"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 13:56:40 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 13:56:40 2012 -0700"
      },
      "message": "Merge \"Improve the dynamic linker diagnostics.\""
    },
    {
      "commit": "17d9be8ad73170275f25ffe8795a0d04b3e2cd8b",
      "tree": "f2a94f5c73c89c4c08152b1cc877769815834649",
      "parents": [
        "0d7177c0d47517514c81713427fc28e04dc3cd37",
        "829c089f83ddee37203b52bcb294867a9ae7bdbc"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 29 13:54:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 13:54:49 2012 -0700"
      },
      "message": "Merge \"disable _FORTIFY_SOURCE under clang\""
    },
    {
      "commit": "e9b6fc6f82276188404a2839e31a2f4c19f6c336",
      "tree": "ed8f68b580c5192289369c1b79f26b3fa1aadd3e",
      "parents": [
        "0d7177c0d47517514c81713427fc28e04dc3cd37"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 13:10:54 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 13:10:54 2012 -0700"
      },
      "message": "Improve the dynamic linker diagnostics.\n\nLose the pid, only show the name of the function (not its whole signature),\nand include the name of the library we failed to load. (I hadn\u0027t noticed\nthat the library name was missing before because in Java we add that into\nthe UnsatisfiedLinkError detail message.)\n\nThe new output looks like this:\n\n  Cannot load library: soinfo_relocate(linker.cpp:968): cannot locate symbol \"__libc_malloc_default_dispatch\" referenced by \"libc_malloc_debug_leak.so\"...\n\nChange-Id: I3bb5c9780d9aaf3a9e4418ea55bc98122a81f80f\n"
    },
    {
      "commit": "0d7177c0d47517514c81713427fc28e04dc3cd37",
      "tree": "b97bd449eb72ef2e6e7122db332e1801222bfb7d",
      "parents": [
        "069c64cdf2d3da7b7ff6ea5d1041f982fb10ab22",
        "c4d1fecc105063e68a5090a6900b63d1b9a24287"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 13:08:50 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 13:08:50 2012 -0700"
      },
      "message": "Merge \"Clean up warnings in the malloc_debug_* files.\""
    },
    {
      "commit": "829c089f83ddee37203b52bcb294867a9ae7bdbc",
      "tree": "95fb7297694601b1ff65ba0296cfff3a5ee66fd6",
      "parents": [
        "069c64cdf2d3da7b7ff6ea5d1041f982fb10ab22"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 29 12:40:53 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 29 12:47:41 2012 -0700"
      },
      "message": "disable _FORTIFY_SOURCE under clang\n\nClang and _FORTIFY_SOURCE are just plain incompatible with\neach other.  First of all, clang doesn\u0027t understand the\n__attribute__((gnu_inline)) header. Second of all,\nClang doesn\u0027t have support for __builtin_va_arg_pack()\nand __builtin_va_arg_pack_len() (see\nhttp://clang.llvm.org/docs/UsersManual.html#c_unimpl_gcc)\n\nUntil we can resolve these issues, don\u0027t even try using\n_FORTIFY_SOURCE under clang.\n\nChange-Id: I81c2b8073bb3276fa9a4a6b93c427b641038356a\n"
    },
    {
      "commit": "c4d1fecc105063e68a5090a6900b63d1b9a24287",
      "tree": "93dad687b245a981d3c47ede05b43345b86202fe",
      "parents": [
        "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 28 14:15:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 12:08:13 2012 -0700"
      },
      "message": "Clean up warnings in the malloc_debug_* files.\n\nAlso clean up cpplint.py-detected lint.\n\nChange-Id: Ia18e89c4c6878764f8d7ed34b8247e7a8d8fe88b\n"
    },
    {
      "commit": "069c64cdf2d3da7b7ff6ea5d1041f982fb10ab22",
      "tree": "4aab3b7983679d9dd14605b2547bed4cacb03983",
      "parents": [
        "e026b1d89a0dcada499da186d4d94cc3ce5d3ef3",
        "5ed48a4d7fece002afbbd2bd981563aea6e52e24"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 28 13:04:22 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 13:04:22 2012 -0700"
      },
      "message": "Merge \"ARM: make sure __on_dlclose() actually gets called\""
    },
    {
      "commit": "e026b1d89a0dcada499da186d4d94cc3ce5d3ef3",
      "tree": "d7c48961a139387b230a2c86e0a35412a2572e3f",
      "parents": [
        "ad18073897378d3a13aaa6a7e7005f254ab8c1c8",
        "c23092887fce8bf97ff33f72adf2d454946e7271"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 28 12:49:46 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 12:49:46 2012 -0700"
      },
      "message": "Merge \"ARM: remove dummy entries from .so init_array/fini_array\""
    },
    {
      "commit": "ad18073897378d3a13aaa6a7e7005f254ab8c1c8",
      "tree": "1abcd8b4141b83d7ab2a32d29645e69b40bd0cb3",
      "parents": [
        "c410a9613a837790d2ea13aee3f88881e0d54c17",
        "d39c3abd5ad8600fb1d79a0b95a58197197087e0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 28 12:48:00 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 12:48:01 2012 -0700"
      },
      "message": "Merge \"linker: Fix ARM_R_COPY relocations\""
    },
    {
      "commit": "d39c3abd5ad8600fb1d79a0b95a58197197087e0",
      "tree": "9ff42ae50601253e9401fc4e582b415cb6680a99",
      "parents": [
        "a37ce7faa6d6c7355e3c6f6e09e5268cbf29c291"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 24 13:25:51 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 28 11:48:32 2012 -0700"
      },
      "message": "linker: Fix ARM_R_COPY relocations\n\nPer http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044d/IHI0044D_aaelf.pdf\nSection 4.7.1.10, ARM_R_COPY relocations are only suppose to reference shared\nlibraries, not the executable itself.  When resolving an R_ARM_COPY symbol,\nensure we don\u0027t look in our own symbol.\n\nThis partially addresses\nhttp://code.google.com/p/android/issues/detail?id\u003d28598 .  After this\npatch, the printfs generated by the test program are:\n\nglobal \u003d 0x42 (0x401c7000)\nglobal \u003d 0x42 (0x11000)\n\nbefore, the output was:\n\nglobal \u003d 0x42 (0x40071000)\nglobal \u003d 0x0 (0x11000)\n\nI\u0027m still not very happy with this patch, but I think it\u0027s an improvement\nover where we were at before.\n\nThis change was modeled after https://android-review.googlesource.com/38871\n\nChange-Id: Id7ad921e58395e76a36875bcc742ec5eeba53f08\n"
    },
    {
      "commit": "c410a9613a837790d2ea13aee3f88881e0d54c17",
      "tree": "273fe44582ee2d1875e8bb050541103fc0f2486e",
      "parents": [
        "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9",
        "0a150ead18019c0e4e59417ae3c5e8e0d7d2e4f4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 28 10:20:27 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 10:20:27 2012 -0700"
      },
      "message": "Merge \"libc: remove ctors/dtors sections\""
    },
    {
      "commit": "144c2918668ac0d506a86478d5b9966ad816cec4",
      "tree": "5ce7a0dd37fd5722f4c99739cbd2ad11fba87635",
      "parents": [
        "f3cfcd869ded41d25c1f4f4e48e7c374a64f9583"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 28 11:23:06 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 28 11:23:06 2012 +0200"
      },
      "message": "ARM: warn about atexit() calls from legacy shared libraries\n\nLegacy ARM shared libraries use this generic version of atexit(),\nwhich queues exit functions for invocation at program exit, at\nwhich time the library may have been dlclose()\u0027d, causing the\nprogram to crash.\n\nChange-Id: I41ae153c23268daa65ede7fb8966fc3e9caec369\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "f3cfcd869ded41d25c1f4f4e48e7c374a64f9583",
      "tree": "8024ef0103694c92f553fae4221fc220e1a12b00",
      "parents": [
        "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 21 14:13:50 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 28 10:27:02 2012 +0200"
      },
      "message": "ARM: make CRT_LEGACY_WORKAROUND work as intended\n\nTo properly support legacy ARM shared libraries, libc.so needs\nto export the symbols __dso_handle and atexit, even though\nthese are now supplied by the crt startup code.\n\nThis patch reshuffles the existing CRT_LEGACY_WORKAROUND\nconditionally compiled code slightly so it works as the\noriginal author likely intended.\n\nChange-Id: Id6c0e94dc65b7928324a5f0bad7eba6eb2f464b9\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "c23092887fce8bf97ff33f72adf2d454946e7271",
      "tree": "5ab06b362578d2f936e2e322cb96086d965328c8",
      "parents": [
        "404e28ff8c3352a4fa290ae7769922db0172008e"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 28 09:06:07 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 28 09:55:51 2012 +0200"
      },
      "message": "ARM: remove dummy entries from .so init_array/fini_array\n\nThe runtime linker parses the ELF section headers to\ndiscover the size of the init_array and fini_array, so\nthere is no point in putting NULL terminators at the end.\n\nChange-Id: I3246cd585efce9314155600277dd829e9f37d04f\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9",
      "tree": "964de65aa1648cbe2326e3da2e01a94e7b2442b7",
      "parents": [
        "bc366292ff47ad9a5053e213ec253992baeee648",
        "3697b52605230d1479b662dceb27b4ef1fab0567"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Aug 27 16:00:50 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 27 16:00:50 2012 -0700"
      },
      "message": "Merge \"Allow linker to compile with -DLINKER_DEBUG\u003d1\""
    },
    {
      "commit": "bc366292ff47ad9a5053e213ec253992baeee648",
      "tree": "7729246f32491c8e826008a4f8edc50ba7cdce5e",
      "parents": [
        "a37ce7faa6d6c7355e3c6f6e09e5268cbf29c291",
        "ce5ba8bfcd8ecfb7bfee4412f4f686cecc17e39b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 27 15:00:51 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 27 15:00:51 2012 -0700"
      },
      "message": "Merge \"Added missing cache failed notification\""
    },
    {
      "commit": "3697b52605230d1479b662dceb27b4ef1fab0567",
      "tree": "77912852a45c476a7f6439145c01c809324a6082",
      "parents": [
        "a37ce7faa6d6c7355e3c6f6e09e5268cbf29c291"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 24 13:40:25 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 24 17:11:45 2012 -0700"
      },
      "message": "Allow linker to compile with -DLINKER_DEBUG\u003d1\n\nChange-Id: I27e734048cbcb9ed936369115582b3c734de1280\n"
    },
    {
      "commit": "a37ce7faa6d6c7355e3c6f6e09e5268cbf29c291",
      "tree": "de9e60d68ae8b49135e485fc4098648ff5de8372",
      "parents": [
        "26facba288df013fd898f8df12d84e5669ece6eb",
        "c7dcd67d56701a10c14019b17c9499249ab6c252"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 24 15:10:07 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 24 15:10:07 2012 -0700"
      },
      "message": "Merge \"Add missing va_end() to prevent stack corruptions\""
    },
    {
      "commit": "0a150ead18019c0e4e59417ae3c5e8e0d7d2e4f4",
      "tree": "0eb50d447d6cc6f5d8084e4f0dc452c8bc2d74d8",
      "parents": [
        "404e28ff8c3352a4fa290ae7769922db0172008e"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 21 14:47:58 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Wed Aug 22 20:45:26 2012 +0200"
      },
      "message": "libc: remove ctors/dtors sections\n\nNone of the supported ARCHs actually populate these sections,\nso there is no point in keeping them in the binaries.\n\nChange-Id: I21a364f510118ac1114e1b49c53ec8c895c6bc6b\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "26facba288df013fd898f8df12d84e5669ece6eb",
      "tree": "1c7b5df7a238dfbe0284a6db3259724c99d97a8f",
      "parents": [
        "c7de02259052b1eeebbfd3a0c21acf56a7e84357",
        "404e28ff8c3352a4fa290ae7769922db0172008e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 22 11:41:53 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 22 11:41:53 2012 -0700"
      },
      "message": "Merge \"hardening: remove pointless ARM __get_pc() function\""
    },
    {
      "commit": "404e28ff8c3352a4fa290ae7769922db0172008e",
      "tree": "7629a8b01649a2cc760e12e3b46c59508ab70fa9",
      "parents": [
        "1bd035cf119a2e4a667f07907c7860e5ec223cee"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Wed Aug 22 10:37:08 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Wed Aug 22 20:38:54 2012 +0200"
      },
      "message": "hardening: remove pointless ARM __get_pc() function\n\nUseful if you\u0027re trying to defeat ASLR, otherwise not\nso much ...\n\nChange-Id: I17ebb50bb490a3967db9c3038f049adafe2b8ea7\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "c7de02259052b1eeebbfd3a0c21acf56a7e84357",
      "tree": "9570ba9144f949a6064c141547cee78a72fbf745",
      "parents": [
        "1bd035cf119a2e4a667f07907c7860e5ec223cee",
        "c0b4d18d7d23981c1afa6a98ded011849a3c2fe2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 22 07:18:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 22 07:18:50 2012 -0700"
      },
      "message": "Merge \"Use unambiguous mnemonics\""
    },
    {
      "commit": "c0b4d18d7d23981c1afa6a98ded011849a3c2fe2",
      "tree": "9570ba9144f949a6064c141547cee78a72fbf745",
      "parents": [
        "1bd035cf119a2e4a667f07907c7860e5ec223cee"
      ],
      "author": {
        "name": "Kevin Schoedel",
        "email": "kevin.p.schoedel@intel.com",
        "time": "Fri Jun 29 09:23:47 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Tue Aug 21 15:28:23 2012 -0400"
      },
      "message": "Use unambiguous mnemonics\n\nChange-Id: I8da0af54cc3cbf69d9e485eb71bc44a6976b1adc\nAuthor: Kevin P Schoedel \u003ckevin.p.schoedel@intel.com\u003e\nReviewed-by: Edwin Vane \u003cedwin.vane@intel.com\u003e\n"
    },
    {
      "commit": "5ed48a4d7fece002afbbd2bd981563aea6e52e24",
      "tree": "1e8bfc4f98621e45f7e9cbd4cd0964dde3043b2e",
      "parents": [
        "1bd035cf119a2e4a667f07907c7860e5ec223cee"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 21 11:34:46 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 21 12:56:05 2012 +0200"
      },
      "message": "ARM: make sure __on_dlclose() actually gets called\n\nChange-Id: I280e5428b0543cccf17ca36baee4865395928cdb\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "1bd035cf119a2e4a667f07907c7860e5ec223cee",
      "tree": "23bcaa693124968ba88003289019ce0bb36115e5",
      "parents": [
        "7b0d9b798474ab62d4bf67c79ae901f4c4789f27",
        "2f7d7c6538a0049f81121731a15017e20cc847c4"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Tue Aug 21 03:25:45 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 21 03:25:46 2012 -0700"
      },
      "message": "Merge \"Enclosed functions in fenv.h with __BEGIN_DECLS/__END_DECLS\""
    },
    {
      "commit": "2f7d7c6538a0049f81121731a15017e20cc847c4",
      "tree": "23bcaa693124968ba88003289019ce0bb36115e5",
      "parents": [
        "7b0d9b798474ab62d4bf67c79ae901f4c4789f27"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Tue Aug 21 15:41:34 2012 +0800"
      },
      "committer": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Tue Aug 21 15:41:34 2012 +0800"
      },
      "message": "Enclosed functions in fenv.h with __BEGIN_DECLS/__END_DECLS\n\nThose are C funcitons\n\nRelated CL: https://android-review.googlesource.com/#/c/41833/\n\nChange-Id: I4386bcf948ad31c3690c9b7a145103088133d041\n"
    },
    {
      "commit": "7b0d9b798474ab62d4bf67c79ae901f4c4789f27",
      "tree": "f03805631b280765892519eea1093afc663f3fc9",
      "parents": [
        "c37dcd3d3ab8e32c37ce034b8d1772b4a7b9add9",
        "bfc1d97531fa611ad2705c7179134b60e652ead4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 19:35:25 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 20 19:35:25 2012 -0700"
      },
      "message": "Merge \"Restore posix_memalign\""
    },
    {
      "commit": "bfc1d97531fa611ad2705c7179134b60e652ead4",
      "tree": "f03805631b280765892519eea1093afc663f3fc9",
      "parents": [
        "999089181ef60bb67e1a49f2cf6f4ec608a7caf8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 20 18:28:20 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 19:25:39 2012 -0700"
      },
      "message": "Restore posix_memalign\n\nChange-Id: I24e31bcb8b1d8be9375852e76964f09becd11938\n"
    },
    {
      "commit": "c37dcd3d3ab8e32c37ce034b8d1772b4a7b9add9",
      "tree": "68b426388adc78040949e65282fd623d08b7644d",
      "parents": [
        "9417a80e48d3bba4bea814178aaa79b905ebab8c",
        "999089181ef60bb67e1a49f2cf6f4ec608a7caf8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 20 16:12:32 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 20 16:12:33 2012 -0700"
      },
      "message": "Merge \"Upgrade to dlmalloc 2.8.5.\""
    },
    {
      "commit": "999089181ef60bb67e1a49f2cf6f4ec608a7caf8",
      "tree": "68b426388adc78040949e65282fd623d08b7644d",
      "parents": [
        "9417a80e48d3bba4bea814178aaa79b905ebab8c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 17 17:28:15 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 14:12:20 2012 -0700"
      },
      "message": "Upgrade to dlmalloc 2.8.5.\n\nMove dlmalloc code to upstream-dlmalloc to make pulling upstream changes\neasier.\nDeclare pvalloc and malloc_usable_size routines present in malloc.h but with\nmissing implementations. Remove other functions from malloc.h that have\nno implementation nor use in Android.\n\nChange-Id: Ia6472ec6cbebc9ad1ef99f4669de9d33fcc2efb4\n"
    },
    {
      "commit": "9417a80e48d3bba4bea814178aaa79b905ebab8c",
      "tree": "5d178fa4a761b4cb52816b7b990209e34804af9f",
      "parents": [
        "200de748b91d7638a2c434584abcb3840704494b",
        "6d6731adc0cd0fb249a2b73a575e5ab2204643cc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 16:48:14 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 16:48:14 2012 -0700"
      },
      "message": "Merge \"Always define the 64-bit int types.\""
    },
    {
      "commit": "200de748b91d7638a2c434584abcb3840704494b",
      "tree": "d8b4473e1e707d67c487f89e49667a65505bd245",
      "parents": [
        "1771a33d11a24f1c47b1ef75e3726c5d9e751f5b",
        "2932f048327965731c7e1ab9f2968a2ddb1854f5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 16:19:56 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 16:19:56 2012 -0700"
      },
      "message": "Merge \"Fix race condition in pthread_create()\""
    },
    {
      "commit": "2932f048327965731c7e1ab9f2968a2ddb1854f5",
      "tree": "d8b4473e1e707d67c487f89e49667a65505bd245",
      "parents": [
        "1771a33d11a24f1c47b1ef75e3726c5d9e751f5b"
      ],
      "author": {
        "name": "Jurijs Oniscuks",
        "email": "jurijs.oniscuks@sonymobile.com",
        "time": "Thu Jul 05 14:57:38 2012 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 16:18:32 2012 -0700"
      },
      "message": "Fix race condition in pthread_create()\n\nSave thread id to *thread_out before new\nthread is allowed to run else there\u0027s a\nrisk that the thread has finished and\nbeen deleted when *thread_out is assigned.\n\nChange-Id: I6b84c61a8df06840877d4ab036f26feace3192d8\n"
    },
    {
      "commit": "6d6731adc0cd0fb249a2b73a575e5ab2204643cc",
      "tree": "cbcd4f455b22e0183cda7881532ac8afa30e2b80",
      "parents": [
        "1771a33d11a24f1c47b1ef75e3726c5d9e751f5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 14:30:06 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 14:30:06 2012 -0700"
      },
      "message": "Always define the 64-bit int types.\n\nThese preprocessor tricks have caused trouble for -std\u003dgnu99 and -ansi, and\nboth netbsd\u0027s libc and glibc seem to unconditionally define these types.\n\nChange-Id: Ib8dffa341a8ca88f80d275ba2b7f93a4c910ee32\n"
    },
    {
      "commit": "1771a33d11a24f1c47b1ef75e3726c5d9e751f5b",
      "tree": "6629ebe3ee4167d4383022edf4fa7882144a5445",
      "parents": [
        "6c98cdb1924afd3e71d39904557933fa10adaebf",
        "b7beb6907599b36809effe1b4db76039ac649518"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 13:54:43 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 13:54:43 2012 -0700"
      },
      "message": "Merge \"Add link.h for all platforms with dl_phdr_info\""
    },
    {
      "commit": "b7beb6907599b36809effe1b4db76039ac649518",
      "tree": "6629ebe3ee4167d4383022edf4fa7882144a5445",
      "parents": [
        "6c98cdb1924afd3e71d39904557933fa10adaebf"
      ],
      "author": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Fri Aug 17 12:53:29 2012 +0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 12:44:23 2012 -0700"
      },
      "message": "Add link.h for all platforms with dl_phdr_info\n\nThis header is used on bionic build and should be propagated into\nsysroot on toolchain rebuild. Discussion re. this header is here:\nhttp://gcc.gnu.org/ml/gcc-patches/2012-08/msg00936.html\n\nIt is available already in mips NDK platforms:\ndevelopment/ndk/platforms/android-9/arch-mips/include/link.h\n\nChange-Id: I39ff467cdac9f448e31c11ee3e14a6200e82ab57\nSigned-off-by: Pavel Chupin \u003cpavel.v.chupin@intel.com\u003e\n"
    },
    {
      "commit": "ce5ba8bfcd8ecfb7bfee4412f4f686cecc17e39b",
      "tree": "9da96e03431bab909344c3df148ef71ccbe2dd62",
      "parents": [
        "072a7e6ced29d9be29e38721d0ab7de0ba3f7377"
      ],
      "author": {
        "name": "Henrik Engström",
        "email": "henrik.engstrom@sonymobile.com",
        "time": "Wed Jun 20 08:47:52 2012 +0200"
      },
      "committer": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonymobile.com",
        "time": "Fri Aug 17 09:18:47 2012 +0200"
      },
      "message": "Added missing cache failed notification\n\nAdded a missing call to _resolv_cache_query_failed for another fail\ncase where it was missing (it doesn\u0027t go through the error handling\nunder the \"fail\" label). This missing notification caused requests to\nhave to wait for timeout instead of beeing notified on some failed\nrequests.\n\nChange-Id: I904d60269c59b926784e3a397d2a860329f55142\n"
    },
    {
      "commit": "6c98cdb1924afd3e71d39904557933fa10adaebf",
      "tree": "43a2aec8e1e2711606923896fefe0a17c6b794ea",
      "parents": [
        "60ef95e1c1b171635adb4d11289347674b1b8987",
        "7b841f3b4ad121dd64f639c1858b42defffd60bd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 16 23:37:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 16 23:37:50 2012 -0700"
      },
      "message": "Merge \"Don\u0027t over-generalize makefiles.  Host modules always build. This isn\u0027t needed on eng builds.\""
    },
    {
      "commit": "7b841f3b4ad121dd64f639c1858b42defffd60bd",
      "tree": "43a2aec8e1e2711606923896fefe0a17c6b794ea",
      "parents": [
        "60ef95e1c1b171635adb4d11289347674b1b8987"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Aug 15 20:27:04 2012 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 16 22:36:36 2012 -0700"
      },
      "message": "Don\u0027t over-generalize makefiles.  Host modules always build. This isn\u0027t needed on eng builds.\n\nChange-Id: I5821ced7a8a9042fd2094204e07470d8002263ca\n"
    },
    {
      "commit": "60ef95e1c1b171635adb4d11289347674b1b8987",
      "tree": "6629275f2829d31262bc21cd2e2aea9fce4796ff",
      "parents": [
        "449d4634bea0ff8f6b29a2826871279dd654f941",
        "04a83a48ed89f433c78e31106ed50059764797a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 16:58:34 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 16 16:58:34 2012 -0700"
      },
      "message": "Merge \"Enhance getcwd(3) to handle NULL like glibc.\""
    },
    {
      "commit": "04a83a48ed89f433c78e31106ed50059764797a0",
      "tree": "6629275f2829d31262bc21cd2e2aea9fce4796ff",
      "parents": [
        "449d4634bea0ff8f6b29a2826871279dd654f941"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 15:59:12 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 15:59:12 2012 -0700"
      },
      "message": "Enhance getcwd(3) to handle NULL like glibc.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d36085\nChange-Id: I960a1b585887eb66176c61d29c5c61c239a4003f\n"
    },
    {
      "commit": "449d4634bea0ff8f6b29a2826871279dd654f941",
      "tree": "ac36f32a3cd722650d5e27c88af32f7297e08b89",
      "parents": [
        "ae7280994e7845037b667fd6ebdcb6f299ba1aab",
        "9862f5e08bcbf51c80542fb148fc505df140cb95"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 12:09:13 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 16 12:09:13 2012 -0700"
      },
      "message": "Merge \"bionic: add macro protection for MALLOC_ALIGNMENT\""
    },
    {
      "commit": "9862f5e08bcbf51c80542fb148fc505df140cb95",
      "tree": "ac36f32a3cd722650d5e27c88af32f7297e08b89",
      "parents": [
        "ae7280994e7845037b667fd6ebdcb6f299ba1aab"
      ],
      "author": {
        "name": "Jin Wei",
        "email": "wei.a.jin@intel.com",
        "time": "Wed Aug 01 14:48:57 2012 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 16 12:08:36 2012 -0700"
      },
      "message": "bionic: add macro protection for MALLOC_ALIGNMENT\n\nIn previous commit: 2fd81ef7, .mk file has been modified to\nconfigure MALLOC_ALIGNMENT dynamicly according to board config.\nAdd the missing macor protection here.\n\nChange-Id: I703cca2ce0504ab3e11aab226b2c61fcc0c6afa1\nAuthor: Jin Wei \u003cwei.a.jin@intel.com\u003e\nSigned-off-by: Xiaokang Qin \u003cxiaokang.qin@intel.com\u003e\nSigned-off-by: Beare, Bruce J \u003cbruce.j.beare@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\n"
    },
    {
      "commit": "ae7280994e7845037b667fd6ebdcb6f299ba1aab",
      "tree": "7021145d9295aecd22393fdb82af725f2aaae85d",
      "parents": [
        "07cd11251f52ff8a8a98dba795f69aaa75199473",
        "22d366cc09383956dc264ed4641572e609392eee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 17:05:47 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 15 17:05:47 2012 -0700"
      },
      "message": "Merge \"enable clone system call for x86\""
    },
    {
      "commit": "22d366cc09383956dc264ed4641572e609392eee",
      "tree": "8364d1dc738a464cc40bf1ccdaa13ab885f71934",
      "parents": [
        "e1cd69a708d30fbc3b9e0e8d4db67f67fc123b65"
      ],
      "author": {
        "name": "Jin Wei",
        "email": "wei.a.jin@intel.com",
        "time": "Wed Aug 08 15:15:16 2012 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 17:04:50 2012 -0700"
      },
      "message": "enable clone system call for x86\n\nAdd __bionic_clone function for x86, which will be\nused for clone system call.\n\nChange-Id: I889dc9bf4b7ebb4358476e17e6f3233e26491f4d\nSigned-off-by: Jin Wei \u003cwei.a.jin@intel.com\u003e\nSigned-off-by: Xiaokang Qin \u003cxiaokang.qin@intel.com\u003e\nSigned-off-by: Beare, Bruce J \u003cbruce.j.beare@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nAuthor-tracking-BZ: 51414\n"
    },
    {
      "commit": "07cd11251f52ff8a8a98dba795f69aaa75199473",
      "tree": "3f5629b0ee6a0939d471408c20aeb6d3c9e468a0",
      "parents": [
        "e1cd69a708d30fbc3b9e0e8d4db67f67fc123b65",
        "105bc26fa6e5f6a946a2ff144ae316e69c6ce08e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 16:59:21 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 15 16:59:21 2012 -0700"
      },
      "message": "Merge \"Fix comment typos.\""
    },
    {
      "commit": "105bc26fa6e5f6a946a2ff144ae316e69c6ce08e",
      "tree": "3f5629b0ee6a0939d471408c20aeb6d3c9e468a0",
      "parents": [
        "e1cd69a708d30fbc3b9e0e8d4db67f67fc123b65"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 16:56:00 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 16:56:00 2012 -0700"
      },
      "message": "Fix comment typos.\n\nChange-Id: I8feeec1ee9935a6d6baebe57f1c0043ff90ff94f\n"
    },
    {
      "commit": "e1cd69a708d30fbc3b9e0e8d4db67f67fc123b65",
      "tree": "cd9ba7f5de95b4435c6eb99695ba15246806d9de",
      "parents": [
        "fe43c768ec803a1febde0424bb5e69c343dd7ae9",
        "32dbc03c73dc1f9d1fcd072086d894a9eb25aecd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 16:51:56 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 15 16:51:56 2012 -0700"
      },
      "message": "Merge \"Regenerate all NOTICE files with the latest version of the script.\""
    },
    {
      "commit": "32dbc03c73dc1f9d1fcd072086d894a9eb25aecd",
      "tree": "cd9ba7f5de95b4435c6eb99695ba15246806d9de",
      "parents": [
        "fe43c768ec803a1febde0424bb5e69c343dd7ae9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 15:43:13 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 15:43:13 2012 -0700"
      },
      "message": "Regenerate all NOTICE files with the latest version of the script.\n\nThis sorts every entry, so we should have more stability and fewer\nmerge conflicts in future.\n\nChange-Id: Ifc5347dc53352da22c82d41ca59b483966fcfc6b\n"
    },
    {
      "commit": "fe43c768ec803a1febde0424bb5e69c343dd7ae9",
      "tree": "614352f0342e88315e758fbf63e35172578f260d",
      "parents": [
        "53493a9b26e9fb665de590abf3502af94eaf3f44",
        "cc213f871bf4c5329eb5eb7a80a0ce9d4a880af8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 15:39:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 15 15:39:49 2012 -0700"
      },
      "message": "Merge \"Switch to the current NetBSD regex implementation.\""
    },
    {
      "commit": "cc213f871bf4c5329eb5eb7a80a0ce9d4a880af8",
      "tree": "614352f0342e88315e758fbf63e35172578f260d",
      "parents": [
        "53493a9b26e9fb665de590abf3502af94eaf3f44"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 15:32:42 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 15:39:11 2012 -0700"
      },
      "message": "Switch to the current NetBSD regex implementation.\n\nChange-Id: If32b28dd85d6a7ab8957ab81d19fa4c0de9499d5\n"
    },
    {
      "commit": "53493a9b26e9fb665de590abf3502af94eaf3f44",
      "tree": "60c863ca2c3423ce80af9f36325f3b0e4ee07223",
      "parents": [
        "b6a971962acdf2684fd98658ec6fe6aa9952d84b",
        "261e2232c18619f7bf49fea6d9266eb314bad398"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 15:31:17 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 14 15:31:18 2012 -0700"
      },
      "message": "Merge \"Sort NOTICE entries.\""
    },
    {
      "commit": "261e2232c18619f7bf49fea6d9266eb314bad398",
      "tree": "60c863ca2c3423ce80af9f36325f3b0e4ee07223",
      "parents": [
        "b6a971962acdf2684fd98658ec6fe6aa9952d84b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 15:04:05 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 15:04:05 2012 -0700"
      },
      "message": "Sort NOTICE entries.\n\nAlso make sure we get the whole of any copyright header, in case\nthere\u0027s text before the \"Copyright\" line.\n\nChange-Id: Iabcc5e0931a39c0107b833539fec7c5a3d134592\n"
    },
    {
      "commit": "b6a971962acdf2684fd98658ec6fe6aa9952d84b",
      "tree": "7c395dc45e732e921d65fe0baaa0315b954fbc87",
      "parents": [
        "b7c6991c9af3882bd13cbf6bc42da85c884aa5f5",
        "bedfe38b8ba512dd6236c00e8b4a9b01c2bd1281"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 15:02:40 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 14 15:02:40 2012 -0700"
      },
      "message": "Merge \"More cleanup.\""
    },
    {
      "commit": "bedfe38b8ba512dd6236c00e8b4a9b01c2bd1281",
      "tree": "7c395dc45e732e921d65fe0baaa0315b954fbc87",
      "parents": [
        "b7c6991c9af3882bd13cbf6bc42da85c884aa5f5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 14:07:59 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 14:07:59 2012 -0700"
      },
      "message": "More cleanup.\n\nMake more stuff static, remove some dead code, and fix a few typos.\n\nChange-Id: I010b0eadeaf61e2899c37014ad1e7082c70bd510\n"
    },
    {
      "commit": "b7c6991c9af3882bd13cbf6bc42da85c884aa5f5",
      "tree": "cee7dc40409ef2c468098369a1ee2b1606902cfd",
      "parents": [
        "b9c6854cd9d5286f991aec66be3a8a57f5e3e7be",
        "74c046400677505aebe9686f111f147c2855cde0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 12:14:29 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 14 12:14:29 2012 -0700"
      },
      "message": "Merge \"Update MS_ mount flags, define unshare() syscall.\""
    },
    {
      "commit": "74c046400677505aebe9686f111f147c2855cde0",
      "tree": "cee7dc40409ef2c468098369a1ee2b1606902cfd",
      "parents": [
        "b9c6854cd9d5286f991aec66be3a8a57f5e3e7be"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Aug 11 14:12:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 12:09:25 2012 -0700"
      },
      "message": "Update MS_ mount flags, define unshare() syscall.\n\n(cherry-pick of 82393decdfc6b0383054fb5d2f54725bbee88b8c.)\n\nBug: 6925012\nChange-Id: I4f962d8975ad62ff4b9983150f9e481796092b9d\n"
    },
    {
      "commit": "b9c6854cd9d5286f991aec66be3a8a57f5e3e7be",
      "tree": "9be31687a081b782a0288563a55e2d69aa8358ca",
      "parents": [
        "c50e019734fb379e2efc1d50e188dd51cf085b96",
        "12c78bbded8ec03f821dfa09174464c04836e4ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 12:07:17 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 14 12:07:18 2012 -0700"
      },
      "message": "Merge \"linker: avoid clobbering the .dynamic section of shared libs\""
    },
    {
      "commit": "c50e019734fb379e2efc1d50e188dd51cf085b96",
      "tree": "bc23c82d6b9a68cfe2b114496399e1561d5db749",
      "parents": [
        "54655eaf92ca91bfe2fa293896059a181e27b6eb",
        "409302f0f9fce73ea4c82bbfd439041cd7923d34"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 11:56:29 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 14 11:56:30 2012 -0700"
      },
      "message": "Merge \"Switch to upstream NetBSD tdelete/tfind/tsearch.\""
    },
    {
      "commit": "12c78bbded8ec03f821dfa09174464c04836e4ea",
      "tree": "bcf31e000dc214688694a6538568b3a49624352c",
      "parents": [
        "54655eaf92ca91bfe2fa293896059a181e27b6eb"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 14 12:30:09 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 14 19:38:28 2012 +0200"
      },
      "message": "linker: avoid clobbering the .dynamic section of shared libs\n\nThis patch removes the DT_NEEDED hack which stores pointers\nto soinfo structs in the .dynamic section of the library\nbeing loaded.\n\nInstead, it caches the soinfo struct pointers on the stack\nduring relocation time. After relocation time, i.e. when\ncalling constructors and destructors of the shared library\nand its dependencies, uncached access is used instead,\ndoing lookups using the string table entries pointed to by\nthe DT_NEEDED entries.\n\nBy removing this hack, it is no longer needed to undo the\nPT_GNURELRO protection, i.e., all non-writable mappings\ncan remain non-writable during their entire lifespan.\n\nEven though, strictly speaking, the algorithmic complexity\nhas increased somewhat, the real-world adverse effect\nis negligible on the systems I have tested.\n\nChange-Id: I2361502560b96b5878f7f94a8e8a215350d70d64\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "409302f0f9fce73ea4c82bbfd439041cd7923d34",
      "tree": "bc23c82d6b9a68cfe2b114496399e1561d5db749",
      "parents": [
        "54655eaf92ca91bfe2fa293896059a181e27b6eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 17:02:11 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 17:41:49 2012 -0700"
      },
      "message": "Switch to upstream NetBSD tdelete/tfind/tsearch.\n\ntdestroy is a GNU extension, so that stays.\n\nChange-Id: Iedebaff25ea7e92b1ab1dd4440da12b67b99aa40\n"
    },
    {
      "commit": "54655eaf92ca91bfe2fa293896059a181e27b6eb",
      "tree": "afbfdd1719af181d8bab2a52cabb938ae3a1f425",
      "parents": [
        "b66bc51423a1f3969d0e70e035126ac4c4898b50",
        "3d2d448af1b16923f5a329b49bb8e658dbad8a06"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:56:17 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 16:56:18 2012 -0700"
      },
      "message": "Merge \"Fix nice...\""
    },
    {
      "commit": "3d2d448af1b16923f5a329b49bb8e658dbad8a06",
      "tree": "afbfdd1719af181d8bab2a52cabb938ae3a1f425",
      "parents": [
        "b66bc51423a1f3969d0e70e035126ac4c4898b50"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:38:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:38:29 2012 -0700"
      },
      "message": "Fix nice...\n\n...by switching to the NetBSD implementation.\n\nChange-Id: I562b27b237a24ded95804035cc322c7bff12ff59\n"
    },
    {
      "commit": "b66bc51423a1f3969d0e70e035126ac4c4898b50",
      "tree": "1c8a574f381c460f2a3708d0a7aa281bba61a7f5",
      "parents": [
        "222eec2ecfc4afcbd5cf0f08e16f69f6c3c424fa",
        "de727caee24df86c3052508aa213f7165168913a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:17:54 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 16:17:55 2012 -0700"
      },
      "message": "Merge \"Clean up warnings in stubs.cpp.\""
    },
    {
      "commit": "de727caee24df86c3052508aa213f7165168913a",
      "tree": "1c8a574f381c460f2a3708d0a7aa281bba61a7f5",
      "parents": [
        "222eec2ecfc4afcbd5cf0f08e16f69f6c3c424fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 15:45:36 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:10:19 2012 -0700"
      },
      "message": "Clean up warnings in stubs.cpp.\n\nSwitch to C++ to get extra warnings, and format the code Google style.\n\nChange-Id: Ifc0131bf297a6ee8a8a6b8d049a02518b0b1a4b7\n"
    },
    {
      "commit": "222eec2ecfc4afcbd5cf0f08e16f69f6c3c424fa",
      "tree": "b660b54bffbb891d9d1550d6ca7a71f9807b740f",
      "parents": [
        "440e417d5f8fb3ab3b5296eaea3720be52086730",
        "bf9441efb8dae6c26ee649f70b8dbb6116932828"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 14:45:27 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 14:45:27 2012 -0700"
      },
      "message": "Merge \"Handle naming for system uids running as secondary users\""
    },
    {
      "commit": "bf9441efb8dae6c26ee649f70b8dbb6116932828",
      "tree": "b660b54bffbb891d9d1550d6ca7a71f9807b740f",
      "parents": [
        "440e417d5f8fb3ab3b5296eaea3720be52086730"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Aug 12 19:51:34 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 14:19:16 2012 -0700"
      },
      "message": "Handle naming for system uids running as secondary users\n\nAllow naming such as u1_system, u2_radio, u2_media.\nForward and reverse mapping for the above.\n\n(cherry-pick of c60a0027b1ef3bc4929d2023e7083fbce12fafe7.)\n\nChange-Id: I46eeb23fee4f57b2907640570504123d3ce99985\n"
    },
    {
      "commit": "440e417d5f8fb3ab3b5296eaea3720be52086730",
      "tree": "910859328e35be8af64308ad002b0d290bc738f1",
      "parents": [
        "66fba00991f03d07c72f809d033b88748f839bda",
        "ae5c64413bf72bc18d7fc81e1f5761824bc01f49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 14:12:02 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 14:12:02 2012 -0700"
      },
      "message": "Merge \"Add dependencies on all the makefiles.\""
    },
    {
      "commit": "ae5c64413bf72bc18d7fc81e1f5761824bc01f49",
      "tree": "910859328e35be8af64308ad002b0d290bc738f1",
      "parents": [
        "66fba00991f03d07c72f809d033b88748f839bda"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 14:06:05 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 14:06:05 2012 -0700"
      },
      "message": "Add dependencies on all the makefiles.\n\nThis should help prevent broken builds next time I\u0027m messing with\nassembler/compiler/linker flags...\n\nChange-Id: I30f15a3ce3c3f3c60cad7bc59aaba9f42d792224\n"
    },
    {
      "commit": "66fba00991f03d07c72f809d033b88748f839bda",
      "tree": "e2fe4a59b29d46be56b8c1695bcb0d1279280a03",
      "parents": [
        "a61ac5257bea15d6cbfc640c03f18c2fb808b139",
        "7d9f1c46bb1dcaf5b92c56980ad7f66b20899ea1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 12:42:01 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 12:42:01 2012 -0700"
      },
      "message": "Merge \"Update arch-mips/asm/unistd.h for the newer syscalls\""
    },
    {
      "commit": "7d9f1c46bb1dcaf5b92c56980ad7f66b20899ea1",
      "tree": "e2fe4a59b29d46be56b8c1695bcb0d1279280a03",
      "parents": [
        "a61ac5257bea15d6cbfc640c03f18c2fb808b139"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Mon Aug 13 11:54:53 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Mon Aug 13 11:54:53 2012 -0700"
      },
      "message": "Update arch-mips/asm/unistd.h for the newer syscalls\n\nChange-Id: Ie292c091cbf4b972e1b5faa7d779645c6e4442f0\n"
    },
    {
      "commit": "a61ac5257bea15d6cbfc640c03f18c2fb808b139",
      "tree": "381d31f88ca04d15d5f83845b02cf1a04abc7ce6",
      "parents": [
        "20b94c0ce99ea3d2315535091c8bcd02f831d252",
        "9181a5dcfe69199415c7aebf93524cc3dd6f8a6f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 11:06:53 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 11:06:53 2012 -0700"
      },
      "message": "Merge \"Fix module constructor order.\""
    },
    {
      "commit": "9181a5dcfe69199415c7aebf93524cc3dd6f8a6f",
      "tree": "381d31f88ca04d15d5f83845b02cf1a04abc7ce6",
      "parents": [
        "20b94c0ce99ea3d2315535091c8bcd02f831d252"
      ],
      "author": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Aug 13 17:58:37 2012 +0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 11:05:47 2012 -0700"
      },
      "message": "Fix module constructor order.\n\n.preinit_array goes before the constructors of LD_PRELOAD-ed libraries.\n\nChange-Id: I1af32ce29eaf3ca4351ae8a0f7f5da5165853216\n"
    },
    {
      "commit": "20b94c0ce99ea3d2315535091c8bcd02f831d252",
      "tree": "1701f9ab36ec421755c02edd07741c39b465e676",
      "parents": [
        "072a7e6ced29d9be29e38721d0ab7de0ba3f7377",
        "5135b3ae6ebc460418f7917bd36b368340e48d5a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Aug 13 09:28:54 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 09:28:54 2012 -0700"
      },
      "message": "Merge \"linker: don\u0027t perform unnecessary mprotects\""
    },
    {
      "commit": "5135b3ae6ebc460418f7917bd36b368340e48d5a",
      "tree": "9352c1ef42d3972e8e202eeabd0e7bfb73799b95",
      "parents": [
        "0bf5cf87c6b7d3de8962ba132ecfb6f0e4b84f06"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 10 21:08:42 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Aug 13 08:50:11 2012 -0700"
      },
      "message": "linker: don\u0027t perform unnecessary mprotects\n\nThe linker only needs to mark the text segment as\nwritable iff the file has text relocations. Unnecessarily\ncalling mprotect when it isn\u0027t necessary is slow, and some\nsecurity enhanced kernels don\u0027t like it. Pages which are\nsimultaneously writable and executable are considered a no-no.\n\nThe vast majority of executables / shared libraries on Android\ndo NOT have text relocations.\n\nChange-Id: Ic38ce30a99b7e33ecf21efd9c108547a58eafa35\n"
    },
    {
      "commit": "072a7e6ced29d9be29e38721d0ab7de0ba3f7377",
      "tree": "d87d5fa1a2d5d142d054a88bc51390ab07cdc614",
      "parents": [
        "0bf5cf87c6b7d3de8962ba132ecfb6f0e4b84f06",
        "a4c7933b49f1d43579f184167e79a5fb237bd206"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 11 09:36:05 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 11 09:36:05 2012 -0700"
      },
      "message": "Merge \"MIPS support to the libc Makefile\""
    },
    {
      "commit": "a4c7933b49f1d43579f184167e79a5fb237bd206",
      "tree": "d87d5fa1a2d5d142d054a88bc51390ab07cdc614",
      "parents": [
        "0bf5cf87c6b7d3de8962ba132ecfb6f0e4b84f06"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Aug 07 12:23:24 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 17:24:02 2012 -0700"
      },
      "message": "MIPS support to the libc Makefile\n\nChange-Id: Ia1f3f545ca61a5abb235e99046cb3cdaf24d4205\n"
    },
    {
      "commit": "0bf5cf87c6b7d3de8962ba132ecfb6f0e4b84f06",
      "tree": "426d35e13761faf006baf4c824a7141214cc6efc",
      "parents": [
        "316ee626b729e3f66a5505a20128af26440cfd19",
        "06f0e74a2b957db93fed3fdd49fe939ab2fe1595"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Fri Aug 10 16:46:09 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 16:46:09 2012 -0700"
      },
      "message": "Merge \"Set the dynamic field in the link map for the linker itself.\""
    },
    {
      "commit": "06f0e74a2b957db93fed3fdd49fe939ab2fe1595",
      "tree": "264d6b411c8ab418a7fbcf4a88b075fe4d8d2286",
      "parents": [
        "709bb0f79ced522e5fb145182472ee4063b85368"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Fri Aug 10 16:07:02 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Fri Aug 10 16:07:02 2012 -0700"
      },
      "message": "Set the dynamic field in the link map for the linker itself.\n\nOtherwise gdb will print a spurious warning each time gdb is used:\n\nwarning: .dynamic section for \"/system/bin/linker\" is not at the expected\naddress (wrong library or version mismatch?)\n\nBUG:6946614\nChange-Id: Ib21b8db0615751189c1601140deb43bc089289b6\n"
    },
    {
      "commit": "316ee626b729e3f66a5505a20128af26440cfd19",
      "tree": "5fb2924dc06c35a0b4d333b95cc07ad6bc9678be",
      "parents": [
        "38a02b4b80f50aa1b3e2ee39e9e98146cf42be3d",
        "abd10011a7a6066df76de7acf5eecb2cc870b0c4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 15:05:35 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 15:05:36 2012 -0700"
      },
      "message": "Merge \"MIPS support to sigsuspend and sigwait routines\""
    },
    {
      "commit": "38a02b4b80f50aa1b3e2ee39e9e98146cf42be3d",
      "tree": "59f41bd4f862043c07d4584753882dd269706c69",
      "parents": [
        "3ede900b644c2a7c2fa41177b81735c8a09bd14a",
        "6eee1fc68f366651379e776e4e3408069772562f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 10 14:29:26 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 14:29:27 2012 -0700"
      },
      "message": "Merge \"crtend*: Add GNU_STACK note\""
    },
    {
      "commit": "6eee1fc68f366651379e776e4e3408069772562f",
      "tree": "433070baed2a5fdad07a47ff6144a0a204662412",
      "parents": [
        "a1822dced3ed8625438b3cbf1c53f907f78a3a48"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 10 14:00:17 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 10 14:12:00 2012 -0700"
      },
      "message": "crtend*: Add GNU_STACK note\n\nAdd a GNU_STACK marker to crtend* files. This tells the linker\nthat these files do not require an executable stack.\n\nWhen linking, a missing GNU_STACK marker in any .o file can prevent\nthe compiler from automatically marking the final executable as NX\nsafe (executable stack not required).  In Android, we normally work\naround this by adding -Wa,--noexecstack / -Wl,-z,noexecstack.\nFor files like crtend.S / crtend_so.S, which are included in every\nexecutable / shared library, it\u0027s better to add the GNU_STACK note\ndirectly to the assembly file.  This allows the compiler to\nautomatically mark the final executable as NX safe without any\nspecial command line options.\n\nReferences: http://www.gentoo.org/proj/en/hardened/gnu-stack.xml\n\nChange-Id: I07bd058f9f60ddd8b146e0fb36ba26ff84c0357d\n"
    },
    {
      "commit": "3ede900b644c2a7c2fa41177b81735c8a09bd14a",
      "tree": "eeaf3ffa53db74486485674d5f5e72a8ab587878",
      "parents": [
        "a1822dced3ed8625438b3cbf1c53f907f78a3a48",
        "f8b3a920a895a53b207017249080087d562bd0d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 14:03:06 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 14:03:06 2012 -0700"
      },
      "message": "Merge \"Revert \"Revert \"Switch to NetBSD\u0027s strxfrm(3).\"\"\""
    },
    {
      "commit": "a1822dced3ed8625438b3cbf1c53f907f78a3a48",
      "tree": "b2551cb78763e46097c8f4e9911c14071d0047b7",
      "parents": [
        "f91e2f72861643e1d31ffc3e6c374b52d33d2423",
        "e36c826f7a6580227e9e70f6ec70aa88ba0f577e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 12:59:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 12:59:49 2012 -0700"
      },
      "message": "Merge \"Add unshare() syscall.\""
    },
    {
      "commit": "e36c826f7a6580227e9e70f6ec70aa88ba0f577e",
      "tree": "d36ec57b36b908d06e3d277c0eb1e486ca18da89",
      "parents": [
        "4ec9e343cf445c5032d9a782d2e92b1dba713e61"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 10 11:17:59 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 12:57:43 2012 -0700"
      },
      "message": "Add unshare() syscall.\n\n(cherry-pick of 5467f25f82934d611c60f8bc57a05114f3c1bea0.)\n\nBug: 6925012\nChange-Id: Ic5ea2fbd606311087de05d7a3594df2fa9b2fef9\n"
    },
    {
      "commit": "f91e2f72861643e1d31ffc3e6c374b52d33d2423",
      "tree": "a3b4a738637240ed6b2e2d9afa258d6b5450374d",
      "parents": [
        "4ec9e343cf445c5032d9a782d2e92b1dba713e61",
        "01030e6388019bc89e8d2959b9e787d31d3faa43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 12:27:05 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 12:27:06 2012 -0700"
      },
      "message": "Merge \"Fix typo in SIGTTOU description.\""
    }
  ],
  "next": "01030e6388019bc89e8d2959b9e787d31d3faa43"
}
