)]}'
{
  "log": [
    {
      "commit": "e4ffd9f2341f42c9281b4a93df76768580535edd",
      "tree": "ef4a32ac4a578caae3a1b909df84f508f2bf07d0",
      "parents": [
        "475e8dde178f05f91626a22ade795244efe69a3e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 01 13:29:43 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 01 13:29:43 2013 -0700"
      },
      "message": "Regenerate the system call stubs (to get x86_64).\n\nThis touches the x86 stubs too because arm, x86, and x86_64 now\nall share the same header (at a source level), which causes a\nreordering of the #include lines.\n\nChange-Id: If9a1e2b2718bd41d8399fea748bce672c513ef84\n"
    },
    {
      "commit": "01a700e5d2ee9b5bd61546faffcb453fd1d6325c",
      "tree": "aa482e53659f9a08b0059e622a7d38fecb2f3cf0",
      "parents": [
        "f5ea738baa0ad5b32348f2ac42450d33d452ef31"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 30 21:57:07 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 30 21:57:07 2013 -0700"
      },
      "message": "Better statfs/fstatfs glibc compatibility.\n\nChange-Id: I069d169c96cd71b75a045ec911fb4bd484c6b2c9\n"
    },
    {
      "commit": "d3e64a3f403918abf2cc3f9f0f9a2204a420ec96",
      "tree": "ec7cb0e25587096a42ed0fce4a125bf4bba7affd",
      "parents": [
        "76218efbeb2e124656ce15d4eb5a7039da065123"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 30 17:41:08 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 30 18:42:13 2013 -0700"
      },
      "message": "Add x86_64 to the bionic headers.\n\nManual changes:\n\n  cpp.py: cope with macros that refer to other macros.\n\n  defaults.py: x86 no longer always implies __i386__; use __i386__ to replace\n  the kernel CONFIG_X86_32 flag.\n\n  asm/page.h: the upstream page.h isn\u0027t a uapi header and no longer includes\n  the stuff we were using it for. Let\u0027s just have our own static file, since\n  it\u0027s the same for all our architectures (both 32- and 64-bit).\n\n  sys/select.h: we used to use the various FD_SET-related macros from the\n  kernel header files, but they\u0027ve gone. Adjust by adding trivial equivalent\n  definitions.\n\nAutomated changes:\n\n  libc/kernel/arch-x86, libc/kernel/common: regenerated from\n  external/kernel-headers.\n\nChange-Id: I84fc0ed52dc742e043b4ae300fd3b58ee99b7fcd\n"
    },
    {
      "commit": "60f4f9a5b99a0a66817f50edfc2194a49f8b5146",
      "tree": "13900546cac13512fd4dfd37d3f9e98606c750d2",
      "parents": [
        "759111cadf84f337f98177259d9e3f9d39c9eea9"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Sep 24 16:32:07 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Sep 24 16:45:01 2013 -0700"
      },
      "message": "libc: fortify recvfrom()\n\nFortify calls to recv() and recvfrom().\n\nWe use __bos0 to match glibc\u0027s behavior, and because I haven\u0027t\ntested using __bos.\n\nChange-Id: Iad6ae96551a89af17a9c347b80cdefcf2020c505\n"
    },
    {
      "commit": "b4f7616fd618875768b8fffc122b58bdb84a9969",
      "tree": "7a76517ef594dd73dfe18c388483e504fccb0a3d",
      "parents": [
        "f8e71bac14a4bc52cc95c56adfe042c3938279b5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 16:27:24 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 16:27:24 2013 -0700"
      },
      "message": "Ensure we have the off64_t variant of every function that takes an off_t.\n\nChange-Id: Ib2eee0cf13162be3b62559b84e90c6dcf5aab1c3\n"
    },
    {
      "commit": "afcc0cccdafef0c67600cbbc72cee0e7a41f3f04",
      "tree": "506a007c24f06d7ec6415c22901f7485c06b8797",
      "parents": [
        "d5ddf40ecf72a03e38164389555ccdade779ab5a"
      ],
      "author": {
        "name": "Daniel Leung",
        "email": "daniel.leung@intel.com",
        "time": "Wed Sep 18 14:41:18 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 14:11:26 2013 -0700"
      },
      "message": "Add mmap64()\n\nThis adds mmap64() to bionic so that it is possible to have\nlarge offset passed to kernel. However, the syscall mechanism\nonly passes 32-bit number to kernel. So effectively, the\nlargest offset that can be passed is about 43 bits (since\noffset is signed, and the number passed to kernel is number\nof pages (page size \u003d\u003d 4K \u003d\u003e 12 bits)).\n\nChange-Id: Ib54f4e9b54acb6ef8b0324f3b89c9bc810b07281\nSigned-off-by: Andrew Boie \u003candrew.p.boie@intel.com\u003e\n"
    },
    {
      "commit": "bd8e6749b78567af62ec126d7cc057386ebee25a",
      "tree": "949ca8147c4675afb9f0af51e404f535dbd38a93",
      "parents": [
        "eb8f36223e51db626a23b8032f03c095be80998b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 28 13:22:52 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 28 14:27:14 2013 -0700"
      },
      "message": "cdefs.h: introduce __bos0\n\nIntroduce __bos0 as a #define for __builtin_object_size((s), 0).\nThis macro is intended to be used for places where the standard\n__bos macro isn\u0027t appropriate.\n\nmemcpy, memmove, and memset deliberately use __bos0. This is done\nfor two reasons:\n\n1) I haven\u0027t yet tested to see if __bos is safe to use.\n2) glibc uses __bos0 for these methods.\n\nChange-Id: Ifbe02efdb10a72fe3529dbcc47ff647bde6feeca\n"
    },
    {
      "commit": "d0be7c8f9a06b3ca8ea7647ea35c8f9dc63f0fe1",
      "tree": "a17df28516ef00c47859728418e9b7c7ef26c1ba",
      "parents": [
        "632fd5183a611b80e009be36f881f572acc41619"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 08 17:13:33 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 08 17:13:33 2013 -0700"
      },
      "message": "Add futimens.\n\nBug: 10239370\nChange-Id: I518340084103dc339ef8a065d4837d6258a1381d\n"
    },
    {
      "commit": "c03e1e74390c1b8a30341399cd85cc869d0842b0",
      "tree": "f4f7c54da4d89aa1019822c5be7aa61d97efcd43",
      "parents": [
        "9a73d08f4c334c00fe06d583d37e038ebe063eba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 29 16:51:45 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 29 17:09:36 2013 -0700"
      },
      "message": "Define PTHREAD_KEYS_MAX and _POSIX_THREAD_KEYS_MAX in a POSIX-compliant way.\n\nAlso make sysconf use PTHREAD_STACK_MIN rather than redefining its\nown, different, constant.\n\nBug: 9997352\nChange-Id: I9a8e7d2b18e691439abfb45533e82c36eee9e81d\n"
    },
    {
      "commit": "06040fd75c1edff9e5ffb2b3d3e2a6e66d57c11d",
      "tree": "26c883a0e074a206e7063d111861a177d91959e1",
      "parents": [
        "4fc8a0c1165537b693c900ac3e2c61470bd7e484"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 09 13:25:03 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 09 13:25:03 2013 -0700"
      },
      "message": "Add \u003csys/statvfs.h\u003e.\n\nBug: 2512019\nChange-Id: I6e7fd3fa281977cc4bc270481a95416b5b2dc351\n"
    },
    {
      "commit": "e42e51d5637b86f45dd852b70342013d50006220",
      "tree": "edb4f04b890718f07737e9fc9ef73c1bb254d1ae",
      "parents": [
        "de2781d906f27be4df3e03a8e5041dcc1aeb281d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 03 14:58:04 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 03 14:58:04 2013 -0700"
      },
      "message": "Clean up \u003csys/mount.h\u003e/\u003clinux/fs.h\u003e duplication.\n\nRoll on uapi...\n\nBug: 6340120\nChange-Id: Ic9521905683946e836574e4d768e34853ea777fa\n"
    },
    {
      "commit": "f936ef1a9f1f77985ca1fae35c1b0dc78e1510c0",
      "tree": "8dc7beb630070de7db38581631e12e1bba2a31aa",
      "parents": [
        "d7b0d6e1e157f87887ec2708d6478b8eb2873077"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jul 03 11:57:15 2013 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 03 13:35:18 2013 -0700"
      },
      "message": "Include linux/termios.h from sys/ioctl.h.\n\nOn NetBSD and glibc, including sys/ioctl.h provides some\nterminal ioctl data structures such as struct winsize. For\ncompatibility, provide these via sys/ioctl.h in bionic as well.\nbionic does not have its own definitions for these structures, so\nget them from the Linux kernel definitions.\n\nChange-Id: I01345c23c0bebd60b0a80fc33668e7c0ad7356c3\n"
    },
    {
      "commit": "a6cde392765eb955cb4be5faa6ee62dcf77e8aa5",
      "tree": "c1553a2002af8470615afecb1a2fff9c29c2f916",
      "parents": [
        "227b47a461b27d746b373feb66001cdddc9ba1db"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jun 29 08:15:25 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jun 29 08:16:22 2013 -0700"
      },
      "message": "More FORTIFY_SOURCE functions under clang\n\n* bzero\n* umask\n* strlcat\n\nChange-Id: I65065208e0b8b37e10f6a266d5305de8fa9e59fc\n"
    },
    {
      "commit": "5e9a086145764d64c0f7fbce5489d820aa7fdcd4",
      "tree": "5aaecbeac880a8e5e96148858121dee63ddf5d58",
      "parents": [
        "1ec20a086cb1da1d7455a36ea5d2ea4856426ea0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 24 18:36:39 2013 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 25 16:52:40 2013 -0700"
      },
      "message": "bionic: add compatibility mode for properties\n\nAllow a new bionic to work with an old init property area by supporting\nthe old format.\n\n(cherry picked from commit ad76c85b9ca587084089d086f954158bc0eae905)\n\nChange-Id: Ib496e818a62a5834d40c71eb4745783d998be893\n"
    },
    {
      "commit": "d206b560e72e791b5dfeb339b5f7c18354bf95fd",
      "tree": "43505a7c19af687b367549236c9d12778a263ff7",
      "parents": [
        "7d624e9aff4c6addea7f2275fe58ff0815d95c70"
      ],
      "author": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Thu Jun 06 14:29:40 2013 -0700"
      },
      "committer": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Tue Jun 25 13:18:03 2013 -0700"
      },
      "message": "libc: add swapon and swapoff syscalls\n\nChange-Id: Ie79dc8e3f2ff1cd427dd6d95e3850920c4b407b0\nSigned-off-by: Rom Lemarchand \u003cromlem@google.com\u003e\n"
    },
    {
      "commit": "1540f601be32bdd4af8e8c13bdf2bc06bdaa76f1",
      "tree": "76a3c1ec1fff772960cd08143071ce0bc0e66600",
      "parents": [
        "996cdc4b1a7fcae89650bee0a44b6cb7900a4a3c"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Jun 19 13:31:21 2013 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 24 16:35:37 2013 -0700"
      },
      "message": "bionic: revert to a single (larger) property area\n\nd329697 is too complicated.  Change the multiple property pages back to\na single 128K property area that\u0027s mapped in entirely at initialization\n(the memory will not get allocated until the pages are touched).\n\nd329697 has other changes useful for testing (moving property area\ninitialization inside bionic and adding __system_property_set_filename)\nso undo the change manually rather than with git revert.\n\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n\n(cherry picked from commit 5f05348c18286a2cea46eae8acf94ed5b7932fac)\n\nChange-Id: I690704552afc07a4dd410277893ca9c40bc13e5f\n"
    },
    {
      "commit": "996cdc4b1a7fcae89650bee0a44b6cb7900a4a3c",
      "tree": "91963e572529ef6f21306d296d8a39d903f99204",
      "parents": [
        "f7511e3bc932f9f4d025a62871c29bf1e0ac0ea7"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Jun 20 11:27:56 2013 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 24 16:35:32 2013 -0700"
      },
      "message": "bionic: reimplement property area as hybrid trie/binary tree\n\nSee the comments for an explanation of how properties are stored.\n\nThe trie structure is designed to scale better than the previous\narray-based implementation.  Searching an array with n properties\nrequired average O(n) string compares of the entire key; searching the\ntrie requires average O(log n) string compares of each token (substrings\nbetween \u0027.\u0027 characters).\n\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n\n(cherry picked from commit 6ac8e6a46d71a51bec16938efa89f275fa89cf7d)\n\nChange-Id: Icbe31908572f33b4d9b85d5b62ac837cbd0f85e0\n"
    },
    {
      "commit": "cb215a7e9ecec9feb5aae9d9a5b1c89f392208e7",
      "tree": "f1f337bbd7b7c1406bea8821e69b43082c56ba10",
      "parents": [
        "0ea1d5c0ae94ee581c72451b20813c028f51090c"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Feb 13 14:41:48 2013 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 24 16:35:15 2013 -0700"
      },
      "message": "bionic: make property area expandable\n\nThe property area is initially one 4K region, automatically expanding as\nneeded up to 64 regions.\n\nTo avoid duplicating code, __system_property_area_init() now allocates\nand initializes the first region (previously it was allocated in init\u0027s\ninit_property_area() and initialized in bionic).  For testing purposes,\n__system_property_set_filename() may be used to override the file used\nto map in regions.\n\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n\n(cherry picked from commit d32969701be070c0161c2643ee3c3df16066bbb8)\n\nChange-Id: I038d451fe8849b0c4863663eec6f57f6521bf4a7\n"
    },
    {
      "commit": "c6ff844d75dddfb19fc804b8add2d6a79947b101",
      "tree": "f7eda9c4bf1279480f00c4a27b2009246a1d1f19",
      "parents": [
        "c656d732c7712b0f73d9c560ccf3cb5ae47d219d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Feb 12 16:39:31 2013 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 18 19:24:29 2013 -0700"
      },
      "message": "bionic: add __system_property_foreach\n\nfind_nth() will be inefficient on a trie.  Since find_nth() is only used\ninternally and only for enumerating properties, we can add a foreach()\nfunction to do this directly.\n\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n\n(cherry picked from commit 577418403d68e663fb33c7b0c8a90d862d9c00cf)\n\nChange-Id: Iaca97d1182ce2c28863ba85241cbb5cf6185eb2f\n"
    },
    {
      "commit": "a641c18f0c62c31f5678f8c159a74486010ea851",
      "tree": "58f89487d51470e9748495461b97f1e776859fe6",
      "parents": [
        "16d1af167f8e36a9aa4a07ae77034ad519b00463"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 18 13:07:18 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 18 13:07:18 2013 -0700"
      },
      "message": "libc: Rename fortify error functions.\n\n__umask_error -\u003e __umask_invalid_mode\n__creat_error -\u003e __creat_missing_mode\n__too_many_args_error -\u003e __creat_too_many_args\n\nChange-Id: I4036f344a3a93628e70f2e948ad73cfed3a967ea\n"
    },
    {
      "commit": "16d1af167f8e36a9aa4a07ae77034ad519b00463",
      "tree": "61abe872a5f2ebebc4fe15205a77158bc8372ec2",
      "parents": [
        "b24c0637d06fe0980b9e13a8d0c3e6f4dbda9cd5"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jun 17 14:49:19 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 18 12:14:20 2013 -0700"
      },
      "message": "libc: add limited FORTIFY_SOURCE support for clang\n\nIn 829c089f83ddee37203b52bcb294867a9ae7bdbc, we disabled all\nFORTIFY_SOURCE support when compiling under clang. At the time,\nwe didn\u0027t have proper test cases, and couldn\u0027t easily create targeted\nclang tests.\n\nThis change re-enables FORTIFY_SOURCE support under clang for a\nlimited set of functions, where we have explicit unittests available.\nThe functions are:\n\n* memcpy\n* memmove\n* strcpy\n* strncpy\n* strcat\n* strncat\n* memset\n* strlen (with modifications)\n* strchr (with modifications)\n* strrchr (with modifications)\n\nIt may be possible, in the future, to enable other functions. However,\nI need to write unittests first.\n\nFor strlen, strchr, and strrchr, clang unconditionally calls the\nfortified version of the relevant function. If it doesn\u0027t know the\nsize of the buffer it\u0027s dealing with, it passes in ((size_t) -1),\nwhich is the largest possible size_t.\n\nI added two new clang specific unittest files, primarily copied\nfrom fortify?_test.cpp.\n\nI\u0027ve also rebuild the entire system with these changes, and didn\u0027t\nobserve any obvious problems.\n\nChange-Id: If12a15089bb0ffe93824b485290d05b14355fcaa\n"
    },
    {
      "commit": "b24c0637d06fe0980b9e13a8d0c3e6f4dbda9cd5",
      "tree": "918218d294c845db4b5fda6f9fb9a211a443bb54",
      "parents": [
        "977a33137d2be0093f474055f839cf665b82b588"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 18 10:46:02 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 18 12:13:52 2013 -0700"
      },
      "message": "libc: Introduce __errordecl()\n\nDefine __errordecl and replace __attribute__((__error__(\"foo\")))\nwith __errordecl. Make sure __errordecl is a no-op on clang, as it\ngenerates a compile time warning.\n\nChange-Id: Ifa1a2d3afd6881de9d479fc2adac6737871a2949\n"
    },
    {
      "commit": "5cf32de7a0fea0b10959b598300babc6e4f54d95",
      "tree": "c0f130185003fff9bf8cc00f96a3a04475535b3f",
      "parents": [
        "5995bf880e2a7fac249382f0a929b7271c843122"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 23 23:07:06 2013 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 17 16:58:43 2013 -0700"
      },
      "message": "bionic: move system property writing from init to bionic\n\nMove the implementation of writing to the system property area\nfrom init to bionic, next to the reader implementation.  This\nwill allow full property testing to be added to bionic tests.\n\nAdd new accessor and waiting functions to hide the implementation\nfrom watchprops and various bionic users.\n\nAlso hide some of the implementation details of the property area\nfrom init by moving them into _system_properties.h, and other details\nfrom everybody by moving them into system_properties.h.\n\n(cherry picked from commit dc1038b7900acb664e99643d2974e1a0f4703781)\n\nChange-Id: I192d3825ee276c5047bc751039fe6cfe226a7cca\n"
    },
    {
      "commit": "36fa67bcdd90f18a3c68f8637ae836762407fa51",
      "tree": "67c47601c9dd09bf8fc97d15e872c264752477da",
      "parents": [
        "c5bfb62433751579e86d5fd24cddf3ae28a49b43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 05 17:51:20 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 05 17:58:08 2013 -0700"
      },
      "message": "Ensure header files using __BEGIN_DECLS include sys/cdefs.h.\n\nWe keep fixing these one-by-one; let\u0027s fix them all at once.\n\nFound thus:\n\n  find . -name *.h | xargs grep -L sys/cdefs.h | xargs grep -l BEGIN_DECL | xargs grep -L sys/types\n\nChange-Id: I188842aa2484dc6176e96556d57c38a0f785b59b\n"
    },
    {
      "commit": "328223230bd297260ddcce49c400f68961e2e9e7",
      "tree": "6ab4c18b64775672d956966c95cfe7ab822ff63c",
      "parents": [
        "4c001859feeda27727917c5bd00338e90b801742"
      ],
      "author": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Wed Jun 05 11:30:17 2013 +0800"
      },
      "committer": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Wed Jun 05 11:30:17 2013 +0800"
      },
      "message": "sys/personality.h: include \u003csys/cdefs.h\u003e\n\nChange-Id: Ia3fa558a38e0cffe5287bc454e85d5d3bdaa6ba1\n"
    },
    {
      "commit": "d04c18397946f87ac4495351537c31a3d67257da",
      "tree": "3917d8d909d7f5ed401bdad509a364256b0890a9",
      "parents": [
        "349ef893e82f37632a705f39efc47c0d440f63c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 16:08:43 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 16:08:43 2013 -0700"
      },
      "message": "Add more __restricts, clean up __format__ attributes.\n\nChange-Id: I7e2d270cc722d339d221eaea92747eaff3b51403\n"
    },
    {
      "commit": "b0a2fc35d6d1abf8bd37985e9e7181dc4cea83aa",
      "tree": "9b35b4487918deab14b7aa56d0cf0314445e0378",
      "parents": [
        "f0f4fa3fb1ea8623b1e1bc59f7967e0470c8e532"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Thu May 09 14:38:39 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 14:48:43 2013 -0700"
      },
      "message": "epoll: add EPOLLRDHUP, EPOLLWAKEUP, and EPOLLONESHOT events\n\n(cherry-pick of d1ad4f6dab06189d4d3dcfa19ae4bc301481eb3f.)\n\nChange-Id: I4a8476bff068951533d4188de94097c8b84bc489\n"
    },
    {
      "commit": "4200e6203aaa67c37874ad2b2271bff920297c7f",
      "tree": "5b2ff689915ec6230345c3d020e4f59da678e08f",
      "parents": [
        "e1c58ab5bb6284b3e3a2d0e54c295a93780b3f70"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Wed May 08 20:21:00 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 14:45:02 2013 -0700"
      },
      "message": "libc: add timerfd calls\n\n(cherry-pick of 04c0ac14a49e0969333008a9522b64046d58fbdc.)\n\nChange-Id: I06d0b6c2a8781602362b81f48faf1cca76b9ec05\n"
    },
    {
      "commit": "78d6d9888c24c50f65d694dc8283afdcb58db84c",
      "tree": "49f69782a3b58be8555e7a1ab5bc623c2f80648c",
      "parents": [
        "382a7753786646483a8101f4e337f9e3a82ec852"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 29 16:29:37 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 29 16:41:54 2013 -0700"
      },
      "message": "libc: upgrade sprintf to _FORTIFY_SOURCE\u003d2\n\nUpgrade sprintf to fortify_source level 2, to catch\nadditional security bugs.\n\nChange-Id: Ibc957d65e4cb96152de84b3745a04e00fa22659e\n"
    },
    {
      "commit": "1aae9bd170883805f2e7975cd3dbd2502b083cc1",
      "tree": "de73c01b4e8b61a11b54e8c4ecc8de222c4b0872",
      "parents": [
        "c6dc62f09c814b9688aee83e80dcfe80cb0ef604"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 29 14:07:06 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 29 15:22:10 2013 -0700"
      },
      "message": "strncpy: implement _FORTIFY_SOURCE\u003d2\n\nAdd support for fortify source level 2 to strncpy.\nThis will enable detection of more areas where strncpy\nis used inappropriately. For example, this would have detected\nbug 8727221.\n\nMove the fortify_source tests out of string_test.cpp, and\nput it into fortify1_test.cpp.\n\nCreate a new fortify2_test.cpp file, which copies all\nthe tests in fortify1_test.cpp, and adds fortify_source level\n2 specific tests.\n\nChange-Id: Ica0fba531cc7d0609e4f23b8176739b13f7f7a83\n"
    },
    {
      "commit": "8baa929d5d3bcf63381cf78ba76168c80c303f5e",
      "tree": "bc27560e5930aa49b4f8c0f1db7f9368ed126134",
      "parents": [
        "14c840df90bb4fc9935f7e24350e3269b6bd7f17"
      ],
      "author": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Wed Apr 03 11:29:40 2013 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 03 11:10:37 2013 -0700"
      },
      "message": "Prevent name conflict for eventfd.cpp and eventfd.s when building libc.a\n\n - eventfd.cpp and eventfd.s will output to the same file when building libc.a\n   out/target/product/*/obj/STATIC_LIBRARIES/libc_intermediates/WHOLE/libc_common_objs/eventfd.o\n - And then `eventfd` will undefined when statically linked to libc.\n\nAlso add a unit test.\n\nChange-Id: Ib310ade3256712ca617a90539e8eb07459c98505\n"
    },
    {
      "commit": "1b91c6c11f6b4b8c082da41339b861981570bb4a",
      "tree": "b0a18ac889a022421af458b1452aec49f2b33ef3",
      "parents": [
        "c019345a3a0f3ee8561e595917b75d6419ee4cc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 18:56:24 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 18:56:24 2013 -0700"
      },
      "message": "Stop generating \u003csys/linux-syscalls.h\u003e.\n\nThe \u003casm/unistd.h\u003e files contain the canonical data, and\n\u003csys/glibc-syscalls.h\u003e contain new glibc-compatible names,\nand if you #include the standard \u003csys/syscall.h\u003e you get\nboth sets of names.\n\nChange-Id: I9919c080931c0ba1660f5e37c6a6265ea716d603\n"
    },
    {
      "commit": "cda62094ef6ab44d3804954fff75be1246725c36",
      "tree": "b0f9d9a146741e5961cafedaccbc2843e545de2c",
      "parents": [
        "c37dd599561ac07a895bc435d818f000054a498d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 13:50:44 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 13:53:43 2013 -0700"
      },
      "message": "Use the correct names for the __ARM_NR_* syscalls.\n\nThis lets us move all the ARM syscall stubs over to the kernel \u003casm/unistd.h\u003e.\nOur generated \u003csys/linux-syscalls.h\u003e is now unused, but I\u0027ll remove that in a\nlater change.\n\nChange-Id: Ie5ff2cc4abce1938576af7cbaef615a79c7f310d\n"
    },
    {
      "commit": "890c8ed6ef773160cd6840a92e0d469fe530871f",
      "tree": "6689569955f500ea13697ea928386dd9c64d1af3",
      "parents": [
        "34895c1bdfa5df48ee9a7b4368b6def403f24cf1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 10:58:55 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 10:58:55 2013 -0700"
      },
      "message": "Fix builds where _FORTIFY_SOURCE is off.\n\nAlso add a more intention-revealing guard so we don\u0027t have loads of\nplaces checking whether our inlining macro is defined.\n\nChange-Id: I168860cedcfc798b07a5145bc48a125700265e47\n"
    },
    {
      "commit": "5c2772f59d3b6f564897187324d8606f54423207",
      "tree": "2e6558ee71209b8520dbdd757b1d2cae37937040",
      "parents": [
        "babb72dc292a567674f6d7d2ccf7f63edaf77b80"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 21 22:15:06 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 21 22:26:20 2013 -0700"
      },
      "message": "The SYS_ constants should cover all __NR_ values.\n\n\u003csys/linux-syscalls.h\u003e only contains constants for the syscalls\nwe\u0027re generating stubs for. We want all the syscalls available\non the architecture in question.\n\nKeep using \u003csys/linux-syscalls.h\u003e on ARM for now because the\n__NR_ARM_set_tls and __NR_ARM_cacheflush values aren\u0027t in \u003casm/unistd.h\u003e.\n\nChange-Id: I66683950d87d9b18d6107d0acc0ed238a4496f44\n"
    },
    {
      "commit": "9724ce3a09f8c0869a45c4ebdef665a1ee049734",
      "tree": "c0f6acb71829637db3e6181a3691a8f01d1237ab",
      "parents": [
        "800ad8249a398e94d039b6f6597e2a51558e41dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 21 19:43:54 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 21 19:44:36 2013 -0700"
      },
      "message": "Don\u0027t #define SYS_ constants unless they make sense for the current architecture.\n\nFixes the MIPS and x86 builds. strace tests whether syscalls\nare supported using #ifdef of the appropriate SYS_ constant.\n\nChange-Id: I90be118dc42abfdaf5b0f9b1e676e8601f55106e\n"
    },
    {
      "commit": "8ecf2258274b6ef2630a503a314573d80517465a",
      "tree": "8b81caa5797370eb13345976ce20f41d197ec7ea",
      "parents": [
        "6eb978c9bf02d2bcdece2826577cc65900030690"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 21 18:06:55 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 21 18:06:55 2013 -0700"
      },
      "message": "Provide glibc-compatible SYS_* aliases for the __NR_* constants.\n\nThis helps us remove another external/strace bionic hack.\n\nChange-Id: I3e82c0d2fd27e479be98f096e05b666fd16f8eb3\n"
    },
    {
      "commit": "b6e22482d4fbf62c23707a9096eecd2082a63ef1",
      "tree": "7d6b9ca2c00e54eb9d38a16cd49e2903add83ce4",
      "parents": [
        "809eed1dedb833af1aba56c6a1d059123b43049a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 15:28:52 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 15:28:52 2013 -0800"
      },
      "message": "Let bionic use the correct definition of ssize_t.\n\nBug: 8253769\nChange-Id: I50c7cc20828fc089b83580e039ce9153a6c5a8cc\n"
    },
    {
      "commit": "e255642dc1178663860104d9da2590056fae8d0b",
      "tree": "b3e37a52ccb3f6ee74750976cfbab0faedbc8fb5",
      "parents": [
        "f5f906c184677b8295523231cfeead9ed94661ad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 28 10:51:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 28 10:51:31 2013 -0800"
      },
      "message": "Avoid changing the C++ ABI with ssize_t.\n\nBug: 8253769\nChange-Id: Ia325003ed6e59da553e2bdde7c43515bc191b8ba\n"
    },
    {
      "commit": "7c0dd555c09c880b71c7c4039993d1d029add109",
      "tree": "8196bd0651e4a5b7edefd952696f7e8d97dcfa27",
      "parents": [
        "c0e9ddd002f6084c29c26236d741d64d01713c15"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 26 13:27:15 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 26 13:27:15 2013 -0800"
      },
      "message": "libc: create sys/capability.h\n\nPer \"man capset\", sys/capability.h is the appropriate header file\nfor the capget / capset definition, not unistd.h. Fixed.\n\nAs a short term hack, continue to include sys/capability.h in\nunistd.h, until we can fix all the code which uses capget / capset.\n\nChange-Id: I6e7cf55955d761ca785a14c5e4b7a44125d8fc15\n"
    },
    {
      "commit": "f6bb5bf498810d0622f66020059c87b96738c35b",
      "tree": "9e01356e2a81c9c25f7cd0c47ff9a99c7fedabe0",
      "parents": [
        "7b2c6385effbb6d6e98bfe29cc6c144211128d9e",
        "cf820d7e96d572484cfd2ef436a4cfada6d38175"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 21:46:59 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 21:46:59 2013 +0000"
      },
      "message": "Merge \"Add the glibc-compatible names to \u003csys/endian.h\u003e.\""
    },
    {
      "commit": "cf820d7e96d572484cfd2ef436a4cfada6d38175",
      "tree": "72931a04845c0cc0edc1e2b34647e95d6417ad2f",
      "parents": [
        "a9ff09d1fc22292adc12cf99d4d44448d619b3cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 11:01:17 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 11:04:27 2013 -0800"
      },
      "message": "Add the glibc-compatible names to \u003csys/endian.h\u003e.\n\nAlso remove declarations for functions that don\u0027t exist; these\nare all macros.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d41769\nChange-Id: Ia3774ab2ff7d3c535f83774eac61068f9b11e194\n"
    },
    {
      "commit": "b22a6849902d3bb4a105224c82998703fd6dbb06",
      "tree": "856ac4469d83a6ba1a0940aae1ce6b18bc8cb5e3",
      "parents": [
        "580a707376d81bfcb39919f0a1203b39a39dbd8a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Feb 22 10:38:28 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Feb 22 10:38:28 2013 -0800"
      },
      "message": "libc: add sys/signal.h for compatibility\n\nSome applications look for sys/signal.h instead of signal.h.\nWork around those apps.\n\nChange-Id: I76ac7744ebc56d196b5f0cb9ed381d32817436b9\n"
    },
    {
      "commit": "c641cafbc387849510d7f408e85f72fa3608916d",
      "tree": "102909efb095eaa603f94de0617720b5364875b9",
      "parents": [
        "593abb7b593a34d501c90512953a7368add6d185"
      ],
      "author": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Sun Feb 17 16:50:58 2013 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 19 14:12:55 2013 -0800"
      },
      "message": "use architecture-specific ssize_t definition\n\nafter change 32822 was rejected, this is the more light-weight\nversion of the fix: libc/include/sys/types.h already - via\nlibc/kernel/common/linux/posix_types.h - includes a definition\nof __kernel_ssize_t from libc/kernel/arch-*/asm/posix_types.h\nwhich is architecture-specific, toolchain-agnostic and also\ngets rid of the gcc -Wformat warning (which it issues correctly,\nsince this i̲s̲ indeed a bug in bionic)\n\nChange-Id: Ie4503ab16628bc25815a836d07556f665e9795c7\n"
    },
    {
      "commit": "3fa67465365baf87f751bea09847e32f01005788",
      "tree": "029adcef6e31dbf595966bdab16fdded3462d6cf",
      "parents": [
        "bfa199ab4019a7de9b95cd3db86c4d7176438803",
        "07564f2d3a97eb0918adb7237508beeecdea1721"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Feb 12 18:33:25 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 18:33:26 2013 +0000"
      },
      "message": "Merge \"add factory property file definition\""
    },
    {
      "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": "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": "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": "07564f2d3a97eb0918adb7237508beeecdea1721",
      "tree": "1c0f457f0479c8abd6b4c31696bdec0de379e6bf",
      "parents": [
        "69c89942db2ed472c71aa84903d0259cc84aa074"
      ],
      "author": {
        "name": "Andrew Boie",
        "email": "andrew.p.boie@intel.com",
        "time": "Fri Jan 11 12:46:42 2013 -0800"
      },
      "committer": {
        "name": "Andrew Boie",
        "email": "andrew.p.boie@intel.com",
        "time": "Fri Jan 11 13:02:27 2013 -0800"
      },
      "message": "add factory property file definition\n\nThis property file is used for properties which are set at device\nprovisioning time or in the factory. They are never touched by\na software update or factory data reset and typically contain\ndata specific to the particular unit.\n\nChange-Id: I2e7c2fe62cb684cb2449eea917c42b19462e89a5\nSigned-off-by: Andrew Boie \u003candrew.p.boie@intel.com\u003e\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "71a18dd435e96564539b5af71b8ea5093a2109a1",
      "tree": "fd59c2a7cc23b663d090b0b8843a5d19c97df7d0",
      "parents": [
        "7d11009a970732ea18f8a0599d63c94eab9ec3f0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jun 07 14:01:26 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jun 07 14:19:52 2012 -0700"
      },
      "message": "_FORTIFY_SOURCE: add memset / bzero support\n\nAdd _FORTIFY_SOURCE support for the following functions:\n\n* memset\n* bzero\n\nMove the __BIONIC_FORTIFY_INLINE definition to cdefs.h so it\ncan be used from multiple header files.\n\nChange-Id: Iead4d5e35de6ec97786d58ee12573f9b11135bb7\n"
    },
    {
      "commit": "804147cb7d533f5635da6adc28fbca1467a3078b",
      "tree": "e8d5ccd983127300a139f1e7ec152cc8ed4ddc04",
      "parents": [
        "dbd5ecad26e39281bb83f97664bc32555c5c071a",
        "edb7cad9b764f029c5faac2750f749d3d84bd86a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 20:10:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 20:10:14 2012 -0700"
      },
      "message": "am edb7cad9: Merge \"Actually set the header guard in \"linux-syscalls.h\".\"\n\n* commit \u0027edb7cad9b764f029c5faac2750f749d3d84bd86a\u0027:\n  Actually set the header guard in \"linux-syscalls.h\".\n"
    },
    {
      "commit": "1928523c870f7acd7f34870f4bb4ab9c6215bf7a",
      "tree": "bbdbca506d1716bcf4d06b0f0b461e15366a3710",
      "parents": [
        "e54089079b123b207e171c14b2b0dca23c9386f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 16:34:11 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 16:34:11 2012 -0700"
      },
      "message": "Actually set the header guard in \"linux-syscalls.h\".\n\nSpotted while merging a MIPS change.\n\nChange-Id: I36fb5a07d0bba0c117e9fe9733957bd37ca4b4c0\n"
    },
    {
      "commit": "dbd5ecad26e39281bb83f97664bc32555c5c071a",
      "tree": "1d652ad548a322f09cb77e8f5fce98eb7892fbd0",
      "parents": [
        "58a00b4977b6fa073a8f56d94d741b1e4cb49856",
        "e54089079b123b207e171c14b2b0dca23c9386f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 13:53:37 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 13:53:37 2012 -0700"
      },
      "message": "resolved conflicts for merge of e5408907 to jb-dev-plus-aosp\n\nChange-Id: If4c3f51bf87b28da8074be2e46ae772a374b266f\n"
    },
    {
      "commit": "1fa0d849576555577ffd9675677a3c95f21b754e",
      "tree": "20c015513cd03630c3fe81ddf9b36625c3b26310",
      "parents": [
        "7eb1cc23f8976a2062ba0cf92f030216a8e64e60"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Fri Jan 27 17:51:42 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 09 11:46:28 2012 -0700"
      },
      "message": "[MIPS] Add support for MIPS syscalls\n\nChange-Id: I4deba67e15c865c4c2db03064c04098a09828ea6\nSigned-off-by: Raghu Gandham \u003craghu@mips.com\u003e\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "4994deaef51d5fa1ac12e6160b47d9cbe3b2bc43",
      "tree": "83d2a1780ad295899ea3ed18dea561f107de76c8",
      "parents": [
        "7b8666e683e56549091b86fd7b9c421fd0124dbc",
        "d515ce465be909d830a39462c3f196b5d7f35c66"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 16 09:09:04 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 09:09:05 2012 -0700"
      },
      "message": "Merge \"Bionic: Fix wrong prototype of system call clock_nanosleep\""
    },
    {
      "commit": "d515ce465be909d830a39462c3f196b5d7f35c66",
      "tree": "707c0067ad2351d96bba6fd19f14e04e5223514c",
      "parents": [
        "6bc18fa58849a4307cf6ddcfd526d9258e8175fc"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Tue Apr 17 11:20:15 2012 +0800"
      },
      "committer": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Mon Apr 16 23:53:05 2012 +0800"
      },
      "message": "Bionic: Fix wrong prototype of system call clock_nanosleep\n\nIn bionic/libc/SYSCALLS.TXT, the prototype of system call\nclock_nanosleep is incorrect.\n\nAccording to man page:\nint clock_nanosleep(clockid_t clock_id, int flags,\n                    const struct timespec *request,\n                    struct timespec *remain);\n\nChange-Id: Ic44c6db3d632293aa17998035554eacd664c2d57\nSigned-off-by: Jin Wei \u003cwei.a.jin@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    }
  ],
  "next": "41070dd15f2c5916dfc96da4c256dd04d7f9c837"
}
