)]}'
{
  "log": [
    {
      "commit": "44b53ad6818de344e0b499ad8fdbb21fcb0ff2b6",
      "tree": "9a2c45004114f53c4cf1f9468a58fe54c58320fa",
      "parents": [
        "8397cdba9424febeaed4068829a5b0174ee1138c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 20:18:47 2013 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 12:20:33 2013 -0800"
      },
      "message": "Revert \"Revert \"Pull the pthread_key_t functions out of pthread.c.\"\"\n\nThis reverts commit 6260553d48f6fd87ca220270bea8bafdde5726ec\n\n(Removing the accidental libm/Android.mk change.)\n\nChange-Id: I6cddd9857c31facc05636e8221505b3d2344cb75\n"
    },
    {
      "commit": "6260553d48f6fd87ca220270bea8bafdde5726ec",
      "tree": "9c2cb4dfb830d7918a0d0b8ecfbf25bf87bcc453",
      "parents": [
        "ad59322ae432d11ff36dcf046016af8cfe45fbe4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 20:18:16 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 11 20:18:16 2013 +0000"
      },
      "message": "Revert \"Pull the pthread_key_t functions out of pthread.c.\"\n\nThis reverts commit ad59322ae432d11ff36dcf046016af8cfe45fbe4\n\nsomehow my unfinished libm/Android.mk change got into here.\n\nChange-Id: I46be626c5269d60fb1ced9862f2ebaa380b4e0af\n"
    },
    {
      "commit": "ad59322ae432d11ff36dcf046016af8cfe45fbe4",
      "tree": "04ea728ddd656079ca4b9f228b32c371370be947",
      "parents": [
        "9a9bb243b50be5e3910b8edad72327bc216e72d0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 08 15:46:37 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 12:00:48 2013 -0800"
      },
      "message": "Pull the pthread_key_t functions out of pthread.c.\n\nThis was originally motivated by noticing that we were setting the\nwrong bits for the well-known tls entries. That was a harmless bug\nbecause none of the well-known tls entries has a destructor, but\nit\u0027s best not to leave land mines lying around.\n\nAlso add some missing POSIX constants, a new test, and fix\npthread_key_create\u0027s return value when we hit the limit.\n\nChange-Id: Ife26ea2f4b40865308e8410ec803b20bcc3e0ed1\n"
    },
    {
      "commit": "7582a9c119a4e4d0c306996b2513205889a9fb6c",
      "tree": "44c9126902c7477c5f260323a07a775725c22f55",
      "parents": [
        "d32fdbaf03f688497adbec885e85c0a69f7a4542"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 06 17:08:15 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 06 17:08:15 2013 -0800"
      },
      "message": "Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs.\n\nAlso update the x86 asm.h to support this; we need it for libm assembler\nanyway.\n\nAlso clean up the _FBSDID hack in \u003csys/cdefs.h\u003e.\n\nChange-Id: Iababd977b8110ec022bf7c93f4d62ece47630e7c\n"
    },
    {
      "commit": "24fad01755d33e6772ea3be56b702570bf257d55",
      "tree": "7e2bb950c87cf765f6f6b147840c2dc8a0af097a",
      "parents": [
        "a3120aaf2f4e20261a2ea9fd8862e2b360183fc5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 04 13:44:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 04 13:44:14 2013 -0800"
      },
      "message": "Document the mallinfo struct, add missing attributes.\n\nChange-Id: Ia97acce1f6a83bd8b3ba8dd20efd962bc96f35a9\n"
    },
    {
      "commit": "a0ee07829a9ba7e99ef68e8c12551301cc797f0f",
      "tree": "fefc432ee572779579a16d2868d4181a33399281",
      "parents": [
        "a990cf5b3392c5aef767aee1e67b4d7ef651afc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 30 19:06:37 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 14:51:19 2013 -0800"
      },
      "message": "Upgrade libm.\n\nThis brings us up to date with FreeBSD HEAD, fixes various bugs, unifies\nthe set of functions we support on ARM, MIPS, and x86, fixes \"long double\",\nadds ISO C99 support, and adds basic unit tests.\n\nIt turns out that our \"long double\" functions have always been broken\nfor non-normal numbers. This patch fixes that by not using the upstream\nimplementations and just forwarding to the regular \"double\" implementation\ninstead (since \"long double\" on Android is just \"double\" anyway, which is\nwhat BSD doesn\u0027t support).\n\nAll the tests pass on ARM, MIPS, and x86, plus glibc on x86-64.\n\nBug: 3169850\nBug: 8012787\nBug: https://code.google.com/p/android/issues/detail?id\u003d6697\nChange-Id: If0c343030959c24bfc50d4d21c9530052c581837\n"
    },
    {
      "commit": "6fe67c3cf26cc695881d7cb8a9aa971e4dab1f59",
      "tree": "6a43ffce4ef2904b88cf47262831102fefde3501",
      "parents": [
        "f67219783fa7c38c1f4f077364290d10d3aa1db4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 17:49:12 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 17:49:12 2013 -0800"
      },
      "message": "Fix valgrind build.\n\nChange-Id: Ie375d32565d10f4c0c56da5422f52b68cb069654\n"
    },
    {
      "commit": "a6a3ac59243d8c95c94c3069e9332051f785c05f",
      "tree": "1a8567d1852f147f346240ac6f8187f9e9b526c3",
      "parents": [
        "3db2fc5acb4894a2cb22533b165a0de1bbafc3f6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 15:02:50 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 15:02:50 2013 -0800"
      },
      "message": "Use the NetBSD \u003csys/exec_elf.h\u003e.\n\nReplace a kernel header file dependency with files from NetBSD.\nThey\u0027re more complete, and ELF is ELF, whether you\u0027re on Linux or a BSD.\n\nBug: 7973611\nChange-Id: I83ee719e7efdf432ec2ddbe8be271d05b2f558d7\n"
    },
    {
      "commit": "41b3179c9ef03ebb447cac7f5e8405dce399cb17",
      "tree": "b0fa19272b1a7bb1ca7fe17c35a7374b650913b6",
      "parents": [
        "0a91b11d286446fe7849a6f537b4a21a52f63399"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 28 10:36:31 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 28 10:36:31 2013 -0800"
      },
      "message": "Unit tests for formatting code, fix %%.\n\nAlso fix \u003csignal.h\u003e and \u003cstdio.h\u003e so they don\u0027t cause compiler warnings.\n\nChange-Id: Ib1a746bf01de22d47dbd964de0e6af80a7c96303\n"
    },
    {
      "commit": "8e70b0d5c3ba9cc7e2cf6025a9ae0ae157f5acc9",
      "tree": "1701a2f6710ccf95937d0e4a95fff60efb29e3da",
      "parents": [
        "b3351f12047747b603efb070069e7afdf3040335"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 16:49:47 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 16:49:47 2013 -0800"
      },
      "message": "prctl.h: include sys/cdefs.h\n\nprctl.h uses __BEGIN_DECLS but fails to include sys/cdefs.h\n(where it\u0027s defined).  Code which includes prctl.h without\npreviously including sys/cdefs.h will fail to compile.\n\nFixed.\n\nChange-Id: If4c9f3308f08b93596dcd00e351ae786807e9320\n"
    },
    {
      "commit": "32417fb37642a1f975ec107e6b449ba71196db56",
      "tree": "2a10ccaed29dd6ba733b4338d72fdb786633255f",
      "parents": [
        "778a68e1e57408be04806b5bfc3150aade44bcbf"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 09:28:35 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 09:28:35 2013 -0800"
      },
      "message": "libc: use more secure system properties if available\n\nCurrently, system properties are passed via the environment\nvariable ANDROID_PROPERTY_WORKSPACE and a file descriptor passed\nfrom parent to child. This is insecure for setuid executables,\nas the environment variable can be changed by the caller.\n\nModify system property handling so that we get the properties\nfrom a root owned properties file, rather than using an\nenvironment variable.  Fall back to the environment variable\nif the file doesn\u0027t exist.\n\nBug: 8045561\nChange-Id: I54f3efa98cf7d63d88788da5ce0d19e34fd7851a\n"
    },
    {
      "commit": "f373b11f9ff46a2f4b918b0027d466eaa035297a",
      "tree": "0593a1d072ed88df874187deabd44f3ba9913641",
      "parents": [
        "5496bbf6a3592fd99cee6b8c20c8624c2aeea0c1"
      ],
      "author": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Sun Jan 20 00:15:15 2013 +0800"
      },
      "committer": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Sun Jan 20 00:15:23 2013 +0800"
      },
      "message": "Add const for first argument of sigismember for fit POSIX spec\n\nChange-Id: Icbc67375282f2a22dce02e4bacab15ddae846057\n"
    },
    {
      "commit": "a44e9afdd16105d6f36319cb538666d9cc78435a",
      "tree": "8606530bcdef438dc305894c805f0713edad5306",
      "parents": [
        "f3fe19459fd9263e8cc8a413a5313b1ec3cf3975"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jan 17 15:41:33 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jan 17 15:41:33 2013 -0800"
      },
      "message": "FORTIFY_SOURCE: optimize\n\nDon\u0027t do the fortify_source checks if we can determine, at\ncompile time, that the provided operation is safe.\n\nThis avoids silliness like calling fortify source on things like:\n\n  size_t len \u003d strlen(\"asdf\");\n  printf(\"%d\\n\", len);\n\nand allows the compiler to optimize this code to:\n\n  printf(\"%d\\n\", 4);\n\nDefer to gcc\u0027s builtin functions instead of pointing our code\nto the libc implementation.\n\nChange-Id: I5e1dcb61946461c4afaaaa983e39f07c7a0df0ae\n"
    },
    {
      "commit": "f193b9fc211760938a79703f6e7ca1619de8cee8",
      "tree": "8f2ee03543450a5885d6553911104e3c3978d6fb",
      "parents": [
        "791e26d9598a72376b8a16a5ccfb5d1ae0010965"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 16 09:34:16 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 16 09:40:25 2013 -0800"
      },
      "message": "Fix signalfd for MIPS.\n\nAlso mark signalfd\u0027s sigset_t* argument as non-nullable.\n\nChange-Id: I466e09cdf3fb92480744c496da92274a97f99dd1\n"
    },
    {
      "commit": "2c5153b043b44e9935a334ae9b2d5a4bc5258b40",
      "tree": "a416a91052c38633d963fb5fc193356ae0c45640",
      "parents": [
        "69c89942db2ed472c71aa84903d0259cc84aa074"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 11 14:43:05 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 11 16:44:15 2013 -0800"
      },
      "message": "libc: add getauxval()\n\nAdd support for getauxval().  This method allows a program an easy way\nto retrieve information from the kernel auxiliary vector, and will\nhopefully replace other clumsy ways of accessing this same information.\n\nThis particular function was also added to glibc in glibc 2.16.\nSee the following URLs for more details.\n\n  * http://lwn.net/Articles/519085/\n  * http://www.gnu.org/software/libc/manual/html_node/Auxiliary-Vector.html\n\nThis change is a prerequisite for bug 7959813.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d38441\nChange-Id: Iba19d899df334bddc6f4899077ece2fc87564ea8\n"
    },
    {
      "commit": "a4b2dc016fa62bd172a73c3f8971c805700ffb0f",
      "tree": "e4fdfa1397187776c680825a805ae3672c27c052",
      "parents": [
        "364d9ee62f583bca795a2b40f71a04e272c80389"
      ],
      "author": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Wed Jan 09 15:46:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 13:14:46 2013 -0800"
      },
      "message": "Add signalfd call to bionic\n\nAdd signalfd() call to bionic.\n\nAdding the signalfd call was done in 3 steps:\n- add signalfd4 system call (function name and syscall\n  number) to libc/SYSCALLS.TXT\n- generate all necessary headers by calling\n  libc/tools/gensyscalls.py. This patch is adding\n  the generated files since the build system\n  does not call gensyscalls.py.\n- create the signalfd wrapper in signalfd.cpp and add\n  the function prototype to sys/signalfd.h\n\n(cherry-pick of 0c11611c11f4dc1b6d43587b72c3ccbe8c51a51c, modified to\nwork with older versions of GCC still in use on some branches.)\n\nChange-Id: I4c6c3f12199559af8be63f93a5336851b7e63355\n"
    },
    {
      "commit": "fb5e5cbdd4e1d75594c37ebb544c0f46482a027b",
      "tree": "310053af341c83e71625b67eb4cba74d6766fe9b",
      "parents": [
        "26c5b2d460e3b2595eb7f0605edcd02753a13594"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 13:58:49 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 13:58:49 2013 -0800"
      },
      "message": "Fix an off-by-one error in the sigset_t function error handling.\n\nSpotted while running the tests on MIPS, where sigset_t is\nactually large enough. The bits in sigset_t are used such that\nsignal 1 is represented by bit 0, so the range of signals is\nactually [1, 8*sizeof(sigset_t)]; it seems clearer to reword\nthe code in terms of valid bit offsets [0, 8*sizeof(sigset_t)),\nwhich leads to the usual bounds checking idiom.\n\nChange-Id: Id899c288e15ff71c85dd2fd33c47f8e97aa1956f\n"
    },
    {
      "commit": "d73c0b300e2dbaa4cc59f87fc1435661e5e1c736",
      "tree": "5b8137a8949482e82e150494cfe11d73538e1dac",
      "parents": [
        "f0036944a13a76dddda70347032128d4a27081d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 16:25:47 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 16:25:47 2013 -0800"
      },
      "message": "Add AF_CAN and PF_CAN (and other missing families).\n\nChange-Id: I2c183a6f5f7a7e81e87dad85d8c9aff9c43ed33a\n"
    },
    {
      "commit": "a55f63083fb16b2595f517a3260083e5f8cddd02",
      "tree": "a21307c7a280a75b425eac764546fb1460e3eb76",
      "parents": [
        "f6524f8bda87f7d25dad7bed7091a93f3de58728"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 14:23:43 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 14:23:43 2013 -0800"
      },
      "message": "Define _POSIX_MONOTONIC_CLOCK and implement sysconf(_SC_MONOTONIC_CLOCK).\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d39680\nChange-Id: I11cf10a66f9d305868a725f04f581099fb88bbfc\n"
    },
    {
      "commit": "4fa35d8ae80c175425e9525831d7b6a71a3ada60",
      "tree": "aa349c2c944131991af7fcbcd91b1ab54c9c6b4e",
      "parents": [
        "0521ff8234cafcc61060961b2f856fcf4dae1e7d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 16:14:54 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 16:17:33 2012 -0800"
      },
      "message": "Fix \u003cendian.h\u003e and \u003csys/endian.h\u003e.\n\nPreviously we\u0027d been relying on getting the machine-specific \u003cendian.h\u003e\ninstead of the top-level \u003cendian.h\u003e, and \u003csys/endian.h\u003e was basically broken.\nNow, with this patch and the previous patch we should have \u003cendian.h\u003e\nand \u003csys/endian.h\u003e behaving the same. This is basically how NetBSD\u0027s endian.h\nworks, and was probably how ours was originally intended to work.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d39824\nChange-Id: I71de5a507e633de166013a658b5764df9e1aa09c\n"
    },
    {
      "commit": "57874753900865312d7d265d2ca15cb4edb00ef2",
      "tree": "344ba9328ef618db3dec557b592ec5f1f64e272e",
      "parents": [
        "5dfdb701292c53e74e319f277d808e598389c8e7"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Dec 07 09:57:01 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Dec 07 09:57:01 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: remove memcpy overlap checks\n\nThese checks haven\u0027t been as useful as I hoped, and it\u0027s\ncausing a false positive finding.  Remove the overlap\ncompile time checks.\n\nChange-Id: I5d45dde10ae4663d728230d41fa904adf20acaea\n"
    },
    {
      "commit": "9a4d305340e6ce2fc6c3f371f2d7ede446f8c6d4",
      "tree": "e6c29deaf1b6789aa94bb1074db1b9b554033267",
      "parents": [
        "60fb68338b7541b6022fc343857b90c088c399cd"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 03 10:36:13 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 03 10:39:16 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: fortify strrchr\n\nThis change compliments 049e58369c37fdeacd0380a6bf1e078d9baf819f\n\nChange-Id: I27d015d70a520713c7472558a3c427f546d36ee4\n"
    },
    {
      "commit": "46d64ed2e5cf8e37d53b116f2281b4a39cc4f288",
      "tree": "77ef1721b324924e435fbdb9b486a3504578e59f",
      "parents": [
        "3acc908c79aa9cba975861fa23fa2672733b5d5d",
        "da73f655fcbac6e1a8bfd35303cef6f41187d12b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 03 07:45:45 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 07:45:46 2012 -0800"
      },
      "message": "Merge \"Add argument checking to sigemptyset(3) and friends.\""
    },
    {
      "commit": "da73f655fcbac6e1a8bfd35303cef6f41187d12b",
      "tree": "7c85d8bc7ff5cb4a8eebd0ea3a6a808790c26f5d",
      "parents": [
        "16c61f088524756ef0fa1b030719f6745eaef2db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:40:55 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:40:55 2012 -0800"
      },
      "message": "Add argument checking to sigemptyset(3) and friends.\n\nYou could argue that this is hurting people smart enough to have manually\nallocated a large-enough sigset_t, but those people are smart enough to\nimplement their own sigset functions too.\n\nI wonder whether our least unpleasant way out of our self-inflicted 32-bit\ncesspool is to have equivalents of _FILE_OFFSET_BITS such as _SIGSET_T_BITS,\nso calling code could opt in? You\u0027d have to be careful passing sigset_t\narguments between code compiled with different options.\n\nBug: 5828899\nChange-Id: I0ae60ee8544835b069a2b20568f38ec142e0737b\n"
    },
    {
      "commit": "049e58369c37fdeacd0380a6bf1e078d9baf819f",
      "tree": "039599b75477a0759c69af2295e3dd20f293caff",
      "parents": [
        "16c61f088524756ef0fa1b030719f6745eaef2db"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 30 15:15:58 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 30 15:19:15 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: fortify strchr\n\nDetect when strchr reads off the end of a buffer.\n\nChange-Id: I0e952eedcff5c36d646a9c3bc4e1337b959224f2\n"
    },
    {
      "commit": "4a9e837840fda3aaea48aeba85c7c7a8782d2586",
      "tree": "3d74d674ea208fda1676d51bc9d6feecc2cc6bc9",
      "parents": [
        "97b70b2bda47af46adf58dfde61050357114aa1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 11:58:57 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 12:05:18 2012 -0800"
      },
      "message": "Reduce the exposure of the __set_errno implementation detail.\n\nChange-Id: I395e1b46a9491e34fc53e71853e932ea90b3d1cc\n"
    },
    {
      "commit": "3975cec694a0c9b42e3f7e671fcd678da92836c3",
      "tree": "bf92249d492ff0b9902d06950814e18be342a4b8",
      "parents": [
        "50e62e4051c14d7d2a5e07ebe66afd2a81693a26"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 17:25:23 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 17:25:23 2012 -0800"
      },
      "message": "Remove (near-)duplicate definitions of size_t and ssize_t.\n\nThe near duplicates upset fussier compilers that insist that\ntypedefs be exactly the same, but the fix isn\u0027t to make all\ncopies identical...\n\nChange-Id: Icfdace41726f36ec33c9ae919dbb5a54d3529cc9\n"
    },
    {
      "commit": "50e62e4051c14d7d2a5e07ebe66afd2a81693a26",
      "tree": "f7f10ed5c9f20df627ed75aa7772d8ee01b5d5f0",
      "parents": [
        "99ea84b12dd3ebebbbd527b8748f0d74bb1dfc0d",
        "a437bff914aa4416e8a72ea444f226f84c8b11fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 15:51:57 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 15:51:57 2012 -0800"
      },
      "message": "Merge \"Bug: __WINT_TYPE__ and wint_t reference to different types\""
    },
    {
      "commit": "99ea84b12dd3ebebbbd527b8748f0d74bb1dfc0d",
      "tree": "b7c6722716fe156b22db57a8c6571d7a8a62cec6",
      "parents": [
        "5d4b8421b3d040e8c2bdb83c8adb2752eab7b4b6",
        "58aaaa730b5b33bc4ee524eb04985e5b8cf540bb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 14:37:13 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 14:37:14 2012 -0800"
      },
      "message": "Merge \"[MIPS] Fix the MIPS getsid system call\""
    },
    {
      "commit": "58aaaa730b5b33bc4ee524eb04985e5b8cf540bb",
      "tree": "9cc321eaeebff1ba2fe99348d2ac7effd42791b9",
      "parents": [
        "285b02582bc301dede933bf9d161ecd68b1f4257"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Nov 29 11:23:31 2012 -0800"
      },
      "committer": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Nov 29 12:05:25 2012 -0800"
      },
      "message": "[MIPS] Fix the MIPS getsid system call\n\nChange-Id: I30a27941125bccb35d73a572a729ecf7dd555389\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "f27b7fb0567a9cbb642be9d98298cb6668e7db39",
      "tree": "99a6559087e9fcb01aa78852e57054c4f0316b7a",
      "parents": [
        "dea13da3407873e4f3fec9ba1a04b4fdacea07f4"
      ],
      "author": {
        "name": "Hakan Kvist",
        "email": "hakan.kvist@sonymobile.com",
        "time": "Wed Oct 10 08:32:52 2012 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 11:53:33 2012 -0800"
      },
      "message": "Define DEFFILEMODE and friends\n\nDefine the macros ACCESSPERMS, ALLPERMS and DEFFILEMODE.\nThese macros originates from BSD but has been available in glibc\nfor quite some time.\n\nChange-Id: I429cd30aa4e73f53b153ee7740070cebba166c57\n"
    },
    {
      "commit": "a437bff914aa4416e8a72ea444f226f84c8b11fd",
      "tree": "0e1a574df2d0ca81daea1033296040b36de70e24",
      "parents": [
        "8784709a2cfe6d32b5fff2c6b826b8d9cbf73d7b"
      ],
      "author": {
        "name": "Sergey Melnikov",
        "email": "sergey.melnikov@intel.com",
        "time": "Wed Nov 21 19:42:19 2012 +0400"
      },
      "committer": {
        "name": "Sergey Melnikov",
        "email": "sergey.melnikov@intel.com",
        "time": "Mon Nov 26 12:01:58 2012 +0400"
      },
      "message": "Bug: __WINT_TYPE__ and wint_t reference to different types\n\n__WINT_TYPE__ type provided by gcc. It references to unsigned int\ntype for android and linux. Patch corrects wint_t typedef to\n__WINT_TYPE__.\n\nSigned-off-by: Sergey Melnikov \u003csergey.melnikov@intel.com\u003e\nChange-Id: Iabeb9fcb0b7bb303a8b220043e339126f125dd68\n"
    },
    {
      "commit": "c30396f5f225e0b5a83a35432e2d82a7063cfdb9",
      "tree": "84df04116350a6895e76c26490bbcf499a3e3099",
      "parents": [
        "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Mon Oct 29 15:32:54 2012 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 07:44:27 2012 -0700"
      },
      "message": "libc: Fix alphasort() signature (and implementation).\n\nThe declaration for alphasort() in \u003cdirent.h\u003e used the deprecated:\n\n  int alphasort(const void*, const void*);\n\nwhile both Posix and GLibc use instead:\n\n  int alphasort(const struct dirent** a, const struct dirent** b);\n\nSee: http://pubs.opengroup.org/onlinepubs/9699919799/functions/alphasort.html\n\nThis patch does the following:\n\n- Update the declaration to match Posix/GLibc\n- Get rid of the upstream BSD code which isn\u0027t compatible with the new\n  signature.\n- Implement a new trivial alphasort() with the right signature, and\n  ensure that it uses strcoll() instead of strcmp().\n- Remove Bionic-specific #ifdef .. #else .. #endif block in\n  dirent_test.cpp which uses alphasort().\n\nEven through strcoll() currently uses strcmp(), this does the right\nthing in the case where we decide to update strcoll() to properly\nimplement locale-specific ordered comparison.\n\nChange-Id: I4fd45604d8a940aaf2eb0ecd7d73e2f11c9bca96\n"
    },
    {
      "commit": "063cfb2084ea4b12d3c85b2d2c44e888f0857eb4",
      "tree": "ec94389e76f6fd79d573c4a689b7c83c4711edd0",
      "parents": [
        "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 20:55:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 26 16:42:06 2012 -0700"
      },
      "message": "Clean up the implementation of the \u003cdirent.h\u003e functions.\n\nChange-Id: I3c647cc9588525afc41fee90ee468d58cd13503a\n"
    },
    {
      "commit": "e8bcca3a2ca4a70156c72239d62bb68eeb2929fd",
      "tree": "810eacbe3195f2064483973cc55b67384a7c4c32",
      "parents": [
        "fb93e6a5b322a87e61de19421a72d6dfcc82b614"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 12:26:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 12:29:53 2012 -0700"
      },
      "message": "Upgrade more functions to the current upstream NetBSD copy.\n\nChange-Id: Ie0b3f8b3fccef28609eb210434413ebd51d6ef45\n"
    },
    {
      "commit": "ce45fea03ddfd8d6d1900d6777a002dec98ea1e1",
      "tree": "faa21f4c8abfa6500b431ec98e56da7320ffa923",
      "parents": [
        "4e457759893a6a6ab4f84a5aea231d0a11c7bb13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:10:27 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:10:27 2012 -0700"
      },
      "message": "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.\n\nChange-Id: I35ceb09fedf873c5e98e1e26efce5e4f00a17e74\n"
    },
    {
      "commit": "c1b44ecc5385e68e81667068e03b32c2084a85b1",
      "tree": "d80d0045d50a9c5c775dbfb574f0635520ab104c",
      "parents": [
        "4136c3a2b7f7546968c5a305aa2ef0663fcb6c6d"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Oct 17 19:10:11 2012 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Oct 17 19:10:11 2012 +0200"
      },
      "message": "Revert \"libc: Provide ucontext_t/mcontext_t/\u003csys/ucontext.h\u003e\"\n\nThis creates build issues in the internal Android tree.\nWill investigate later.\n\nOriginal patch: https://android-review.googlesource.com/#/c/38875/\n\nChange-Id: I12c5995ebf172890051af42a5d3b31014c9c5117\n"
    },
    {
      "commit": "c124baaf29a948fd8b93e7f1fefc20b659271026",
      "tree": "a2f4e090a3822fc51b94ab9f1bf03117993dd2c5",
      "parents": [
        "a9944cfe9e152ca46afb0a77300ec5a2a1a24e64"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Thu Jul 12 19:06:15 2012 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Oct 17 15:59:23 2012 +0200"
      },
      "message": "libc: Provide ucontext_t/mcontext_t/\u003csys/ucontext.h\u003e\n\nThis patch updates the C library headers to provide ucontext_t\ndefinitions for three architectures.\n\n+ Fix \u003csignal.h\u003e to always define \u0027struct sigcontext\u0027.\n\nThe new declarations are announced with new macros defined in\n\u003csys/cdefs.h\u003e in order to make it easier to adapt client code\nthat already defines its own, incompatible, versions of the\nstructures seen here.\n\nhttp://code.google.com/p/android/issues/detail?id\u003d34784\n\nChange-Id: Ie78c48690a4ce61c50593f6c39639be7fead3596\n"
    },
    {
      "commit": "f8a2c51bf3b85bf86bff905dd1232299d333dafe",
      "tree": "d80d0045d50a9c5c775dbfb574f0635520ab104c",
      "parents": [
        "fcf901d5c0924a71a1405a2535051663281da048"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Thu Sep 13 17:14:00 2012 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Mon Oct 15 18:52:55 2012 +0200"
      },
      "message": "LONG_LONG_MIN/MAX: Move declarations to \u003climits.h\u003e\n\nLONG_LONG_MIN, LONG_LONG_MAX and ULONG_LONG_MAX are\nGLibc-specific macros that are better defined in \u003climits.h\u003e\ninstead of the current exotic location (\u003cpthread.h\u003e).\n\nNote that GCC\u0027s \u003climits.h\u003e only defines these macros\nwhen __GNU_LIBRARY__ is also defined. This is only the\ncase when building against GLibc, so manually redefine\nthe macros here.\n\nNote that using LLONG_MIN/LLONG_MAX/ULLONG_MAX is the\nC99-compliant way to get these values, but it\u0027s easier\nto define these compatibility macros for the sake of\nporting existing code.\n\nChange-Id: I8023918d73b4685238054932f94a4006c1ca7d03\n"
    },
    {
      "commit": "4e75c4b2d745c673f5fe20676f7b53eedbec2853",
      "tree": "c9c6bf19d09422f8ba8a91b8b734867501880bf8",
      "parents": [
        "1ceb9824ab39501e98300bc87f7984ee6b455ce8"
      ],
      "author": {
        "name": "Shuo Gao",
        "email": "shuo.gao@intel.com",
        "time": "Thu Oct 11 13:27:48 2012 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 11 10:24:51 2012 -0700"
      },
      "message": "Fix perf_event_open syscall for x86 and mips\n\nperf_event_open syscall has a different syscall number for\nthe 3 supported architectures: arm, x86 and mips. Currenlty\nonly the arm syscall number is defined for all architectures.\nTracing tools like perf will not work on other architectures\nthan arm.\n\nAdd the different values for perf_event_open on x86 and mips\nand run gensyscalls.py to update generated headers.\n\nChange-Id: I2ed78bd42c0e5df8dbc51d784be49cccda5fab30\nAuthor: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\nSigned-off-by: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\nSigned-off-by: Shuo Gao \u003cshuo.gao@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\n"
    },
    {
      "commit": "7d56ccbfaac2b702e4be0f71038efb7f251ef637",
      "tree": "cd684140bf457eee69547130bb109e264ebdc534",
      "parents": [
        "d3bf954e9ffbdee8d732ccb6ad6143dc31b605fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 17:56:58 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 17:56:58 2012 -0700"
      },
      "message": "Always take GCC\u0027s definition of NULL.\n\nThere\u0027s a (bad) definition of NULL in \u003clinux/stddef.h\u003e, and this\ndefinition of NULL, and the One True definition in the \u003cstddef.h\u003e provided\nby the compiler. This change at least kills one of the bad duplicates.\nKilling the \u003clinux/stddef.h\u003e one is harder, because it\u0027s in a generated\nfile.\n\nChange-Id: Iea4ccb12d6758199f312ea9cd753b84322d5c471\n"
    },
    {
      "commit": "0cc0d250fd3097e4c26b70cdeb5c47caac634069",
      "tree": "96aafbb8f67296aab27a805de9a6fc3536fac910",
      "parents": [
        "fe712e6caedccbbba24bda8429cb0b8cc6057ff1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 15:12:40 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 15:12:40 2012 -0700"
      },
      "message": "Remove useless #defines and incorrect claims from header files.\n\nThe various __need_* macros were write-only.\n\nChange-Id: Id3cca34188e0801fdf93a038b22f2817226ad9c2\n"
    },
    {
      "commit": "422b6ef92c1cca3cfd412621dc3db3b8609fa88c",
      "tree": "6108aeee437a77c0084ff045f6e3fc112733c4de",
      "parents": [
        "eac9eb462ed6f7fcfb791e7a08b4011fcca47829"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 28 10:15:52 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 28 10:15:52 2012 -0700"
      },
      "message": "Define ssize_t if necessary.\n\nChange-Id: I63801cc1f09be5e4ca20a6da7ec3366ba6441afd\n"
    },
    {
      "commit": "eac9eb462ed6f7fcfb791e7a08b4011fcca47829",
      "tree": "3b436a25d9ff22616ca22919ff9026e4426a9243",
      "parents": [
        "e4030e0bfc427e755477bbea69afe60308a62d91"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Sat Sep 08 09:28:30 2012 +0300"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 27 11:38:57 2012 -0700"
      },
      "message": "Add getdelim(3) and getline(3) to bionic\n\nSome userspace programs (e.g. perf) need getline.\n\nChanges:\n() add getdelim.c, getline.c from NetBSD (http://netbsd.org/) under the\nNetBSD Foundation\u0027s (TNF) license (\"2 clause\" Berkeley-style license).\n() add stub for reentrant.h header that is needed by getdelim.c\n() add tests for getdelim(3) and getline(3).\n() update NOTICE file.\n\nChange-Id: I22ed82dd5904b9d7a3695535c04f502be3c27c5d\nSigned-off-by: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\n"
    },
    {
      "commit": "cd587701c8590fb34bb69804b5d3b3c14d3d2508",
      "tree": "d1ffda558ee1c2879ef515d6af99ad587948ccbd",
      "parents": [
        "6e0e03c38bc0e864225b89b3fb273fb56ded8940"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Sep 26 10:02:30 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Sep 26 10:19:31 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: add umask check\n\nVerify that the call to umask makes sense. While this wouldn\u0027t\nhave detected bug 7094213 (because the low order bits were all zero),\nit might detect other similar bugs.\n\nReferences: https://code.google.com/p/android-source-browsing/source/detail?r\u003dacba45cc4b1f98f67fcdeda2f7c13ed57659b92a\u0026repo\u003dplatform--libcore\n\nChange-Id: I966a531d6b3cf8e1c5eacd69bd3cbec475b5fa58\n"
    },
    {
      "commit": "047a285d41e3fe0b1a8071ec19f436baf6f187b2",
      "tree": "a8e32998007fc31fa64c89984f488e266496006b",
      "parents": [
        "51519521979c2daa417f6ca50c175e631c55dfb0",
        "e249b059637b49a285ed9f58a2a18bfd054e5d95"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 14 16:14:48 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 14 16:14:48 2012 -0700"
      },
      "message": "Merge \"Fix \u003csys/klog.h\u003e to correspond to the kernel operations.\""
    },
    {
      "commit": "51519521979c2daa417f6ca50c175e631c55dfb0",
      "tree": "16a2f060eb9fc41657f5fc937d8ab4c3a630006a",
      "parents": [
        "4e9d953a0e9334c0f3519f470b97973c31da5bb6",
        "e77e1afe244097ccad5bb3a3a648a8037e58beac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 14 15:45:46 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 14 15:45:46 2012 -0700"
      },
      "message": "Merge \"Add tty defaults to bionic\""
    },
    {
      "commit": "e249b059637b49a285ed9f58a2a18bfd054e5d95",
      "tree": "c9f0e06e4d27fc02ff2fcbf164ba7d4db4ef06e3",
      "parents": [
        "59726beda5bec7e3db9d0c403a0ef11d0a7f182f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 14 15:42:30 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 14 15:42:30 2012 -0700"
      },
      "message": "Fix \u003csys/klog.h\u003e to correspond to the kernel operations.\n\nThis makes the constants correspond to those in the Linux kernel\u0027s\ninclude/linux/syslog.h, but keeping our old badly-named constants for\nsource compatibility.\n\nChange-Id: Ia47d1299205754cbfffd29ed48b497b53d1edaae\n"
    },
    {
      "commit": "5e58ea07d47c175abf8285ff67e3e9bc0b3a9e8e",
      "tree": "c051dace0b3f96c377b92071e8d2923fb9449e89",
      "parents": [
        "e895e6deaab620f874b3e9f196eb6b67f58dc278"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Sep 12 13:21:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 13 16:54:57 2012 -0700"
      },
      "message": "libc: add ftw / nftw functions\n\nPlease see \"man 3 ftw\" for a description of the\nftw / nftw functions.\n\nThis code is taken directly from netbsd unmodified.\n\nChange-Id: Ia4879ac57212b424adf5281b5e92858e216d0f14\n"
    },
    {
      "commit": "b5f053b5a7deb084e7a052d527e0aa41339ae05c",
      "tree": "a75d6715f7c7c954d22440b8c21c59b01d87e83d",
      "parents": [
        "4a9b7c694a8312160d3cd953a8227c23a1624868"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Sat Sep 08 09:17:54 2012 +0300"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 13 15:18:21 2012 -0700"
      },
      "message": "Make strerror(3) and strsignal(3) thread-safe, and add psignal(3) and psiginfo(3).\n\nChange-Id: I426109db25e907980d6cb3a7a695796e45783b78\n"
    },
    {
      "commit": "86ec05acc9df3098c4e99e5b3ad85dcef66712c7",
      "tree": "722c7b99116ebf1af2032b2daf9e3c428386a65d",
      "parents": [
        "666d06fee9e1d2e1401a4b42d94d01e8f38ad1a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 19:03:02 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 12 12:30:22 2012 -0700"
      },
      "message": "Update the kernel headers to match external/kernel-headers.\n\nNote that the Linux kernel handed over responsibility for most of the\nsocket constants to glibc some time ago. Someone had updated our\nexternal/kernel-headers file but not regenerated the bionic headers,\nso this change copies the missing stuff from the old bionic \u003clinux/socket.h\u003e\ninto \u003csys/socket.h\u003e. This is what glibc does.\n\nI\u0027ve hacked a few of the other files to #include \u003csys/socket.h\u003e for\nbackward compatibility, but even so this requires numerous other\nchanges to switch people over from direct inclusion of \u003clinux/...\u003e headers.\n\nChange-Id: I0e4af64e631d3cef911a31d90f2f806e058278a0\n"
    },
    {
      "commit": "0d207ba624b81038600e71d109c3234912c4125b",
      "tree": "79dd4140a44a2ff914657c70d113017fa10ebfff",
      "parents": [
        "cc8668f261ae5d0ed38961f357e33c026502ed0d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 12 10:51:05 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 12 10:51:05 2012 -0700"
      },
      "message": "Backwards and forwards compatibility for an upcoming \u003csys/socket.h\u003e change.\n\nChange-Id: Iba58077a1f057a968eb2283ebba259975925ff4c\n"
    },
    {
      "commit": "e77e1afe244097ccad5bb3a3a648a8037e58beac",
      "tree": "68f559a988a9d70e25fa45d646ebaf12acbb64b4",
      "parents": [
        "f1d57e16686153b69a27c1eb9e339c77232c0edd"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Sat Sep 08 09:01:00 2012 +0300"
      },
      "committer": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Tue Sep 11 22:47:31 2012 +0300"
      },
      "message": "Add tty defaults to bionic\n\nAdd ttydefaults.h bionic. Some userspace programs (e.g. perf) need the\ndefinitions from this file. This header file is copied from NetBSD\n(http://netbsd.org/) under the NetBSD Foundation\u0027s (TNF) license (“2 clause”\nBerkeley-style license).\n\nChange-Id: I9c862415b52b710f25adb1629a699627cd715775\nSigned-off-by: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\n"
    },
    {
      "commit": "1ad05db9cef23c1ca28ffd51852fa2a0b0c9b4b7",
      "tree": "23595a588bdd3a9bfb5c223e4cc7bc39b8dd84d9",
      "parents": [
        "6e3b0f2d2e89a8f3bbfc5d26dcdc13233c1111ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 06 11:24:45 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 06 11:24:45 2012 -0700"
      },
      "message": "Add mlockall and munlockall for Google TV.\n\nChange-Id: I10e961d701e74aab07211ec7975f61167e387853\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "01030e6388019bc89e8d2959b9e787d31d3faa43",
      "tree": "a3b4a738637240ed6b2e2d9afa258d6b5450374d",
      "parents": [
        "4ec9e343cf445c5032d9a782d2e92b1dba713e61"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 12:23:58 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 12:23:58 2012 -0700"
      },
      "message": "Fix typo in SIGTTOU description.\n\nChange-Id: Ie0db3e7df3e1f17b43f5645d027a90603139be2f\n"
    },
    {
      "commit": "abd10011a7a6066df76de7acf5eecb2cc870b0c4",
      "tree": "7e292a489e0deb6ff7b684de45cdacd4d4b8deb8",
      "parents": [
        "0836a7ffb13890558fe568119b023007cce66373"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Thu Aug 09 10:49:32 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Thu Aug 09 18:51:19 2012 -0700"
      },
      "message": "MIPS support to sigsuspend and sigwait routines\n\nChange-Id: I870e798ed7eac5a8c74e5784a670f3a4f24331a9\n"
    },
    {
      "commit": "d504eee9fa7dda59a41eb3e12ef973f32ee1169f",
      "tree": "92e4d6efec13464eea2683e5bffc71228bd1a328",
      "parents": [
        "f655ce7ef3df277442ccc47f91cb919c1cd9ebd6",
        "6437eac15a5b595ab26ef51834509c44695eb7e4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 08 16:32:55 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 16:32:55 2012 -0700"
      },
      "message": "Merge \"MIPS support to sys/ headers\""
    },
    {
      "commit": "e2731d98c1f0cd32d94b34cc4ee77148d6d52647",
      "tree": "ade26eac4915d3f80abf204f6567a6e73ae6f819",
      "parents": [
        "8173d76740cafc2ceb49d2fddf1ceabfaa823236",
        "d600617645e85435cf98fc30139a6945aaadc1ca"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 06 11:02:19 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 06 11:02:19 2012 -0700"
      },
      "message": "Merge \"When compiling with clang, don\u0027t \"fortify_source\" the strlcpy and strlcat.\""
    },
    {
      "commit": "d600617645e85435cf98fc30139a6945aaadc1ca",
      "tree": "0fc63ef4c40101a78a58f3f94463d5fbab7d2458",
      "parents": [
        "9a3d53fad062cdadb4df81f6998a5e09336c637b"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 06 10:57:37 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 06 10:57:37 2012 -0700"
      },
      "message": "When compiling with clang, don\u0027t \"fortify_source\" the strlcpy and\nstrlcat.\n\nChange-Id: I91f58322f28e425ab9d22b51c23fcd6b772ede97\n"
    },
    {
      "commit": "8173d76740cafc2ceb49d2fddf1ceabfaa823236",
      "tree": "3811d661b0cfe1ab17fc91a029474d9ffc40db03",
      "parents": [
        "601a49d39829005803670088da02179e61719551",
        "2b7f68c03df9df33708280cf3f5e8f5eba81dda6"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 06 10:05:14 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 06 10:05:15 2012 -0700"
      },
      "message": "Merge \"Revert \"Fix the clang build: this compiler doesn\u0027t support the gnu_inline function attribute\"\""
    },
    {
      "commit": "9a3d53fad062cdadb4df81f6998a5e09336c637b",
      "tree": "4692a1999871977640b81adb826da2efb649dc4e",
      "parents": [
        "1c861728e5c8dda7589e6595f4850d77ec21a236"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 06 09:50:56 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 06 09:50:56 2012 -0700"
      },
      "message": "When compiling with clang, don\u0027t \"fortify_source\" the strlen.\n\nAt this point, FORTIFY_SOURCE and clang are just plain incompatible.\nNeed to solve the underlying incompatibility first.\n\nChange-Id: I3366477d19461e1ec93b1c30e0c7e8145b391b9b\n"
    },
    {
      "commit": "2b7f68c03df9df33708280cf3f5e8f5eba81dda6",
      "tree": "204e81c6bda141eeaff9f14b79e6e127f32f190f",
      "parents": [
        "1c861728e5c8dda7589e6595f4850d77ec21a236"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 03 17:44:08 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 03 17:44:08 2012 -0700"
      },
      "message": "Revert \"Fix the clang build: this compiler doesn\u0027t support the gnu_inline function attribute\"\n\nThis reverts commit 4f1f149c3757c594f9ff987e5ddd919c3e7dba10.\n"
    },
    {
      "commit": "4f1f149c3757c594f9ff987e5ddd919c3e7dba10",
      "tree": "cc55e4b8ab3e0d7d5c937ca9dcb68bc51e0e81af",
      "parents": [
        "1e304a3bce347da08f0f9409829d911493bad1bb"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 03 04:20:06 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Aug 03 04:38:15 2012 -0700"
      },
      "message": "Fix the clang build: this compiler doesn\u0027t support the gnu_inline function attribute\n\nRecent clang compiler doesn\u0027t have gnu_inline working. When frameworks/rs\nis compiled with clang instead of gcc, it no longer works. Will be fixed\nby this patch.\n\nChange-Id: I8b281a1305151909e18958b73914ea27343cb4cd\n"
    },
    {
      "commit": "6437eac15a5b595ab26ef51834509c44695eb7e4",
      "tree": "b83b9dcd1a4e4f2c78054878fe7b9136761cb95b",
      "parents": [
        "52f3ee962b384bf247638adb653f0024ce92a895"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Thu Aug 02 16:50:10 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Thu Aug 02 18:03:54 2012 -0700"
      },
      "message": "MIPS support to sys/ headers\n\nChange-Id: I32207a1d918e4842da341f6b242ae39c69a83b03\n"
    },
    {
      "commit": "405b8029a6888f386adf3512113a33546141d1c8",
      "tree": "1e8e2122e5a6c662235c6729fed6b3d32e4abbb4",
      "parents": [
        "a1c0f08d3ccbe5c40be53903615e59113ade4922"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Wed Jul 25 18:16:42 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 02 16:07:26 2012 -0700"
      },
      "message": "MIPS support for libc.\n\nChange-Id: I2864dea04b3faf2d919165dcaa600af5b16c41c8\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Raghu Gandham \u003craghu@mips.com\u003e\n"
    },
    {
      "commit": "ecb53eab4b63a777c189f880e7f88ebbe0e8101b",
      "tree": "ff7c9dafd92ad2b8d6ae119697193580349302eb",
      "parents": [
        "994935f64cdbd7553ecbfbd15d4e4dd429277409"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 02 15:45:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 02 15:45:04 2012 -0700"
      },
      "message": "Fix a ENOTUP/ENOTSUP typo.\n\nChange-Id: Ifa347a09a2aa1f505965ae7c1383fd0caf95793c\n"
    },
    {
      "commit": "da2611084f7b5a05b802af6d5007661f42fc2578",
      "tree": "9f00b8cf4ab354fbb145a05b77d0d9e0178bbb81",
      "parents": [
        "a513f70b43e75136145d756388b50028ac4fc4b8"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Jan 27 17:55:49 2012 -0800"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Wed Aug 01 17:53:07 2012 -0700"
      },
      "message": "Error numbers are target specific.\n\nUse the system supplied error numbers when mapping error numbers to messages.\n\nChange-Id: I520556fa3e2ff668fdc4eda36ad31491fbb48ea8\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Raghu Gandham \u003craghu@mips.com\u003e\n"
    },
    {
      "commit": "958dad705a8c2c191e4352547fc9950c4feaa9fb",
      "tree": "1c73bc42b0aafd48ea3b8317427939f3d4b970b7",
      "parents": [
        "344aca8ced2522074f799439e201226377d02dba"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Mon Jul 23 17:30:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 24 13:56:38 2012 -0700"
      },
      "message": "Fix implementation of generic atomic operations\n\nChange-Id: Ie1ea5aacc561e2d6d40125d2952ed0e9116b7b0d\n"
    },
    {
      "commit": "0351955a686fe4e0bf9f30780f78ff0e2402a6b0",
      "tree": "5ea391c49b5ceb7cb2e44e58be238f038bd32781",
      "parents": [
        "f6ee33cee717f9878d3a43bf76c35547649676d7"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Jul 19 13:50:55 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 19 17:10:14 2012 -0700"
      },
      "message": "Update time.h for CLOCK_BOOTTIME.\n\n(cherry-pick of 8958a383296ea0e1cc106ae245c37671809ffd49)\n\nChange-Id: Ie8de6b32fa81566db53ad7e9fd4b197f4cede628\n"
    },
    {
      "commit": "fabddfe833097ecca92b3547a725879234780468",
      "tree": "5e268ebc6b635e7b4b167b08b235ee67b6789184",
      "parents": [
        "b0f0d4276d459a7a9c71c69d6fe6f0ae2f6bbd22",
        "6331db3fd251ddc350913cc1e8a7941740c25f63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 16 09:39:24 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 09:39:24 2012 -0700"
      },
      "message": "Merge \"limits.h: Include page.h when relying on PAGE_SIZE\""
    },
    {
      "commit": "c37fc1ab6a3ac3956a8c9ba3ac089d41969815ed",
      "tree": "8fd21828b1fc97423bbe5e3652513772260604f3",
      "parents": [
        "e1d909f71e183ac3d1e21af5bb1af35d30e9de5b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 13 17:49:10 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 13 17:58:37 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: revert memcpy changes.\n\nPerformance regressions.  Hopefully this is a temporary\nrollback.\n\nBug: 6821003\nChange-Id: I84abbb89e1739d506b583f2f1668f31534127764\n"
    },
    {
      "commit": "9b6cc223a36835c4367a036d4cfeff14d25bc742",
      "tree": "8fcd143b253225860fbd817cdad02afac00f1be8",
      "parents": [
        "260bf8cfe00f83bc579dfe81c78b75bd9973f051"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 13 14:46:36 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 13 14:49:33 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: introduce __BIONIC_FORTIFY_UNKNOWN_SIZE macro\n\nReplace all occurances of \"(size_t) -1\" with a\n__BIONIC_FORTIFY_UNKNOWN_SIZE macro.\n\nChange-Id: I0b188f6cf31417d2dbef0e1bd759de3f9782873a\n"
    },
    {
      "commit": "260bf8cfe00f83bc579dfe81c78b75bd9973f051",
      "tree": "b8ff686500d30625cb9d5908ecba4895f20a1467",
      "parents": [
        "b2060b027c9eb2748895b53a0d69d40b52371a4e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 13 11:27:06 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jul 13 13:49:59 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: strlen check.\n\nThis test is designed to detect code such as:\n\nint main() {\n  char buf[10];\n  memcpy(buf, \"1234567890\", sizeof(buf));\n  size_t len \u003d strlen(buf); // segfault here with _FORTIFY_SOURCE\n  printf(\"%d\\n\", len);\n  return 0;\n}\n\nor anytime strlen reads beyond an object boundary. This should\nhelp address memory leakage vulnerabilities and make other\nunrelated vulnerabilities harder to exploit.\n\nChange-Id: I354b425be7bef4713c85f6bab0e9738445e00182\n"
    },
    {
      "commit": "f3913b5b68347ce9a4cb17977df2c33f1e8f6000",
      "tree": "fae959e2f8c146b61eb43af80d9ae4918640d2c0",
      "parents": [
        "86a4fca0b473c49bcbcf2deb6b5822aa9ab9631e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jul 12 15:10:03 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jul 12 15:38:15 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: enhanced memcpy protections.\n\nTwo changes:\n\n1) Detect memory read overruns.\n\nFor example:\n\nint main() {\n  char buf[10];\n  memcpy(buf, \"abcde\", sizeof(buf));\n  sprintf(\"%s\\n\", buf);\n}\n\nbecause \"abcde\" is only 6 bytes, copying 10 bytes from it is a bug.\nThis particular bug will be detected at compile time.  Other similar\nbugs may be detected at runtime.\n\n2) Detect overlapping buffers on memcpy()\n\nIt is a bug to call memcpy() on buffers which overlap. For\nexample, the following code is buggy:\n\n  char buf3[0x800];\n  char *first_half  \u003d \u0026buf3[0x400];\n  char *second_half \u003d \u0026buf3[1];\n  memset(buf3, 0, sizeof(buf3));\n  memcpy(first_half, second_half, 0x400);\n  printf(\"1: %s\\n\", buf3);\n\nWe now detect this at compile and run time.\n\nChange-Id: I092bd89f11f18e08e8a9dda0ca903aaea8e06d91\n"
    },
    {
      "commit": "6331db3fd251ddc350913cc1e8a7941740c25f63",
      "tree": "e9283ee8126ded7ce30d2d7a6f5fd4f66cc16ba2",
      "parents": [
        "5af97ca8514d9fb4175bff3a79abf26889b94530"
      ],
      "author": {
        "name": "Arun Raghavan",
        "email": "arun.raghavan@collabora.co.uk",
        "time": "Tue Jan 10 19:37:32 2012 +0530"
      },
      "committer": {
        "name": "Arun Raghavan",
        "email": "arun.raghavan@collabora.co.uk",
        "time": "Tue Jul 10 10:36:37 2012 +0530"
      },
      "message": "limits.h: Include page.h when relying on PAGE_SIZE\n\nlimits.h relies on PAGE_SIZE being defined without actually including\npage.h. Make sure this is included to avoid compilation failures.\n\nSigned-off-by: Arun Raghavan \u003carun.raghavan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "8f08e1c902c726ac5230776c238e5edb6f51f440",
      "tree": "f9089c8166118cf92ec6882f8f269f9b7c255e2b",
      "parents": [
        "a099e8e7d35a0e740477f9362e9360b42b98d9cd",
        "a3e230d1fa9a5ed773a029e2acc6eb4f3e849ea3"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jul 09 12:55:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 09 12:55:32 2012 -0700"
      },
      "message": "Merge \"FORTIFY_SOURCE: Add openat, fix bug\""
    },
    {
      "commit": "a3e230d1fa9a5ed773a029e2acc6eb4f3e849ea3",
      "tree": "6f1dbd761142774dc7bed997d14ec4090c874880",
      "parents": [
        "2ddf77b37731dff3a271c1312fc0bef2e7d41473"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jul 02 12:24:42 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jul 09 12:30:40 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: Add openat, fix bug\n\nAdd fortify_source support for openat(). This change requires that\nan argument be supplied when using O_CREAT.\n\nFix unnecessary call to __open_2. If, at compile time, we know that\n\"flags\" is constant and DOESN\u0027T contain O_CREAT, the call to __open_2\nis useless.\n\nChange-Id: Ifcd29c4fb25e25656961d7552d672e161f0cfdbd\n"
    },
    {
      "commit": "965dbc6405aa2c3170270cfc53a8d4416444fddb",
      "tree": "7764d865c47bc84041f521ac11748ebe986a8871",
      "parents": [
        "2ddf77b37731dff3a271c1312fc0bef2e7d41473"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jul 03 11:45:31 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jul 09 09:57:18 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: add fgets support.\n\nChange-Id: I8c3410a90c71a3336c4ac8581618fa9330edf5e3\n"
    },
    {
      "commit": "bd73eede4661298ddbdafa510c3af347683b5f60",
      "tree": "1f456b74c7ad4f9ca906c0f0d2b67c411a77ecf8",
      "parents": [
        "cb228fb4a91bdccfd974b8a4f45e2b6002e90728",
        "8118f62a7d3f1af1edb47e0bc2a49af1d523ae0f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 27 12:56:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 27 12:56:52 2012 -0700"
      },
      "message": "Merge \"FORTIFY_SOURCE: add open() checks\""
    },
    {
      "commit": "cb228fb4a91bdccfd974b8a4f45e2b6002e90728",
      "tree": "bef755285588a49afc5344e0bedcab6de517b84e",
      "parents": [
        "b52e4385c403d18a68309e568ac729c787d900c4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 16:05:19 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 16:05:19 2012 -0700"
      },
      "message": "libc: cleanups\n\nPrefix private functions with underscores, to prevent name\nconflicts.\n\nUse __error__ instead of error, since occasionally programs will\ncreate their own \"#define error ...\".\n\nChange-Id: I7bb171df58aec5627e61896032a140db547fd95d\n"
    },
    {
      "commit": "8118f62a7d3f1af1edb47e0bc2a49af1d523ae0f",
      "tree": "c385eb2c8e0d083fbc9b8715d2f15b3ac0fc6908",
      "parents": [
        "b52e4385c403d18a68309e568ac729c787d900c4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 15:08:06 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 15:19:12 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: add open() checks\n\nAdd a FORTIFY_SOURCE check which requires that you pass a\n\"mode\" argument when calling open(..., O_CREAT). If a mode isn\u0027t\npassed, then the file is created with \"undefined\" permissions.\n\nChange-Id: I4427be4f9ce170c69da01af5b00fb05b03613a28\n"
    },
    {
      "commit": "70f6901c3dbe6f09c7fc3ebdb18f715915635d70",
      "tree": "eb9e00e1e5e9c7a0c36d04cd17478945dce60d97",
      "parents": [
        "8df49ad2467ec2d48f94a925162185c34bf6e68b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jun 14 13:48:18 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jun 14 13:57:43 2012 -0700"
      },
      "message": "libc: make atoi, atol, and atoll pure functions\n\nChange-Id: Ib831c079c865929b6c91d42f35e117f2e974808f\n"
    },
    {
      "commit": "8df49ad2467ec2d48f94a925162185c34bf6e68b",
      "tree": "00161cd65c6292eebd000699534b554b2c52be0a",
      "parents": [
        "4442d512c66aa32a26fe2e652e55ad05249ea3da"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 13 16:57:27 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jun 14 12:52:42 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: add strlcpy / strlcat support\n\nAdd strlcpy / strlcat support to FORTIFY_SOURCE. This allows\nus to do consistency checks on to ensure we don\u0027t overflow buffers\nwhen the compiler is able to tell us the size of the buffer we\u0027re\ndealing with.\n\nUnlike previous changes, this change DOES NOT use the compiler\u0027s\nbuiltin support. Instead, we do everything the compiler would\nnormally do.\n\nChange-Id: I47c099a911382452eafd711f8e9bfe7c2d0a0d22\n"
    },
    {
      "commit": "a5eaa02f623b14a50f965a7279c2a6ae9f78337f",
      "tree": "118594368871339c5e3756b999fc1dd6da82b71c",
      "parents": [
        "8c54c56723c9b6761e637c81e34b1bd8ee38cf59",
        "b27631b9aee760034ea4aecc5c052e880292c417"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 13 16:13:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 16:13:32 2012 -0700"
      },
      "message": "Merge \"Don\u0027t mark realloc with __attribute__((malloc))\""
    },
    {
      "commit": "b27631b9aee760034ea4aecc5c052e880292c417",
      "tree": "de164c8c7dda506f635464d2838d99b0a9df78e4",
      "parents": [
        "c2f1d215b1786520fa8c371caa97f062e0bfb513"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 13 15:43:14 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 13 15:43:14 2012 -0700"
      },
      "message": "Don\u0027t mark realloc with __attribute__((malloc))\n\nAccording to\nhttp://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html\n\nrealloc should NOT be marked with __attribute__((malloc)). Quoting:\n\n   realloc-like functions do not have this property as the memory\n   pointed to does not have undefined content.\n\nFor reference, __mallocfunc is defined in sys/cdefs.h as:\n\n    #define __mallocfunc  __attribute__((malloc))\n\nChange-Id: I56083542ba92e4608dd7c55fb5596a138eb50cc9\n"
    },
    {
      "commit": "9b549c39c938f54680f282c21e6885f53254bfb0",
      "tree": "8bb4a40d6d9c7f265a58954572097eefa1c2da5e",
      "parents": [
        "c2f1d215b1786520fa8c371caa97f062e0bfb513"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 12 15:59:04 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 13 09:14:30 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: add sprintf / vsprintf support\n\nsprintf FORTIFY_SOURCE protections are not available\non clang.\n\nAlso add various __attribute__s to stdio functions.\n\nChange-Id: I936d1f9e55fe53a68885c4524b7b59e68fed218d\n"
    },
    {
      "commit": "c2f1d215b1786520fa8c371caa97f062e0bfb513",
      "tree": "5fb4e8d1f40d5febb9b605d230654d60af8ed731",
      "parents": [
        "f525fb525b19e76ac9438b7fddeaa3312517a092",
        "cffdf6693ffb50d2a1258d955a162bca83038f25"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 12 08:50:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 08:50:57 2012 -0700"
      },
      "message": "Merge \"FORTIFY_SOURCE: add snprintf, vsnprintf\""
    },
    {
      "commit": "20afd4e70c2f346d7cd03a7a3049f8de2d176d5c",
      "tree": "8aeff6389049ff13c1612e1ff1397d6232735926",
      "parents": [
        "571da80c58e13eac4d4fb29d38342879e5dede13",
        "e0961445124b5ff39412da32578e14e0d1f6afd6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 17:41:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 11 17:41:10 2012 -0700"
      },
      "message": "am e0961445: Merge \"Remove the meaningless on Linux if_dl.h header.\"\n\n* commit \u0027e0961445124b5ff39412da32578e14e0d1f6afd6\u0027:\n  Remove the meaningless on Linux if_dl.h header.\n"
    },
    {
      "commit": "cffdf6693ffb50d2a1258d955a162bca83038f25",
      "tree": "205f5c66002cd0a5f064081142bf1b54507e9a4e",
      "parents": [
        "85b06f9365ae6776deb9fcf09f450f777ace9e34"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jun 11 15:50:57 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jun 11 16:46:16 2012 -0700"
      },
      "message": "FORTIFY_SOURCE: add snprintf, vsnprintf\n\nAdd _FORTIFY_SOURCE support for snprintf, vsnprintf\n\nAt this time, we opt out of these protections for clang, as clang\ndoes not implement __builtin_va_arg_pack().\n\nhttp://clang.llvm.org/docs/UsersManual.html#c_unimpl_gcc\n\nChange-Id: I73ebe5ec8dad1dca8898a76d6afb693a25f75375\n"
    }
  ],
  "next": "c3d45b822cd7d7c359aceba9447a1619b5a2150b"
}
