)]}'
{
  "log": [
    {
      "commit": "8aabbd7f63286e87fe95b672fad814b4625efa85",
      "tree": "28fc8fbc4a8b65da2383b811f57e1466cd640282",
      "parents": [
        "ec4671928c39b14f7f22c12ffef0e0bcdd58edfe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 02 12:47:58 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 02 12:47:58 2016 -0700"
      },
      "message": "Move glibc-syscalls.h into bits/.\n\nBug: http://b/28519060\nChange-Id: I0de1ba16b16eb7b780de89954d3fa45cca2f5295\n"
    },
    {
      "commit": "6b3bec031fd54a227e4a45b2c6199fdc30edf957",
      "tree": "41e52fdafbb541c4bc3cda197bc2f19ef7dd6b7a",
      "parents": [
        "ee6fb66dc1a180ce0206a5ea0522000cfcf4c8b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 29 22:30:19 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 29 22:30:19 2016 -0700"
      },
      "message": "Fix various empty .h files in bionic.\n\nBug: http://b/28432688\nChange-Id: I339f5221b9e66ce5983eb3685b9405e8d6f58808\n"
    },
    {
      "commit": "5a3d5cac642f9e58b2c510eab23789fb4fc3a753",
      "tree": "55a3846f4819a2190c886d7004d872ac71c6ebac",
      "parents": [
        "ff504e63ee76b8b44c668d7024181d0b65277aca"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 12:15:18 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add __INTRODUCED_IN_{32,64}.\n\nSome symbols appeared at different times between 32 and 64 bit. Add a\nmacro to represent this.\n\nBug: http://b/28178111\nChange-Id: I0aa46d9da3c7301b60df0416bce252f0f37b7b36\n"
    },
    {
      "commit": "7e94d292b00435541956681c2c548b109f0aeaaa",
      "tree": "640627150406565e887abd23df4a1b088bdb46d2",
      "parents": [
        "146cbacea0754356a784608474149d291d92500a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 29 11:07:55 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 29 11:07:55 2016 -0700"
      },
      "message": "Remove __UNAVAILABLE.\n\nWe fixed the things we needed this for, and should never reintroduce a\nsimilar mistake in future.\n\nChange-Id: I74b447bcf22ea533f3c79db48b66a3c217d76c2f\n"
    },
    {
      "commit": "146cbacea0754356a784608474149d291d92500a",
      "tree": "2345e054f1ae4031b7c6bf6db2b41fb9ecae312c",
      "parents": [
        "adc8d34137848e78e50a46724a3f8858c17eaf49",
        "7ba106c784e0566f4e246c1d814f32eb31467f86"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 29 18:05:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 29 18:05:28 2016 +0000"
      },
      "message": "Merge \"Fix \u003cwctype.h\u003e.\""
    },
    {
      "commit": "adc8d34137848e78e50a46724a3f8858c17eaf49",
      "tree": "5dc26502b607491f0beeef295eaa250acba8dd81",
      "parents": [
        "216c3007ed6100f42e6c97bdaf0086f61320773b",
        "3615a521265271acb02c30e2ab021969852b77c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 29 15:11:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 29 15:11:59 2016 +0000"
      },
      "message": "Merge \"Remove declaration of pthread_cond_timeout_np.\""
    },
    {
      "commit": "7ba106c784e0566f4e246c1d814f32eb31467f86",
      "tree": "f4cef7e2b13dce81973908c96e2836d643a1f258",
      "parents": [
        "bd8773d19d96cd8794f944ce5f93f4feb43e386b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 18:22:06 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 18:22:06 2016 -0700"
      },
      "message": "Fix \u003cwctype.h\u003e.\n\n* Fix the return type of towlower_l/towupper_l.\n* Implement wctrans/wctrans_l/towctrans/towctrans_l.\n* Move declarations that POSIX says are available from both \u003cwchar.h\u003e and\n  \u003cwctype.h\u003e to \u003cbits/wctype.h\u003e and include from both POSIX headers.\n* Write the missing tests.\n\nChange-Id: I3221da5f3d7e8a2fb0a7619dc724de45f7b55398\n"
    },
    {
      "commit": "6f6f9058fa7ba3cc9d53bd93e46c254ef8e8cd96",
      "tree": "572c806c787d2c3a1626a9d97b37de78072f3485",
      "parents": [
        "671e6b20eabd0a1ab973f77dff272a00a4096ee7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 14:54:52 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 16:41:29 2016 -0700"
      },
      "message": "Implement mblen(3).\n\nChange-Id: I65948ea5b9ecd63f966ba767ad6db4a2effc4700\n"
    },
    {
      "commit": "3615a521265271acb02c30e2ab021969852b77c8",
      "tree": "f23916a9e4850b75d0787b6f605b9fb947f90ad5",
      "parents": [
        "671e6b20eabd0a1ab973f77dff272a00a4096ee7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 10:07:21 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 10:07:21 2016 -0700"
      },
      "message": "Remove declaration of pthread_cond_timeout_np.\n\nBug: http://b/27918161\nChange-Id: I61b5710dc394c155bdb4577a750b96195033251e\n"
    },
    {
      "commit": "29226f39ae027e4252f9bf11906eb4eaa5fb6824",
      "tree": "97cdbf287632aacf0648fac3a2475db0a1fb4887",
      "parents": [
        "c194fd30c6fa3537d918939dd0a762786f21d764"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Apr 26 14:42:55 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 27 16:50:54 2016 -0700"
      },
      "message": "Tag unavailable functions with macro.\n\nAdd an __UNAVAILABLE macro, and use it for several functions which lack\nimplementations, but need to have visible declarations to be reexported\nin the C++ standard library.\n\nBug: http://b/28178111\nChange-Id: Ia4ae0207bbfcb7baa61821f0ef946257b019c0db\n"
    },
    {
      "commit": "c194fd30c6fa3537d918939dd0a762786f21d764",
      "tree": "d10e17f4230f6fe467d876d26044ca5450df950c",
      "parents": [
        "e1be20f648abffd115bb699d3b14bd07c7c1430b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 25 17:04:10 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 27 16:50:54 2016 -0700"
      },
      "message": "Delete declarations which don\u0027t exist.\n\nBug: http://b/28178111\nChange-Id: I72d5d015d7927a8df24b3973bf8a052053a067fb\n"
    },
    {
      "commit": "d8ca92cbff565514d249399226bd62583d73aacf",
      "tree": "811c17965fb8bb93228b62a9d829078c1e0ea0b9",
      "parents": [
        "23e29e3be03d5226544774e2a64c924bae82e07b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 25 17:04:56 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 25 18:45:39 2016 -0700"
      },
      "message": "Make \u003csys/user.h\u003e compile on AArch64.\n\nPreviously, AArch64 used uint64_t without including \u003cstdint.h\u003e.\n\nBug: http://b/28178111\nChange-Id: I8a497765d835f32b456f7eb925a6760e523163c4\n"
    },
    {
      "commit": "722ab05b255070e6c8add450c94eeb790618c98e",
      "tree": "23156dbf2afd440a10973ecf3b93aa9635132b92",
      "parents": [
        "130bec7103561fc3657e8a431ca55026430b843e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 06 10:35:48 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 22 10:44:19 2016 -0700"
      },
      "message": "bionic: Implement getpwent and getgrent\n\nNot efficient to iterate through given the large number of Android\nids (AID). Compile warning will result if you use these functions,\ntelling you as much. Not for general consumption, however for\nexample, some filesystem tests would like to see these to perform\nall corners.\n\nAbout 1/4 second for getpwent, and 1/8 second for getgrent to iterate\nthrough all reserved Android aids.\n\nBug: 27999086\nChange-Id: I7784273b7875c38e4954ae21d314f35e4bf8c2fc\n"
    },
    {
      "commit": "b8e1b705d187886decb5970f791358f928f93d75",
      "tree": "28f12472ef5f3119340975edc1010c52452b084c",
      "parents": [
        "99739d4280e11f3a63d23059349a0cf98c41f5c4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 13 17:18:20 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 15 13:06:08 2016 -0700"
      },
      "message": "Make the legacy inline headers compile standalone.\n\nIt\u0027s useful to have the legacy inlines compile by themselves, both to\nmake header unification easier, and to ensure that the inline versions\nmatch the regular declarations. Notably, this wasn\u0027t true for\nsigismember, which took a const sigset_t* in the regular header, and\nsigset_t* in the inline version.\n\nBug: http://b/28178111\nChange-Id: Id8a3b7dcb1bfa61eed93c9fb50d3192744f8bef5\n"
    },
    {
      "commit": "99739d4280e11f3a63d23059349a0cf98c41f5c4",
      "tree": "c23209fbc8c33e4362452c7dfdedf8b6cb8abdc8",
      "parents": [
        "26bc9c64d5b0cad921e3070a4f94fa04e1077d90"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 13 17:16:47 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 13 17:45:39 2016 -0700"
      },
      "message": "Don\u0027t redefine __ANDROID_API__.\n\nBug: http://b/28178111\nChange-Id: I00ded8f90694d9ed28f3b4c97778635f5a564592\n"
    },
    {
      "commit": "26bc9c64d5b0cad921e3070a4f94fa04e1077d90",
      "tree": "ee8d932accecefc50d5b7daeefd564a94ac20659",
      "parents": [
        "0e3b719bfa84cfe35188513cf6fcbf5b44ea1c43"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 13 17:08:43 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 13 17:45:39 2016 -0700"
      },
      "message": "Move \u003csys/_sigdefs.h\u003e and \u003csys/_errdefs.h\u003e to private.\n\nBug: http://b/28067717\nChange-Id: I02f78ad7293a15ff45e35e9c20f60d3d023931eb\n"
    },
    {
      "commit": "a588f905ab81bd9d0b644741e0847fba7dcb24bf",
      "tree": "14d1639941767fe3510a2a0630c09570fa4169cb",
      "parents": [
        "08794d43adedb30aef58f0c77646ed5eaf9395e3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 08 11:43:33 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 08 21:09:52 2016 +0000"
      },
      "message": "Remove fabs, fabsf, fabsl inlines from \u003cmath.h\u003e.\n\nThese inline definitions appear to be a workaround for a compiler bug\nthat either never existed, or has been resolved since then.\n\nBug: http://b/28067717\nChange-Id: Ic1cd0f26403f234a6ab1fa273a9dd23e7f9fee8f\n"
    },
    {
      "commit": "08794d43adedb30aef58f0c77646ed5eaf9395e3",
      "tree": "becf7d9587df2402345a1f200f6d4762be0c59b3",
      "parents": [
        "322d6cfb33c817f46ea853de51f0a006cb874bef",
        "8c8ef5965d6bc684d78299ff88062e6e87df5b48"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 08 17:59:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 08 17:59:24 2016 +0000"
      },
      "message": "Merge changes Ife4692e4,I7304cc1d,If19653d0,I769ca792,I93625d19, ...\n\n* changes:\n  Move \u003csys/sysconf.h\u003e to \u003cbits/sysconf.h\u003e.\n  Remove mbstowcs from \u003cwchar.h\u003e.\n  Extract getopt and friends to \u003cbits/getopt.h\u003e\n  Remove declaration of unlinkat from \u003cfcntl.h\u003e.\n  Extract ioctl to \u003cbits/ioctl.h\u003e.\n  Extract fcntl to \u003cbits/fcntl.h\u003e.\n  Extract strcasecmp and friends to \u003cbits/strcasecmp.h\u003e.\n  Make \u003cbits/lockf.h\u003e compile standalone.\n  Make \u003candroid/dlext.h\u003e compile standalone.\n  Make the network headers compile standalone.\n  Remove duplicate declaration of mlock, munlock.\n"
    },
    {
      "commit": "8c8ef5965d6bc684d78299ff88062e6e87df5b48",
      "tree": "38e073c425c88f08ed7c46219bc7698cc3caf158",
      "parents": [
        "752a82c9ed4339994755f71b52c825f600dc4aa5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 16:33:30 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:02:00 2016 -0700"
      },
      "message": "Move \u003csys/sysconf.h\u003e to \u003cbits/sysconf.h\u003e.\n\nAlso remove unneeded declaration of sysconf in \u003cunistd.h\u003e.\n\nBug: http://b/28067717\nChange-Id: Ife4692e48ca97480e422db0686c61133e1d619aa\n"
    },
    {
      "commit": "752a82c9ed4339994755f71b52c825f600dc4aa5",
      "tree": "072cbae660a0f255051ce01432d884ce1aac7113",
      "parents": [
        "7449e599d831f2164cadbb7c317e97b20e7ed5bb"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 16:38:22 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Remove mbstowcs from \u003cwchar.h\u003e.\n\nGlibc doesn\u0027t export the function here, and adding a \u003cbits/...\u003e header\nfor this function seems unnecessary.\n\nBug: http://b/28067717\nChange-Id: I7304cc1daca14585c85d5c783365c4a43779ff2c\n"
    },
    {
      "commit": "7449e599d831f2164cadbb7c317e97b20e7ed5bb",
      "tree": "25b132738d14b21881fc9d2aee7bd5611c1da456",
      "parents": [
        "a6c85467dd1b59cfe36f2e64ac2d0972d46400d4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 16:37:49 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Extract getopt and friends to \u003cbits/getopt.h\u003e\n\nBug: http://b/28067717\nChange-Id: If19653d0da8b964c43768aa1051f9c926b3c6acb\n"
    },
    {
      "commit": "a6c85467dd1b59cfe36f2e64ac2d0972d46400d4",
      "tree": "feee19ca1c4ee96047650c8b8b6898cfe948e924",
      "parents": [
        "98e574c8de29b2427479a427177ff78c1bc2ee34"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 15:28:40 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Remove declaration of unlinkat from \u003cfcntl.h\u003e.\n\nGlibc doesn\u0027t expose unlinkat in fcntl.h, this probably came about\nbecause the man page for unlinkat mentions `#include \u003cfcntl.h\u003e` for the\nAT_* constants that actually are defined there.\n\nBug: http://b/28067717\nChange-Id: I769ca792a189bfea212b1d75096274acb0b7cfdb\n"
    },
    {
      "commit": "98e574c8de29b2427479a427177ff78c1bc2ee34",
      "tree": "933ac42778724a0039c3b86cd4ca4e58b9029962",
      "parents": [
        "ee8d16999706a642bb6e348084fdbb2a35e39770"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 14:19:03 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Extract ioctl to \u003cbits/ioctl.h\u003e.\n\nBug: http://b/28067717\nChange-Id: I93625d19fa5a033ab22c650d536e98674f0a8d9d\n"
    },
    {
      "commit": "ee8d16999706a642bb6e348084fdbb2a35e39770",
      "tree": "72fb1cdaefbd9072a0c0f6d474ebb96c9cbbd552",
      "parents": [
        "c3cec27ad75544fdd1a5efc78260404a7de564bf"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 14:16:30 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Extract fcntl to \u003cbits/fcntl.h\u003e.\n\nBug: http://b/28067717\nChange-Id: Id8c19056244660a6e0276a5614282af8d41fbe1e\n"
    },
    {
      "commit": "c3cec27ad75544fdd1a5efc78260404a7de564bf",
      "tree": "cb8ea8ee6fe4a6ac2929ffa58261d0a5b57bc3d0",
      "parents": [
        "0d8e14190680b20e8a0fa75c63075ef73a922efd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 13:39:49 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Extract strcasecmp and friends to \u003cbits/strcasecmp.h\u003e.\n\nBug: http://b/28067717\nChange-Id: I76bab098d4c35d07a7a108055c43c820087f9253\n"
    },
    {
      "commit": "0d8e14190680b20e8a0fa75c63075ef73a922efd",
      "tree": "123441747b355352cae41c1d8a355e39c77fb3ce",
      "parents": [
        "2675a9e343fa749aba57b1bfcc8f7f1f5db48c72"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 13:38:48 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:59 2016 -0700"
      },
      "message": "Make \u003cbits/lockf.h\u003e compile standalone.\n\nBug: http://b/28067717\nChange-Id: Ida9f251ff23f9e32dcd0c38eb23b6a3bffea322c\n"
    },
    {
      "commit": "2675a9e343fa749aba57b1bfcc8f7f1f5db48c72",
      "tree": "07608d347f866904da58638945e9ad3e420bcb3d",
      "parents": [
        "ef7c95b8ab96897db09faec974c2547305887cbe"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 11:21:47 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 18:01:53 2016 -0700"
      },
      "message": "Make \u003candroid/dlext.h\u003e compile standalone.\n\nBug: http://b/28067717\nChange-Id: If087e0c931c69bda34263ea8e0b2dc46d932b2af\n"
    },
    {
      "commit": "ef7c95b8ab96897db09faec974c2547305887cbe",
      "tree": "c003d3380567dd9af462762f3966d57ef570be60",
      "parents": [
        "70856fb6ecc6c2d33e8de34df1502f7fad15aa62"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 11:16:35 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 11:16:35 2016 -0700"
      },
      "message": "Make the network headers compile standalone.\n\nBug: http://b/28067717\nChange-Id: I0f69c6cba0eb0df2fe68f458ba5aa81fe8e6434c\n"
    },
    {
      "commit": "70856fb6ecc6c2d33e8de34df1502f7fad15aa62",
      "tree": "7e53ee468dea9d752c30c8826d4a65e2c2f08f15",
      "parents": [
        "37b23cbff5b33cabbe9a5b5c57cb2c70a73e34ab"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 10:59:45 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 10:59:45 2016 -0700"
      },
      "message": "Remove duplicate declaration of mlock, munlock.\n\nBug: http://b/28067717\nChange-Id: I4fe5a4368e5112a5d6aed5de9549155d3352962a\n"
    },
    {
      "commit": "6cfb84b97eb5a60c0cea06145677fec6ae754b49",
      "tree": "cd330b6524d7e09e875a5270d6dae2e97a42441c",
      "parents": [
        "5e843fb7c4da3e45c099abd1cb72462dbd775078"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 17:14:45 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 17:22:44 2016 -0700"
      },
      "message": "Add trivial no-op \u003cnl_types.h\u003e.\n\nNeeded to build OpenMP.\n\nBug: http://b/27617302\nChange-Id: Iac15c84ead6f5d5274cfdb2d6d4a4ec0072244bb\n"
    },
    {
      "commit": "eafad49bd6a0e6ca63ae0a5577d3ef7a45713107",
      "tree": "495cbef3d47cb818b28a2768a3e9e43ac004dea2",
      "parents": [
        "66606ff84c079e95c03a61cc8bcfb08261a5a173"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 23:01:42 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 11:06:09 2016 -0700"
      },
      "message": "Add \u003csys/quota.h\u003e.\n\nIt turns out that at least the Nexus 9 kernel is built without CONFIG_QUOTA.\nIf we decide we\u0027re going to mandate quota functionality, I\u0027m happy for us to\nbe a part of CTS that ensures that happens, but I don\u0027t want to be first, so\nthere\u0027s not much to test here other than \"will it compile?\". The strace\noutput looks right though.\n\nBug: http://b/27948821\nBug: http://b/27952303\nChange-Id: If667195eee849ed17c8fa9110f6b02907fc8fc04\n"
    },
    {
      "commit": "7f72ad4d6c6f4c99726fff423bdbbdca1032fdc2",
      "tree": "157fe5d3c01930627c72ba75c39aa50497de0cf2",
      "parents": [
        "95ddb26256db734be7f7efc8cba3362bcececea9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 11:56:03 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 12:17:22 2016 -0700"
      },
      "message": "Add sync_file_range to \u003cfcntl.h\u003e.\n\nBug: http://b/27952303\nChange-Id: Idadfacd657ed415abc11684b9471e4e24c2fbf05\n"
    },
    {
      "commit": "55147ada3c93bda85b2d35f72ba4fde1a7745ff6",
      "tree": "9da39bd68ce4cc4bbd9f7903bb4fa7e721c388ee",
      "parents": [
        "c9291e1bb51a9bf9fb64e382a094dc205de4287d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 11:06:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 11:06:02 2016 -0700"
      },
      "message": "Add missing prototype for readahead in \u003cfcntl.h\u003e.\n\nChange-Id: Icfe85e9cf95c657b495c4e9cd10dec50b0b8f6db\n"
    },
    {
      "commit": "c9291e1bb51a9bf9fb64e382a094dc205de4287d",
      "tree": "c819ca953fefe55ea960033bb8cfde8caece9271",
      "parents": [
        "7897405439630d59b8f2c9fc51239c44bac4fe9e",
        "df143f8576afb0446794d4ccb1fb02aed196c82a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 18:03:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 18:03:56 2016 +0000"
      },
      "message": "Merge \"Add POSIX getsubopt(3).\""
    },
    {
      "commit": "df143f8576afb0446794d4ccb1fb02aed196c82a",
      "tree": "098728b018b7869bd8952e3e39894df3280808bc",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 17:34:04 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 17:34:04 2016 -0700"
      },
      "message": "Add POSIX getsubopt(3).\n\nBug: http://b/27952303\nChange-Id: I8a816477545dadcbd5c055714e76263574446b6f\n"
    },
    {
      "commit": "5375bf639856cbeb1b4872553a56b95e641f1404",
      "tree": "b81f0552d30d52629acb95510bd80bcc77c4ab1f",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Feb 29 12:35:33 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 16:33:29 2016 -0700"
      },
      "message": "Add SysV signal handling\n\nImplement the legacy SysV signal handling functions sighold(),\nsigignore(), sigpause(), sigrelse(), and sigset() in terms of the newer\nPOSIX signal APIs.  As of POSIX 2013 the SysV signal APIs are deprecated\nbut still required.\n\nChange-Id: I4ca40e3d706605a7d1a30dc76c78b2b24586387d\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "afe835d540000d2378e744b764d71406b410761d",
      "tree": "e7e2f42e0aa8f049fe431360a4b79b3ec3f8ae9a",
      "parents": [
        "2152a8ca3550ff0c9c998bfd4d6ab741758063ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 02 08:36:33 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 02 08:36:33 2016 -0700"
      },
      "message": "Move math headers in with the other headers.\n\nKeeping them separate is a pain for the NDK, and doesn\u0027t help the platform.\n\nChange-Id: I96b8beef307d4a956e9c0a899ad9315adc502582\n"
    },
    {
      "commit": "e9daecf74b276c780d65ded0c340193691dc69e5",
      "tree": "3940fb6183958eaab956868b41fed18253573f7c",
      "parents": [
        "4e764a0f98be37b32bd6b92967e54124e6aeb150",
        "96583dcf95ba51c3ac51ef65c2172be1b2696431"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 16:43:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 16:43:42 2016 +0000"
      },
      "message": "Merge \"Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE.\""
    },
    {
      "commit": "5dd13d09c1788b2731b094d88dd9ed40ae80ef39",
      "tree": "34cacc83c03b9d0df486a3a0b25891001a1829aa",
      "parents": [
        "a30e19da564deda466e3fe79784f51d2fc6adb51"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 18:20:01 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 18:20:01 2016 -0700"
      },
      "message": "Differentiate the MNTTYPE_* and MNTOPT_* constants.\n\nBug: http://b/27952303\nChange-Id: I926593c16143f76b21a65af7f6e1979d0fb44cac\n"
    },
    {
      "commit": "1f1a51aecd7c825418bfedcb66772e92de790149",
      "tree": "542594ba6d7ac07a0af0229bcd473d8a325dc699",
      "parents": [
        "eaf50be332f015bd90e45d4f9d111b24cd230f00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 17:05:30 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 17:05:30 2016 -0700"
      },
      "message": "Add a few missing types and constants to headers.\n\nThis (and other stuff still to come) prevented xfstests from building out\nof the box.\n\nBug: http://b/27952303\nChange-Id: Id38fd37386d43fc351c56dca18785a465e3e6145\n"
    },
    {
      "commit": "96583dcf95ba51c3ac51ef65c2172be1b2696431",
      "tree": "7f4fca0fcf7d8d2f8c34a05c4f12f2c002cb44c2",
      "parents": [
        "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 30 10:33:54 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 30 10:33:54 2016 -0700"
      },
      "message": "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE.\n\nBug: http://b/27918161\nChange-Id: I21d4dfa4636aa06a93b3c8a215113f66f37f0bc7\n"
    },
    {
      "commit": "3679ade5333bf0727c374431cd4e4fa81ca241af",
      "tree": "ba9477163e0218483eefbd935a2bc68eac25d908",
      "parents": [
        "e2faf07d659b1c824002e50b9cdfa9caae62a31b"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 04 10:07:35 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 14:16:58 2016 -0700"
      },
      "message": "Add hasmntopt(3)\n\nbionic has the Linux-specific mntent.h but is missing hasmntopt().\n\nChange-Id: I0ab7b83626c969704add4e64b37a6fc715d4a723\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "e2faf07d659b1c824002e50b9cdfa9caae62a31b",
      "tree": "72752c132d778ad698ef51cf7fca23224fcd6361",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 03 08:37:53 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 14:16:58 2016 -0700"
      },
      "message": "Add {get,set}domainname(2)\n\n{get,set}domainname aren\u0027t in POSIX but are widely-implemented\nextensions.\n\nThe Linux kernel provides a setdomainname syscall but not a symmetric\ngetdomainname syscall, since it expects userspace to get the domain name\nfrom uname(2).\n\nChange-Id: I96726c242f4bb646c130b361688328b0b97269a0\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "cc78b252d113229f44550b1158f0fc67439d0184",
      "tree": "4dae830d5cdbb3176c8820c3cd0fa22634d39b03",
      "parents": [
        "63322aa555d06bc961bfe419ba69471cdab2927b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 20:26:35 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 20:26:35 2016 -0700"
      },
      "message": "Remove the __USE_GNU guard from pthread_setname_np again.\n\nCaused build breakage, but not spotted by TreeHugger:\n\n  external/libnfc-nxp/Linux_x86/phDal4Nfc.c:737:5: error: implicit declaration of function \u0027pthread_setname_np\u0027 is invalid in C99 [-Werror,-Wimplicit-function-declaration]\n    pthread_setname_np(pthread_self(), \"reader\");\n    ^\n\nNice file name.\n\nChange-Id: I102e55718babf4e4f2f2c64066c6a83ed3ac86d3\n"
    },
    {
      "commit": "725b2a96a70c6570a1fb84562fe46348414752cd",
      "tree": "c6e4772eff6ea9ebb881ca579f14e6c4f87fc05d",
      "parents": [
        "68a2f12304e960f2045f3819c48311e7bf4d3126"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 11:20:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 17:40:25 2016 -0700"
      },
      "message": "Add pthread_getname_np.\n\nAlso guard both these GNU extensions with _GNU_SOURCE.\n\nAlso improve the tests to test each case on both the current thread and\nanother thread, since the code paths are totally different.\n\nBug: http://b/27810459\nChange-Id: I72b05bca5c5b6ca8ba4585b8edfb716a1c252f92\n"
    },
    {
      "commit": "545afa16bb6e44227f531a3508e21f3184b2fd5d",
      "tree": "39b7042e585a4a9a673417d5e057b4abdc56f9f2",
      "parents": [
        "bca25411b882abc6ab0bf07d25266ba9f8e4d398"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 15 17:11:56 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 15 17:23:12 2016 -0700"
      },
      "message": "Fix PTHREAD_THREADS_MAX.\n\nWe don\u0027t have a compile-time limit on the number of threads,\nand we don\u0027t have a definite run-time limit either.\n\nBug: http://b/27617302\nChange-Id: I6a6fe083e7b655d24eb9e7ef7f3e0280d483080b\n"
    },
    {
      "commit": "7dac8b8aabadbf2dcff20d3646e701728ba3777d",
      "tree": "bf5889601dc253dd00c736d1460e6cd1f324b322",
      "parents": [
        "2de48bc809bba48a7f209e209b3822bad010166f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 17 14:19:48 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 17 14:38:09 2016 -0800"
      },
      "message": "Fix scope ids for link-local IPv6 addresses from getifaddrs(3).\n\nBug: http://b/27219454\nChange-Id: I7a166ff5553565f7afdab18dd2c703af4d475ab4\n"
    },
    {
      "commit": "9c212fc43617aeef5b1828407dd5d8daee506923",
      "tree": "eebd77eb6ca299aea0e3bdfad2e56b044072f305",
      "parents": [
        "831c8a52498d3c7be204a00847275f6e9163626f",
        "ca6af7f4a81c4f8d1acf1ecbdcdae8c44bb0a092"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 06 19:29:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 06 19:29:29 2016 +0000"
      },
      "message": "Merge \"define pw_gecos to pw_passwd for LP32 systems\""
    },
    {
      "commit": "ca6af7f4a81c4f8d1acf1ecbdcdae8c44bb0a092",
      "tree": "03b85951dc0893c5ebdf5a37afa34fa2666cefa1",
      "parents": [
        "d2be3802582e69bfaf1a8ab02849bc44c4fa2ce6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Wed Feb 03 14:40:37 2016 -0500"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Sat Feb 06 09:28:44 2016 -0500"
      },
      "message": "define pw_gecos to pw_passwd for LP32 systems\n\nSince we set both fields to NULL all the time, we can alias the two\nfields together on LP32 to provide build-time compatibility.\n\nBUG\u003d24918750\nTEST\u003dpython now builds for Brillo boards\n\nChange-Id: I3394aea80c9a5288669389f71d0e4132f2157e3c\n"
    },
    {
      "commit": "05d08e9716b5974d6ed08973f44930804890b902",
      "tree": "e3a33c02c6a918c04d30d93a315bf5b90b6cb512",
      "parents": [
        "d2be3802582e69bfaf1a8ab02849bc44c4fa2ce6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 04 13:16:38 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 05 16:03:55 2016 -0800"
      },
      "message": "Updated to v4.4.1 kernel headers.\n\nSmall modifications needed to allow compilation with the new headers:\n\n- Manually modify bionic/libc/kernel/uapi/asm-mips/asm/siginfo.h to\n  remove the uapi from the include.\n- PR_XXX defines are now available for mips, so remove the definition\n  from linker_mips.cpp.\n\nBug: 23789423\nChange-Id: I6dc8a03b012426d3a937db15cb24d3a50fab5a8c\n"
    },
    {
      "commit": "0c485dae707fac45f5d8baff7da1a469e25c2261",
      "tree": "a7d6b4ba2311bd0f42c3dd487667f5bf4baadca3",
      "parents": [
        "5da33dd67350fcb7c12a57027b1af5f4e72a9c21"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 14:13:52 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 14:13:52 2016 -0800"
      },
      "message": "Add in6addr_any and in6addr_loopback symbols.\n\nChange-Id: I3a90fa448b6bd43321672ba74b84a4e9e8a67738\n"
    },
    {
      "commit": "5f26c6bc91f653b61c01e2ff6e7eac4847e315a5",
      "tree": "ce87a77e7a33435dfdecf8d3b8517d6b261c1dac",
      "parents": [
        "36ff6995707112e66dd0dec78be7f8ee9b95d321"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 13:19:10 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 13:19:10 2016 -0800"
      },
      "message": "Really add adjtimex(2), and add clock_adjtime(2) too.\n\nChange-Id: I81fde2ec9fdf787bb19a784ad13df92d33a4f852\n"
    },
    {
      "commit": "f226ee59e0effedeabed09e2d65be7fa7499cc25",
      "tree": "60b192388b5575a5315d7e9ea2b5b4ffa29ed59f",
      "parents": [
        "a279324094d748b97201412b2457d2f6e26287dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:24:28 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:24:28 2016 -0800"
      },
      "message": "Add fopen64/freopen64/tmpfile64 aliases.\n\nOur fopen/freopen/tmpfile are already always O_LARGEFILE, but let\u0027s add\nthe aliases for _LARGEFILE_SOURCE compatibility.\n\nBug: http://b/24807045\nChange-Id: I5d99b3ef3c9f27ce70f13313f6a92e96c7f21f80\n"
    },
    {
      "commit": "6b45d57739772bf4418923e960cc396ad5a0706e",
      "tree": "ddc09263ab50cb51d5bdd198d04da7f9c71ec4dc",
      "parents": [
        "fe60bae4b71f9b4d50912f06acac601762e55b73"
      ],
      "author": {
        "name": "Xia Yang",
        "email": "xiay@nvidia.com",
        "time": "Wed Jan 20 18:34:59 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Feb 02 17:28:16 2016 -0800"
      },
      "message": "use GNU C89 extern inline semantics for __size_mul_overflow()\n\n__size_mul_overflow generates warning under following compilation envrionment:\n\n-OX -D_FORTIFY_SOURCE\u003d2 (X\u003d1, 2, 3)\n\nFor example:\n\necho \u0027#include \u003cstdio.h\u003e\u0027 | \\\nprebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-gcc \\\n    -I bionic/libc/arch-arm/include \\\n    -I bionic/libc/include \\\n    -I bionic/libc/kernel/uapi \\\n    -I bionic/libc/kernel/common \\\n    -I bionic/libc/kernel/uapi/asm-arm \\\n    -I bionic/libm/include \\\n    -I bionic/libm/include/arm \\\n    -I bionic/libc/include \\\n    -Werror \\\n    -O1 \\\n    -D_FORTIFY_SOURCE\u003d2 \\\n    -c \\\n    -x c \\\n    -\n\nbionic/libc/include/stdio.h:360:13: error: \u0027__size_mul_overflow\u0027 is\nstatic but used in inline function \u0027fread\u0027 which is not static [-Werror]\n         if (__size_mul_overflow(size, count, \u0026total)) {\n                          ^\n\nC99 - 6.7.4\n\"An inline definition of a function with external linkage shall not contain\na definition of a modifiable object with static storage duration, and shall\nnot contain a reference to an identifier with internal linkage.\"\n\nAs standard does not require compiler to determine when it is safe to\nreference an internal function in an external inline function, but instead\ndelegalizes such reference as a whole, gcc throws a warning for such code\nunder C99 compilation.  Warning produced by libc header is inhereted widely\nand strips the option of using -Werror to track code sanity.\n\nReplace static inline specifier with gnu89 extern inline. Latter \"is used\nonly for inlining. In no case is the function compiled on its own\", which\nis slightly different from former semantically, but should produce the same\nresult here.\n\nChange-Id: I6a3374498e5499d110e54468cf9d0d67d2debbe2\n"
    },
    {
      "commit": "c7ca8f3a6332638021b9ae99e1ce15739350ee98",
      "tree": "82175ecf36020d225af3736ff91828a89b624773",
      "parents": [
        "3f3f6c526b2d8f47df7462df0c0071c391cc7b4d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Jan 28 11:07:26 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Feb 02 00:28:35 2016 +0000"
      },
      "message": "socket.h: update AF_* constants\n\nChange-Id: I8ca219fa429ca8d8f872ed1db98275cd1a06f00b\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "3f3f6c526b2d8f47df7462df0c0071c391cc7b4d",
      "tree": "e233e70f635dd67ec2bc453844a78dcb6b11a710",
      "parents": [
        "0e915b294b2b1f0d20cd1b9a4e1721d59ccbfa7a"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Jan 27 17:13:51 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Jan 28 13:41:22 2016 -0800"
      },
      "message": "Add adjtimex\n\nChange-Id: Ia92d35b1851e73c9f157a749dba1e98f68309a8d\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "03e65eb03bf0bfaafa797daf91e80e8308968db3",
      "tree": "9f3158666a6a63833a0ae6beb23f3e0979de1fd8",
      "parents": [
        "ced73ee45e04a991ce1295a38364568a17884eed"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 14:13:04 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 14:45:13 2016 -0800"
      },
      "message": "Implement funopen64.\n\nBug: http://b/24807045\nChange-Id: I161920978161389be34b707cc6ce8e05f760d552\n"
    },
    {
      "commit": "94bb0fab931102f1fcf393aa507a6b77b741844f",
      "tree": "9f4b08c289379da922d2499169f39481914f0f40",
      "parents": [
        "d9bb70857577808c197030e7f5422ee1f976f3ac",
        "9677fab88c25fd2e6f3149ad00fb8870963f0675"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 20:51:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 26 20:51:59 2016 +0000"
      },
      "message": "Merge \"Support _FILE_OFFSET_BITS\u003d64 for most of \u003cstdio.h\u003e.\""
    },
    {
      "commit": "5704c423c81790195161c1757ae79da188590c51",
      "tree": "66ebd378fb496400d35ad38a8c4eb25931ad30f2",
      "parents": [
        "ac67b4eb7c70ea668abb32298b0cb16920a32a66"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 18:06:24 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 11:09:44 2016 -0800"
      },
      "message": "Implement POSIX lockf.\n\nThis has been requested a few times over the years. This is basically\na very late rebase of https://android-review.googlesource.com/45470\nwhich was abandoned years ago. One addition is that this version has\n_FILE_OFFSET_BITS\u003d64 support.\n\nPOSIX puts this in \u003cunistd.h\u003e. glibc also has it in \u003cfcntl.h\u003e.\n\nBug: http://b/13077650\nChange-Id: I5862b1dc326e326c01ad92438ecc1578d19ba739\n"
    },
    {
      "commit": "9677fab88c25fd2e6f3149ad00fb8870963f0675",
      "tree": "365bc8bb9137d504717b88444cdc1262a6c58df3",
      "parents": [
        "ac67b4eb7c70ea668abb32298b0cb16920a32a66"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 15:50:59 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 09:14:41 2016 -0800"
      },
      "message": "Support _FILE_OFFSET_BITS\u003d64 for most of \u003cstdio.h\u003e.\n\nThis doesn\u0027t address funopen, but does add fgetpos/fsetpos/fseeko/ftello.\n\nBug: http://b/24807045\nChange-Id: Ibff6f00df5fb699c8e8f13b91a75caf024540b73\n"
    },
    {
      "commit": "e70e0e9267d069bf56a5078c99307e08a7280de7",
      "tree": "13e4b48665f46eecb2660bdde4775f2b761226ec",
      "parents": [
        "ad9c3f34f762ed45cce5dbb93218124ed31f6873"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 11:10:47 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 11:10:47 2016 -0800"
      },
      "message": "Move internal FILE flags macros to \"local.h\" from \u003cstdio.h\u003e.\n\nBug: http://b/24807045\nChange-Id: Ia42ec1907370b4af957ece94a856f71c7ee27cb7\n"
    },
    {
      "commit": "0ac0cee0d1ab60a92103a5021e76ec31da2e3234",
      "tree": "86e5e5d15c525b7fd3883ea3dcf06f57f5853906",
      "parents": [
        "a42483baad9a37297e6bbbe02d433ecbde890386"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 06 17:57:44 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jan 25 10:14:35 2016 -0800"
      },
      "message": "Remove dlmalloc.\n\nBug: http://b/17207577\nChange-Id: Ie009badca6deb1f91b27a4340b70cdd6bedff893\n"
    },
    {
      "commit": "2704bd13409a77237147f861c43796148326b2e3",
      "tree": "c2433fa289edb2a7654a3c1caa2ad3c21c60e23d",
      "parents": [
        "5f1ff279ea6aa4c35c59a81018131810e35b2bff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 20 17:14:53 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 21 10:34:35 2016 -0800"
      },
      "message": "Simplify fseek/ftell.\n\nAnother step towards _FILE_OFFSET_BITS\u003d64 support.\n\nBug: http://b/24807045\nChange-Id: I00b83c81a7b108176c4d9437bc32611f73b7e967\n"
    },
    {
      "commit": "ed57b98758176f0cccdec16cbed524e444039fe7",
      "tree": "75089e67cfcbff961a859ac13409b1f19137cfc6",
      "parents": [
        "68d0150221eb505a576f6ad5ca1f367b4ce547a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 15 21:02:56 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 18 12:07:38 2016 -0800"
      },
      "message": "Implement if_nameindex(3)/if_freenameindex(3).\n\nThis is just a subset of the recently-implemented getifaddrs(3), though if\nwe want to handle interfaces (such as \"rmnet_*\") that don\u0027t have an address,\nwe need to either expose ifaddrs_storage and keep track of which interfaces\nwe\u0027ve already seen (which is pretty messy), or refactor the netlink code so\nwe can reuse it and just extract the information we need for if_nameindex(3).\nThis patch goes the latter route.\n\nAlso clean up if_nametoindex(3) and if_indextoname(3).\n\nChange-Id: I5ffc5df0bab62286cdda2e7af06f032c767119a8\n"
    },
    {
      "commit": "9361ad3f80adc1e21ab97c8d684afed311788e00",
      "tree": "7fc6ab24e35aff54ffadb54267e71c19288f1e8b",
      "parents": [
        "906e67fdba54459983bfa6bc29e02253a6990144"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 12 14:43:27 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 12 14:43:27 2016 -0800"
      },
      "message": "Fix \u003csys/sysmacros.h\u003e.\n\n1. The definitions were wrong.\n2. The definitions were inline functions.\n3. The definitions were polluting the namespace even for code that doesn\u0027t\n   want BSD cruft.\n\nNote that everybody will still get these by default, because you still get\nall the BSD stuff by default.\n\nBug: http://b/12706131\nChange-Id: I062ecd09feef7a6e8ba1922d465b96a9c4bf4f4e\n"
    },
    {
      "commit": "9cddb482b498abd134f7ccfc9933747e8bcb9cc7",
      "tree": "a11142895775f0aaa7c4c68175254e6ead803676",
      "parents": [
        "2fed6aa9f0d2a90d59ad3c4d73313958f3470152"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 04 20:38:05 2016 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 04 13:00:39 2016 -0800"
      },
      "message": "Revert \"Revert \"Implement getifaddrs(3)/freeifaddrs(3).\"\"\n\nThis reverts commit 76814a8250fd5e1502909ef5e10e4d166cc96c0e.\n\nThis differs from the original in fixing the GCC -Werror build:\n\n  bionic/libc/bionic/ifaddrs.cpp: In function \u0027void __handle_netlink_response(ifaddrs**, nlmsghdr*)\u0027:\n  bionic/libc/bionic/ifaddrs.cpp:113:62: error: use of old-style cast [-Werror\u003dold-style-cast]\n       ifinfomsg* ifi \u003d reinterpret_cast\u003cifinfomsg*\u003e(NLMSG_DATA(hdr));\n\nThis appears to be a GCC bug; the GCC command-line correctly uses -isystem,\nand manually adding #pragma GCC system_header doesn\u0027t help. So just turn the\nwarning off for GCC for now. We won\u0027t need to worry about building with GCC\nsoon anyway.\n\nBug: http://b/26238832\nChange-Id: I01615bd335edf11baf487b1c83a9157cd780f4a1\n"
    },
    {
      "commit": "b62e633ff679a65df97be55bd0ae6a02633ce472",
      "tree": "ffad9be2c77f5c3c1ad164aa055a0e4b08f91cb1",
      "parents": [
        "71417caa927bb6720ae6cd759f335d8081f57895",
        "76814a8250fd5e1502909ef5e10e4d166cc96c0e"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:48:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 22 17:48:21 2015 +0000"
      },
      "message": "Merge \"Revert \"Implement getifaddrs(3)/freeifaddrs(3).\"\""
    },
    {
      "commit": "76814a8250fd5e1502909ef5e10e4d166cc96c0e",
      "tree": "04b19cda236e882d75bfd928c4fbc87dded7a27a",
      "parents": [
        "0945ed5cc5921243724fed4465d20881f4891a8d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:47:54 2015 +0000"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:47:54 2015 +0000"
      },
      "message": "Revert \"Implement getifaddrs(3)/freeifaddrs(3).\"\n\nWerror build broken. Revert while working on a fix.\n\nThis reverts commit 0945ed5cc5921243724fed4465d20881f4891a8d.\n\nChange-Id: I67edab7a7a3b9aa673ce9d14aa95380f947838a1\n"
    },
    {
      "commit": "71417caa927bb6720ae6cd759f335d8081f57895",
      "tree": "4548d3d207115358eaf96fec644a1da54865c333",
      "parents": [
        "be7c7fe218ca13b5763fbbcb650780aff4ed1dbd",
        "0945ed5cc5921243724fed4465d20881f4891a8d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 22 17:11:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 22 17:11:59 2015 +0000"
      },
      "message": "Merge \"Implement getifaddrs(3)/freeifaddrs(3).\""
    },
    {
      "commit": "7331fe18d7ffd550996e07b534bc7a6cf625afa5",
      "tree": "ffad9be2c77f5c3c1ad164aa055a0e4b08f91cb1",
      "parents": [
        "4afd635be1b956c40f36758a482e6d83502fbb42"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 14:11:17 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Dec 19 23:38:27 2015 -0800"
      },
      "message": "linker: implement shared namespaces\n\nShared namespaces clone the list of loaded native\nlibraries from the caller namespace. This allows\nclassloaders for bundled apps to share already loaded\nlibraries with default namespace.\n\nBug: http://b/22548808\nBug: http://b/26165097\nChange-Id: I8949d45937fdb38e1f586ff0679003adac0d9dad\n(cherry picked from commit e78deef364d952dd1141a2f3067a12060aaf11e6)\n"
    },
    {
      "commit": "0945ed5cc5921243724fed4465d20881f4891a8d",
      "tree": "cb4468cc6114238740ef29973bd5d5fa951fa826",
      "parents": [
        "4afd635be1b956c40f36758a482e6d83502fbb42"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 19 14:39:10 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 19 14:49:09 2015 -0800"
      },
      "message": "Implement getifaddrs(3)/freeifaddrs(3).\n\nTime to dust off the old libcore implementation from gingerbread and add it\nto bionic. Unlike the original, this actually looks at both RTM_NEWLINK and\nRTM_NEWADDR.\n\nBug: http://b/26238832\nChange-Id: I7bb4b432deb766065b66b9c9ff36ed68249aba82\n"
    },
    {
      "commit": "9cf99cbad89c8495828788ce693a99ced434f66f",
      "tree": "fa089662db2475f6e4e1260f029fcab805eb0a96",
      "parents": [
        "d3e5301a75256171199b23f6ba2c6651d05ce5f1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 11 14:22:24 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 16 15:24:13 2015 -0800"
      },
      "message": "linker: add dlvsym(3)\n\nThis changes implements dlvsym - dlsym for versioned symbols.\n\nBug: http://b/22865643\nChange-Id: Ic90a60d512104261a1416c43f9100f0d88e3b46f\n"
    },
    {
      "commit": "284ae3559ed909613b189b98bdc3efab94373a30",
      "tree": "7f525b5244599a2caa7692d3d179dde4bbb61fe3",
      "parents": [
        "df196131f3c16f1eddb1542c7e04c675e7f1fbda"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 08 10:47:13 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 09 13:54:01 2015 -0800"
      },
      "message": "Add permitted_when_isolated_path to linker namespaces\n\nThe permitted_when_isolated_path is a way to white-list\ndirectories not present in search-path. It is ignored for\nnot isolated namespaces.\n\nBug: http://b/25853516\nBug: http://b/22548808\nChange-Id: Ib1538037268eea69323ea49968a34a4a1d1938a5\n"
    },
    {
      "commit": "49a309ff6a8349cbd1625711497743463638bebf",
      "tree": "934a2a6d0b469f2345a733b414e26c6654fd6020",
      "parents": [
        "9cbabd8fe5ef3834682996ff23b4a5325e0586cb"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Sep 23 16:09:47 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Dec 02 15:17:03 2015 -0800"
      },
      "message": "Separate properties by selabel\n\nThe purpose of this change is to add read access control to the property\nspace.\n\nIn the current design, a process either has access to the single\n/dev/__properties__ file and therefore all properties that it contains\nor it has access to no properties.  This change separates properties\ninto multiple property files based on their selabel, which allows\ncreation of sepolicies that allow read access of only specific sets of\nproperties to specific domains.\n\nBug 21852512\n\nChange-Id: Ice265db79201ca811c6b6cf6d851703f53224f03\n"
    },
    {
      "commit": "1ffec1cc4d0e283bb1ff6f49843769a3493b8d73",
      "tree": "083c8af007b9a2e2ed01fbde2eea50ded648e114",
      "parents": [
        "a7fc7f9909c221a0f64c5c5ecc5fadd5fba467c5"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 23 11:26:35 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 23 16:13:10 2015 -0800"
      },
      "message": "Introduce anonymous namespace\n\nThe anonymous namespace is introduced to\nhandle cases when linker can not find the\ncaller. This usually happens when caller\ncode was not loaded by dynamic linker;\nfor example mono-generated code.\n\nBug: http://b/25844435\nBug: http://b/22548808\nChange-Id: I9e5b1d23c1c75bc78548d68e79216a6a943a33cf\n"
    },
    {
      "commit": "fe3a83a9343f0e4ff654f09ef8ffc8a773c7c105",
      "tree": "092ca0be892463bc543eaaabc9feda130ad37fb1",
      "parents": [
        "b804b9d67b9e3a8c63471ff9892f6abea2a58684"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 17 16:03:18 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 18 17:51:21 2015 -0800"
      },
      "message": "Implement pthread spin.\n\nIn order to run tsan unit tests, we need to support pthread spin APIs.\n\nBug: 18623621\nBug: 25392375\nChange-Id: Icbb4a74e72e467824b3715982a01600031868e29\n"
    },
    {
      "commit": "b804b9d67b9e3a8c63471ff9892f6abea2a58684",
      "tree": "ce42730b1964f3bd1b498823744f7d61f5527695",
      "parents": [
        "3c8c16022a513a32eb6b92cf23f4ef43ccf7ad6d",
        "e7c2fffa16eccecfd43d99516751a43776f5f609"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 17 00:22:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 00:22:54 2015 +0000"
      },
      "message": "Merge \"Implement pthread barrier.\""
    },
    {
      "commit": "e7c2fffa16eccecfd43d99516751a43776f5f609",
      "tree": "bceec6b32ce1159456b2b0bb7ea0ea320d0970cc",
      "parents": [
        "004fead6bc55d1e65b4fb9ca1ac36646b99e5fdd"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 05 22:06:09 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Nov 16 14:02:26 2015 -0800"
      },
      "message": "Implement pthread barrier.\n\nBug: 24341262\nChange-Id: I5472549e5d7545c1c3f0bef78235f545557b9630\n"
    },
    {
      "commit": "42d5fcb9f494eb45de3b6bf759f4a18076e84728",
      "tree": "8f653810d3ddecf30bb0b744d4564d406808fe3e",
      "parents": [
        "ffe5c24c8693f1f4fc8edb68075fb36df558b801"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 29 17:01:24 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sun Nov 15 12:09:16 2015 -0800"
      },
      "message": "Introducing linker namespaces\n\nBug: http://b/22548808\nChange-Id: Ia3af3c0a167f1d16447a3d83bb045d143319b1e1\n"
    },
    {
      "commit": "fb994f4c040da968b7271860535f07daba182069",
      "tree": "b2c6e72f4484ca30990ae6625a677a394b97e227",
      "parents": [
        "8b5b2c467281de502ba1c8ffbe447ef95fbf5219"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 06 16:13:47 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 06 16:13:47 2015 -0800"
      },
      "message": "Add fileno_unlocked to support thread sanitizer.\n\nBug: 25392375\nChange-Id: If3f92a0e08a53f4b59e01397e8efa307d8572349\n"
    },
    {
      "commit": "4200e260d266fd0c176e71fbd720d0bab04b02db",
      "tree": "b2c934fc4e2f546504cc02fdccd5f83fd60c6d37",
      "parents": [
        "ef5e647891f1a0aefeab4a87e9225e47087c6301"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Tue Nov 03 05:14:08 2015 -0500"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 06 13:14:43 2015 -0800"
      },
      "message": "fix the mremap signature\n\nThe mremap definition was incorrect (unsigned long instead of int) and\nit was missing the optional new_address parameter.\n\nChange-Id: Ib9d0675aaa098c21617cedc9b2b8cf267be3aec4\n"
    },
    {
      "commit": "eb9b9250122080df4a11293b9b6679e0b63ae2dd",
      "tree": "5a01876fa83ca1e74bb7611f63c1af9ca19f06b5",
      "parents": [
        "e07558fb80da4e196e8b7e371041c1e75c56b29b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 03 18:46:02 2015 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 04 14:19:55 2015 -0800"
      },
      "message": "Fix GNU/POSIX basename headers.\n\nIncluding glibc\u0027s \u003clibgen.h\u003e will result in the user getting the POSIX\nversion of basename always, regardless of when it is included relative\nto \u003cstring.h\u003e. Prior to this patch, our implementation would result in\nthe one that\u0027s included first winning.\n\nBug: http://b/25459151\nChange-Id: Id4aaf1670dad317d6bbc05763a84ee87596e8e59\n"
    },
    {
      "commit": "c36be975ce4525b452435f43beb1fb9fc26a7fdc",
      "tree": "33dc1579e096e571f14d4996f8b1fd610aac30ab",
      "parents": [
        "bdac9ec142347a0dc9784bddd0f8336535e73529",
        "4151db5f997cd91d3505ac6594bede0b50184855"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 30 23:35:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 23:35:40 2015 +0000"
      },
      "message": "Merge \"Add prlimit to LP32.\""
    },
    {
      "commit": "38eca07826f70a34fde05e6b858cb6e88cac3a55",
      "tree": "a4bd5a1fec0cc1524084873a200c3f933de0269d",
      "parents": [
        "50e92795890c0d8b4bf54c535f66f3b2edf7bd59"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 29 19:52:44 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 29 19:52:44 2015 -0700"
      },
      "message": "Remove \u003csys/shm.h\u003e.\n\nAndroid doesn\u0027t allow SysV IPC, so this only serves two purposes. It\u0027s\ngood in that it helps random code (especially code that doesn\u0027t actually\nneed this header) to compile anyway. But it\u0027s bad for the same reason:\nit\u0027s misleading for configure scripts that test for the header but not\nfor the corresponding functions.\n\nBug: http://b/19340456\nChange-Id: I4a5f319d9aecf46fc512fc94bb4f9e3f6ea64e71\n"
    },
    {
      "commit": "4151db5f997cd91d3505ac6594bede0b50184855",
      "tree": "16c30988b1a1090c7221c3f14aac88d296596fc3",
      "parents": [
        "50e92795890c0d8b4bf54c535f66f3b2edf7bd59"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 28 17:14:48 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 28 20:04:59 2015 -0700"
      },
      "message": "Add prlimit to LP32.\n\nBug: http://b/24918750\nChange-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917\n"
    },
    {
      "commit": "1721be2229d07b5eea830f02a76e7be56d172aa9",
      "tree": "77807f66cd568d03478375763b12ef0f97934ec0",
      "parents": [
        "5238eb09844f9c1578353d4c9e297aadb34c71be",
        "6331e806de41d98083f1bfa3661addfae4682c37"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 21:40:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 21:40:31 2015 +0000"
      },
      "message": "Merge \"Implement scandirat and scandirat64.\""
    },
    {
      "commit": "6331e806de41d98083f1bfa3661addfae4682c37",
      "tree": "fc63b42f79adfa429e514cf3b1231245d29222b7",
      "parents": [
        "60752a2eeab8cd0b344b27c67a47e30628962211"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 11:10:36 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 13:47:36 2015 -0700"
      },
      "message": "Implement scandirat and scandirat64.\n\nBug: http://b/12612339\nChange-Id: Id3b249a884fe08964b26a017ae9574961f0cb441\n"
    },
    {
      "commit": "5238eb09844f9c1578353d4c9e297aadb34c71be",
      "tree": "5d869c133aa470cc8f808db14ac762c2574dddaf",
      "parents": [
        "60752a2eeab8cd0b344b27c67a47e30628962211",
        "126af757c6d6a6447c19236df8d98ba07f21996f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 27 19:03:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 19:03:53 2015 +0000"
      },
      "message": "Merge \"Implement load at fixed address feature\""
    },
    {
      "commit": "126af757c6d6a6447c19236df8d98ba07f21996f",
      "tree": "b303f921749f2bb077096218b22ab20bf789d4be",
      "parents": [
        "6a4ddeb56ef2144e98437ae82f84b09ea785e411"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 07 16:34:20 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 27 11:27:34 2015 -0700"
      },
      "message": "Implement load at fixed address feature\n\nBug: http://b/24683631\nChange-Id: I3a39ab526c8f9e213339b60e135e5459d0f41381\n"
    },
    {
      "commit": "9216a64c90ae30da109850526cdeaca26f38da14",
      "tree": "132ba401999a6fccfc63b88358ef0d031e34ee09",
      "parents": [
        "a2cf3783d4e9a4008ed468ef3204593f8f549934"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 19:29:12 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 19:29:12 2015 -0700"
      },
      "message": "Fix \u003cutmp.h\u003e declarations.\n\nIf we\u0027re going to keep this useless header -- and I think it\u0027s too late to\nremove it -- it may as well be correct.\n\nBug: http://b/17700469\nChange-Id: Ifec4f8f1a984483d7fa7d81d47786f75b70ff4ba\n"
    },
    {
      "commit": "bf4c32df6b7c15c8ca80319410e7d37ddd39240b",
      "tree": "53aff078debd43e9453a1254571041e1252e17f8",
      "parents": [
        "6a4ddeb56ef2144e98437ae82f84b09ea785e411"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 17:51:42 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 17:51:42 2015 -0700"
      },
      "message": "Remove swap16/swap32/swap64 header pollution.\n\nThis seems to be obsolete BSD stuff, and the only references to it in the\ntree are people #undef\u0027ing it.\n\nBug: http://b/2735009\nChange-Id: Icde523ae2d15cf1025357d861f97b415e89e4f9a\n"
    },
    {
      "commit": "a8184456229ace2b0255468e6b15aeb6509e27f7",
      "tree": "bb0e1d6bdc4571d8b68b292a02c41a335fcae56f",
      "parents": [
        "c45f3bf3e691f48af63c5ea2bf7a348a698013ac"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 12:32:52 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 12:32:52 2015 -0700"
      },
      "message": "Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.\n\nChange-Id: If4da9e46398ca5524f6f0680d70588e3dc7e80b4\n"
    },
    {
      "commit": "f0141dfab10a4b332769d52fa76631a64741297a",
      "tree": "79595f40434f33a870ac4b79b9916a9408b88a8a",
      "parents": [
        "e78392637d5086384a5631ddfdfa8d7ec8326ee3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 12:44:23 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 12:53:42 2015 -0700"
      },
      "message": "Make struct FILE opaque.\n\nBug: http://b/24807045\nChange-Id: I3cb4e436325a65bef3b203e3970e4d967101fcce\n"
    },
    {
      "commit": "68af0adeb9df27b3f538b0a57db426dea060db99",
      "tree": "1b71fc13c2efdc7ae724aa9e61c0ec9132ed9970",
      "parents": [
        "487a1823e8617011009eded8eae9a75c1f871887"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 09 18:48:51 2015 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 09 18:52:49 2015 -0400"
      },
      "message": "utmp.h: add more ut_type defines\n\nThis fills out the defines that utmp.h normally offers on other systems\nsuch as glibc.\n\nBUG\u003d24810744\n\nChange-Id: If57f9ced22e8673f072245fce3f5c0f8e1f591e5\n"
    },
    {
      "commit": "efcb5d9d4c4b482cf21318b2bb4aec6cf6d8e0f5",
      "tree": "2be02a5f316342fd3326532dc1ba1584ea092839",
      "parents": [
        "3d00f79f98c8b981a36a79657f07a303a2288a55",
        "44ddb31e75ff0cebea8249065606600185d58680"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 21:52:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 22 21:52:28 2015 +0000"
      },
      "message": "Merge \"Remove some \u003csys/cdefs.h\u003e cruft.\""
    },
    {
      "commit": "44ddb31e75ff0cebea8249065606600185d58680",
      "tree": "c15f29bd1fd7423928a7ae117ec19f952d78c1ad",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 13:00:21 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 13:00:21 2015 -0700"
      },
      "message": "Remove some \u003csys/cdefs.h\u003e cruft.\n\nIn particular, we don\u0027t need to record the peculiarities of every\nversion of GCC ever shipped. It just makes this file harder to follow.\n\nChange-Id: Ie9035d78eae86b4aed9dff3576c6f54e268aaced\n"
    },
    {
      "commit": "f8a2243ebeb3ce60e412cd7b71b31c7b31313d58",
      "tree": "c6c9bd55b48e97caebf60b5875544cdcce7f5755",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "message": "\u003cnetinet/udp.h\u003e should include \u003clinux/udp.h\u003e.\n\nThe comment about \"other stuff\" referred to pre-uapi headers. Everything\nin the current \u003clinux/udp.h\u003e should be exposed to userspace. The only\nproblem is that BSD and Linux use different names for the members of\nstruct udphdr. We can move the Linux udphdr out of the way and use an\nanonymous union to get the best of both worlds. (Though unfortunately\nthis means that code that includes \u003clinux/udp.h\u003e directly instead of\nusing \u003cnetinet/udp.h\u003e now won\u0027t have any definition of struct udphdr.\nWe\u0027ve taken the stance in the past that you shouldn\u0027t include a linux/\nheader if there\u0027s a standard equivalent --- you should rely on us\ntransitively including it for you.)\n\nChange-Id: Ie625892441b0edd8df3b76d3fcf2cbe299077bc4\n"
    },
    {
      "commit": "c6043f6b27dc8961890fed12ddb5d99622204d6d",
      "tree": "154fe0db6e0eaeda3858d6f0bca4ba9adda9afb0",
      "parents": [
        "d75abb9614b04c3da3104099752726f9d1c6d8c7"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Aug 25 17:50:29 2015 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Sep 18 13:37:53 2015 -0700"
      },
      "message": "Define WIFCONTINUED()\n\nChange-Id: Id0feebd90d0525f3b479eb119b942eae8ca568d1\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "d75abb9614b04c3da3104099752726f9d1c6d8c7",
      "tree": "e3e64f1300f96712b7cedf4a61e1299a48486111",
      "parents": [
        "cd0ed2f174d9015da5ae7206bc4c5190cd0bb51e"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Aug 25 17:45:46 2015 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Sep 18 13:37:53 2015 -0700"
      },
      "message": "Fix SOCK_* flag definitions\n\nMIPS and the rest of the world only disagree on the first two SOCK_*\nconstants, so restructure the #ifdef accordingly.\n\nAs a deliberate side effect, this fixes SOCK_DCCP being missing on\nnon-MIPS platforms.\n\nChange-Id: I2267008f1121a7eebe1ed9097afab6e612bce7f0\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "268af26359c8f1c87585e26d2763e3a3a63f8714",
      "tree": "7b1f9d3473be16d6ad3208195e28fc3ce1dee29c",
      "parents": [
        "1c7b84ca0095e0dc4da8434e9e0c59cd2326f763"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 11 09:47:27 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 11 09:47:27 2015 -0700"
      },
      "message": "CMSG_DATA should return an unsigned char*.\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html\n\u003e CMSG_DATA(cmsg)\n\u003e    If the argument is a pointer to a cmsghdr structure, this macro\n\u003e    shall return an unsigned character pointer to the data array\n\u003e    associated with the cmsghdr structure.\n\nChange-Id: I3f89ba19cbca4e6727abc65a2bbcd59267892ba8\n"
    }
  ],
  "next": "af4713e6a5658d46570f37fe791120c60fcd34f2"
}
