)]}'
{
  "log": [
    {
      "commit": "e76ff925df7d0b9aef84fe230c7497ff6a8fbba4",
      "tree": "9009caad2fd90f30494b915d367977b96867e0f8",
      "parents": [
        "6aaa227f74031ee461c7ce5b7a2a262397e866b2",
        "1449974d27473399a1fe25c2d28253908a57e382"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 10 20:40:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 10 20:40:53 2017 +0000"
      },
      "message": "Merge \"Make inline tcsetattr definition match constants.\""
    },
    {
      "commit": "00fedf5879176d580aa7e9c4fdc820a6f9655033",
      "tree": "4924ca943550aff0904589800ab34b8ae9993b55",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 15:23:50 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 10 19:52:18 2017 +0000"
      },
      "message": "Undo recent _FILE_OFFSET_BITS\u003d64 changes.\n\nWe had several bugs filed saying \"if I set _FILE_OFFSET_BITS\u003d64 when\ntargeting an API \u003c L, various functions are missing\". Instead of\nsaying \"yes, they are\", we quietly just modified the header files to\nexpose the non-64-bit variants. This makes no sense. We can\u0027t just say\n\"oh, yeah, we don\u0027t have a version of this function that agrees with\nyour calling code about how large off_t is, but here\u0027s a version that\ndoesn\u0027t: I\u0027m sure it\u0027ll be fine\".\n\n_FILE_OFFSET_BITS\u003d64 on Android LP32 has always been a game of chance,\nbut that game should be \"are all the functions my code needs available\nat compile time?\", not \"will my code actually work at run time?\".\n\nBug: https://github.com/android-ndk/ndk/issues/449\nBug: https://github.com/android-ndk/ndk/issues/442\nBug: https://github.com/android-ndk/ndk/issues/333\nBug: https://github.com/android-ndk/ndk/issues/332\nBug: https://github.com/android-ndk/ndk/issues/324\nTest: builds\nChange-Id: Ib095251d3e21e77ed50cc3575388107fecec4ecd\n"
    },
    {
      "commit": "1449974d27473399a1fe25c2d28253908a57e382",
      "tree": "99ab00407ff51e8db4318365f31eabc9feb942af",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 12:00:29 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 12:00:29 2017 -0700"
      },
      "message": "Make inline tcsetattr definition match constants.\n\nBefore this change we have the old NDK inline termios functions with the\nmodern constants. Unfortunately the old NDK inline functions relied on\nhacking the constants. Fix things by sharing the implementation between\nthe platform and the NDK headers.\n\nBug: https://github.com/android-ndk/ndk/issues/441\nTest: ran tests\nChange-Id: I2773634059530bc954167f29c4783413a2294d5a\n"
    },
    {
      "commit": "468c8086e6f28b9342d3f89ed89f185ab5bb775a",
      "tree": "e04a6353962ea85f199c283e21b28b4caf4325ee",
      "parents": [
        "f06535035ef6e48aeacc37819ea7182416275216"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 20 12:47:14 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 20 13:11:14 2017 -0700"
      },
      "message": "Fix _POSIX_THREAD_PROCESS_SHARED.\n\nWe\u0027ve had pthread_*_setpshared for long enough that there are no\n__INTRODUCED_IN guards.\n\nFound because fio\u0027s configure script was confused by this.\n\nBug: N/A\nTest: ran tests\nChange-Id: I07b4d937741e4dcd7e615f2371b17c827341917a\n"
    },
    {
      "commit": "2e8e5e60b6ecbcfe2110242e41b9ec5340b11cf5",
      "tree": "8810a00e508e0dd698d23f513432fff2e513e87e",
      "parents": [
        "ee1c45f88f5fcd1b1d43c325e0de366cc3d0ce36"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 20 12:58:31 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 20 16:57:25 2017 -0700"
      },
      "message": "DO NOT MERGE: The future is now.\n\n__INTRODUCED_IN_FUTURE -\u003e __INTRODUCED_IN(26)\n\nBug: http://b/37437368\nTest: treehugger\nChange-Id: I601a23da83b65a0cd582cc840ed3856a9031b673\n(cherry picked from commit cb302f932a3532f1484e1e70894e9b1199384283)\n"
    },
    {
      "commit": "5109bb463d3cce67a68875dec3cba9cb0b861ecd",
      "tree": "d50a0033f667bd8ac49bf964c1c10a5f5152a1b9",
      "parents": [
        "0fc84517abe3082f201a340dafe20403613ddf94"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 19 13:25:27 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 19 13:28:32 2017 -0700"
      },
      "message": "Make all the ELF relocation constants available.\n\nBSD thinks you should only get the relocation constants for your target\narchitecture, but it\u0027s often useful to have them all available at once.\nRearrange the headers to enable that.\n\nAlso update the (modified) NetBSD files to CVS HEAD.\n\nAlso remove the unused BSDism R_TYPE.\n\nBug: N/A\nTest: builds\nChange-Id: Iad5ef29192a732696e2b36af35144a9ca116aa46\n"
    },
    {
      "commit": "0446c8c095044d47217a59a9fd707fc8ed23b6fc",
      "tree": "0a18640e14b7a0aab407cb6e0bc60d83ec8cf045",
      "parents": [
        "791989d250a507e3fc5634eccbf1341d980f2916"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 19 10:20:25 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 19 10:52:35 2017 -0700"
      },
      "message": "Add missing arch-specific AT_ cruft.\n\nAP_FPUCW is referenced by valgrind.\n\nBug: https://bugs.kde.org/show_bug.cgi?id\u003d339945\nTest: valgrind builds with one less hack\nChange-Id: I7146f3709286662108cc82ba3c55ce935375a1f1\n"
    },
    {
      "commit": "8ebfc0d3a3285a595cd44d477ebe76fdaa39afcf",
      "tree": "995b8984775e39d6c896a78fd46e1428d7a0c8ea",
      "parents": [
        "72b6f4fae22477a2d35c2cf6b9de4053ec0b731f",
        "06d7f2c78968d1f3e72eb96a5e2472c22c08cd19"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 20:11:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 21 20:11:37 2017 +0000"
      },
      "message": "Merge \"POSIX support varies by API level.\""
    },
    {
      "commit": "06d7f2c78968d1f3e72eb96a5e2472c22c08cd19",
      "tree": "77f98a3292f307e5360c3a372b89b1a956dc8d51",
      "parents": [
        "9cb82a2c6b9001f7c50cbb3465f4aabc5d7cd055"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 21 11:24:13 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 21 11:24:13 2017 -0700"
      },
      "message": "POSIX support varies by API level.\n\nBug: https://github.com/android-ndk/ndk/issues/332\nTest: builds\nChange-Id: I249c214d34244a1149ba6b1160e8eafc2cdbcdea\n"
    },
    {
      "commit": "468a5d2d83a3d719f7493d041abc69587756d8fa",
      "tree": "dee5d5ba9409f295326e0387507fb92783a8bbe7",
      "parents": [
        "9cb82a2c6b9001f7c50cbb3465f4aabc5d7cd055"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 21 09:39:56 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 21 09:55:32 2017 -0700"
      },
      "message": "pthread barrier and spinlock types should only appear at API level 24.\n\nBug: https://github.com/android-ndk/ndk/issues/336\nTest: builds\nChange-Id: I938d9d7ea879d1dbc355f14e100f1ea31a51a1f0\n"
    },
    {
      "commit": "6a9755d20a995756487bb1aafb7e954f4fd868a7",
      "tree": "0278ddd8ea343a9b9d7038ad907450ec7eca6130",
      "parents": [
        "18c009ca96a432b35c76aeb9f62687b2db5153c0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jan 13 14:09:31 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 25 16:23:56 2017 -0800"
      },
      "message": "Update to kernel headers v4.9.3.\n\nTest: Built arm, arm64, x86, x86_64 targets.\nTest: Booted on angler, and ran bionic unit tests (32 bit and 64 bit).\n\nChange-Id: I14a8dcbea11b41f83431eabed6590cd25af07b1d\n"
    },
    {
      "commit": "edecce3ac20ba4bdacda9e85e7fab30162549438",
      "tree": "89d75638cab5253bd7f3b524acef62b2bc5e0c0a",
      "parents": [
        "6901ca2799b6514b6513f4b4c2ef22e571191a94",
        "3037ea43fccf5ec64537c3ee024bc726ee723c01"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 19:34:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 19:34:56 2016 +0000"
      },
      "message": "Merge \"Fix stdin/stdout/stderr for pre-M.\""
    },
    {
      "commit": "3037ea43fccf5ec64537c3ee024bc726ee723c01",
      "tree": "830fda3221eb1207bb837f78298032be2d2c1706",
      "parents": [
        "d8244214751f9b48e60e69910c4e7175f8fab1ac"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 06 15:46:45 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 10:10:45 2016 -0700"
      },
      "message": "Fix stdin/stdout/stderr for pre-M.\n\nThis wasn\u0027t an array of pointers, it was an array of structs.\nUnfortunately we need a complete type to index into the struct for\nstdin/stdout/stderr, so add a phony struct that matches the size and\nalignment of `struct __sFILE`. This property is guaranteed by the\nstatic_asserts in libc/bionic/struct_file_test.cpp.\n\nTest: mma\nBug: http://b/30465923\nChange-Id: I8ce851dd64a261703bb44f9b5cd23b7caff4dd68\n"
    },
    {
      "commit": "73c44a4738fdb615eaede1d0ab21fc3de59105ab",
      "tree": "af209ee2d4f9f17e8aa253681f553c6ef7bac383",
      "parents": [
        "d8244214751f9b48e60e69910c4e7175f8fab1ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 09:27:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 09:28:21 2016 -0700"
      },
      "message": "Fix our _POSIX_* macros to declare barriers and spin locks.\n\nWe have these now.\n\nTest: ran tests\nChange-Id: Ie7b479061ecec19c8b35ea81e04debfd8323d94a\n"
    },
    {
      "commit": "95fa061678400315ee757758bf5f9146176d47a0",
      "tree": "0b3428e9d7d274e79809471c1d7ae3896a10ff03",
      "parents": [
        "1d20532f5c5f8c1638735eb04586be82a7d0379c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 12:29:52 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 12:36:38 2016 -0700"
      },
      "message": "Rename __pure, __pure2, and __purefunc.\n\nThese names were pretty misleading (aka \"backwards\"), so switch to the\nsame obvious names glibc uses.\n\nTest: build.\nChange-Id: Ia98c9dbbccd0820386116562347654e84669034a\n"
    },
    {
      "commit": "cb0b14385b21ec6b7a6e12bc1a9bb6d68f8a839c",
      "tree": "254669c0c2e6569f9785f31639eb3302771fa8ff",
      "parents": [
        "69b26542de22a0eca05d3b9863d196f3edd7949c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 06 16:51:00 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:13:28 2016 -0700"
      },
      "message": "Provide fake definitions for libstdc++.\n\nlibstdc++ needs to be able to `using ::foo` these in the various C++\nwrapper headers for the C library. The NDK long ago added fake\ndefinitions. We need to keep the same.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: Id513b72a59eafcc823080631e07b21290d5e3b24\n"
    },
    {
      "commit": "106b3a8a7dc03c19a45e322de425ac56aafac358",
      "tree": "e82b7f75fa5bca64b5aeb45ab20abff23e16de4b",
      "parents": [
        "0b1a2826508ee5b191650d1d8b1f6b028e970f3b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 24 12:15:38 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 29 12:07:13 2016 -0700"
      },
      "message": "Update to kernel headers v4.7.2.\n\nModify the kernel header update script to rename C++ keyword\nstruct members to something else. This fixes problems when including\nthese kernel files in C++ code.\n\nAlso, make a manual change to linux/fib_rules.h and comment out the\nvalue FRA_PAD since it conflicts with a special android kernel value\nFRA_UID_START that has not been upstreamed yet.\n\nTest: Built aosp_angler, aosp_x86_64, aosp_mips (bionic only)\nTest: Booted on angler and ran bionic unit tests\nTest: Built these changes in internal master\n\nChange-Id: Ia22b7e3ca409404696dba76311f49157f4a9ceed\n"
    },
    {
      "commit": "280236537e06c7accaffabf8fb407f93dd1c834f",
      "tree": "a00be2fd73851a7a7e09b56e52c173662297641e",
      "parents": [
        "cea5c8a6099cff4f3ceccb3309a522bb1cf377b4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 13:18:32 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 13:18:32 2016 -0700"
      },
      "message": "POSIX says \u003csys/types.h\u003e should make all the pthread_* types available.\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html\n\nChange-Id: I606194e15ceaa3129f266a9a460c358eaa8bf686\n"
    },
    {
      "commit": "fd936ae0257dd3db5ec5fcff46188993bec7a65d",
      "tree": "20ce6e21b87dfa819ba79354344b4310ad94b8cc",
      "parents": [
        "166f875eabdd2b7c508fc4ed1789a0d37fb1bdce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:16:34 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:16:34 2016 -0700"
      },
      "message": "POSIX says \u003cfcntl.h\u003e makes SEEK_* visible.\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fcntl.h.html\n\nWe already had two copies of these constants, so time to factor them out\ninto bits/.\n\nChange-Id: I213c0d2372e41463593f878d338002b8eaa918cd\n"
    },
    {
      "commit": "7292725bcd291bda814554fcb9d7c026619c0e49",
      "tree": "a41f6ea4be5ac695f087a387c12fd468e03713a6",
      "parents": [
        "931be5a64d71d09334f963e7ba7efd1d6049e648"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 14:05:10 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 14:05:10 2016 -0700"
      },
      "message": "Admit that we don\u0027t actually support thread priority inheritance.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d218323\nChange-Id: I6c69b0fbb8414e7cc2deeb8be50b6af4830ed55e\n"
    },
    {
      "commit": "0fe88858f018e74921b8412acacda83870f742ed",
      "tree": "00741dc7cadccae615686c13a5c86f70bff86a49",
      "parents": [
        "61bd7cb6e975c48450350ba5c49862310c2f4762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 10:45:05 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 10:45:05 2016 -0700"
      },
      "message": "Clean up \u003cuchar.h\u003e and \u003cwctype.h\u003e transitive includes.\n\nBug: http://b/30367366\nChange-Id: I63212a34c54ca07223a15aa5be4da3bdc6aa38a8\n"
    },
    {
      "commit": "3b2096a9d6edd74622b94cacc76b77100f919b84",
      "tree": "1e5db3202e110172e7db1ced6d87cf8ceca7ed0b",
      "parents": [
        "7101c48f20f2f19dd1d314d23251fb52995a0870"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 18:57:12 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 18:57:12 2016 -0700"
      },
      "message": "Remove unnecessary \u0027extern\u0027s.\n\nChange-Id: Iba2b3fb6ff88e504f1657b915120ae43d58a1e03\n"
    },
    {
      "commit": "203e13d97de840e01eded6a267fef9f245cf3a15",
      "tree": "83517885755d8c28f7f6934bff67f7ad36addf39",
      "parents": [
        "767e8147d7f38bd9a23100ec9fa07b6a14a8b680"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 14:56:18 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 17:01:54 2016 -0700"
      },
      "message": "Always include \u003csys/cdefs.h\u003e.\n\nI made a mistake caught by code review earlier, so let\u0027s try to be\nsafer by default.\n\nThis patch also moves all our \"forwarding\" headers to the guardless\njust-include-the-other-thing style that we usually use. (Where we\nhave a comment explaining where the header comes from, I\u0027ve kept\nthat.)\n\nChange-Id: I37342cf5e2563c6a269b2ba61a697069b1c7913b\n"
    },
    {
      "commit": "508d292f8deb2933914b0ceef56908cdd4ee589f",
      "tree": "e740e08d5709b42c3198d9345771dfc2f9903fd5",
      "parents": [
        "91f33cd5ae3f09b7d2e614f5d0809037c1708db1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 21 16:38:43 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 21 16:38:43 2016 -0700"
      },
      "message": "Only define sa_family_t once.\n\nChange-Id: Icf700910c836d22c8a27ad026ec8af11697edd5a\n"
    },
    {
      "commit": "d2f725eaedc9c98c353885f20c0ff7ef13e3477f",
      "tree": "201e7973c24424b8a11bedcd123f01fdf119837f",
      "parents": [
        "098d8ef5b224841d93960f1cd02c73d853b6344c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 15 15:47:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 18 12:48:39 2016 -0700"
      },
      "message": "Don\u0027t declare SYS_* constants for unavailable __NR_* constants.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d215853\nChange-Id: Iaaa3ce888deb8d032208bf636b7badaed6a72d30\n"
    },
    {
      "commit": "3338ee52576632fd96bc131c6e943fa6f9a62139",
      "tree": "81b83477cfd89c07849a1c4f8c7a1179f2ca80a6",
      "parents": [
        "3fb1b37bbae91652f2fe93fde1284e80f2d57937",
        "8aabbd7f63286e87fe95b672fad814b4625efa85"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 02 22:41:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 02 22:41:34 2016 +0000"
      },
      "message": "Merge \"Move glibc-syscalls.h into bits/.\""
    },
    {
      "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": "34c599a8b0b04f66b065c4d84b809f74dd44382d",
      "tree": "3f7e5541c600bb4f6f3f733f68d6ae697076ca86",
      "parents": [
        "14adff1cfa06a3d4d3281a9bf7848b556d84c20d"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 13:45:25 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add __INTRODUCED_IN_FUTURE for unreleased APIs.\n\nFuture API levels aren\u0027t known (e.g. 25 could be a maintenance release\nof N that doesn\u0027t contain any bionic updates), so use a placeholder\nmacro that we can find and replace with the actual API level before each\nrelease.\n\nBug: http://b/28178111\nChange-Id: I667fe53ea1ac49b64135170fc30d5dbe9df94e29\n"
    },
    {
      "commit": "14adff1cfa06a3d4d3281a9bf7848b556d84c20d",
      "tree": "ce1fb2867f69e49f57d0bbe8a9099b09beda0c19",
      "parents": [
        "5a3d5cac642f9e58b2c510eab23789fb4fc3a753"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 12:00:55 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add versioning information to symbols.\n\nBug: http://b/28178111\nChange-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c\n"
    },
    {
      "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": "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": "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": "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": "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"
    }
  ]
}
