)]}'
{
  "log": [
    {
      "commit": "7c5bbf627ca31bee45ede5a4421ff1c5ada1186a",
      "tree": "913a6944ff9a1a070718863cd4ceef4c8888984c",
      "parents": [
        "3bc5e74c54dea64773e5c1fcdc083769563f1a36"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 09:11:47 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 09:11:47 2018 -0700"
      },
      "message": "Add missing __INTRODUCED_IN to pthread_attr_setinheritsched/pthread_attr_getinheritsched.\n\nBug: https://github.com/android-ndk/ndk/issues/716\nTest: N/A\nChange-Id: Ie49f96976f93b0f0d59796169e98918a9f69c0df\n"
    },
    {
      "commit": "70a8f2272e4998aa37db89232ea9a4264432f0aa",
      "tree": "0adb6da4f1475b3b7afe513d84e31811c58da751",
      "parents": [
        "cf4b4706be4ba1eeb027a148453ebb86f9f840ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 16:44:13 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 08 15:20:07 2018 -0700"
      },
      "message": "Fix various ftw/nftw \"shall fail\"s from POSIX.\n\nPOSIX says ftw/nftw \"shall fail\" in various cases where BSD\u0027s fts_open\ndoesn\u0027t. Since our ftw/nftw are written in terms of fts_open, add a back\ndoor so we can hint to ourselves when we should have the POSIX semantics.\n\nAlso pull several O_CLOEXEC and don\u0027t-null-check-before-free cleanups\nfrom upstream, and add a couple of tests.\n\nBug: http://b/31152735\nTest: ran bionic tests and LTP \"nftw01\" test\nChange-Id: Ib05facacc1da4c8b2ab48e9ecce88f11a5406630\n"
    },
    {
      "commit": "e219cefc173bf93b8ff710431784e5de30ffab8f",
      "tree": "98d61abdaa00c0e32000ef921958eb4822822bac",
      "parents": [
        "6880f936173081297be0dc12f687d341b86a4cfa"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 29 15:12:05 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 20 10:46:16 2018 -0700"
      },
      "message": "Fix posix_memalign introduced tag.\n\nApparently this didn\u0027t make it to all android-16 devices. As far as\nwe know it did make it for all android-17 devices.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/647\nChange-Id: I2f07cfb1254e2a203c1c10b91b0be46bf37ea853\n"
    },
    {
      "commit": "af0ad77af5fc2a4f39fa29b4e6720898d92fb2b4",
      "tree": "5b4352c5e0ddacfac7785f290f08a7535b0631ad",
      "parents": [
        "9ee88bdbc792c510c71e313829263ba0ae0622f7",
        "00a6d5fe0ab034e4d5e87636456cd49ef0ca5b8d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 15:34:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 15:34:14 2018 +0000"
      },
      "message": "Merge \"Bionic: Always use fortified versions of FD_X macros\""
    },
    {
      "commit": "9ee88bdbc792c510c71e313829263ba0ae0622f7",
      "tree": "32091b3e457489ffc5d6bbc17d5ee6da54fff614",
      "parents": [
        "bf885f874572eaaefa3e38940384aa65b8597d6e",
        "37793a18926fa689a832e75c33bc766027b1bc3c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 01:27:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 14 01:27:28 2018 +0000"
      },
      "message": "Merge \"Type of second __sched_cpucount should be \"const cpu_set_t*\".\""
    },
    {
      "commit": "00a6d5fe0ab034e4d5e87636456cd49ef0ca5b8d",
      "tree": "f01406adcd3b0ae1e42b018e5dd67f5ed464e87a",
      "parents": [
        "48227e66026724f9a94d9ff9cdef0aacae75b3a9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 13:52:10 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 17:57:21 2018 -0700"
      },
      "message": "Bionic: Always use fortified versions of FD_X macros\n\nWhen compiling on/for at least Lollipop, always use the fortified\nversions of FD_X macros. This works around side-effect issues (which\nare explicitly called out in the specification) and generally\nincreases robustness of code.\n\nBug: 77986327\nTest: mmma bionic\nTest: m\nTest: bionic_unit_tests\nChange-Id: I9096c6872770e46ba5ab64e7375ff83fc0518e07\n"
    },
    {
      "commit": "37793a18926fa689a832e75c33bc766027b1bc3c",
      "tree": "9bd412233e89fbba0b4b78c39e5869d899415c4b",
      "parents": [
        "48227e66026724f9a94d9ff9cdef0aacae75b3a9"
      ],
      "author": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Fri Apr 13 15:21:18 2018 -0700"
      },
      "committer": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Fri Apr 13 16:07:21 2018 -0700"
      },
      "message": "Type of second __sched_cpucount should be \"const cpu_set_t*\".\n\nTest: none\n\nBug: 77341596\nChange-Id: Ib4f1a75d2cfe147855b4d5f0203f4a64c22c116a\n"
    },
    {
      "commit": "da1994ced6fd870a9ad198c0435d3e5ebbf65636",
      "tree": "42cf094bc08d6ce3006607257c1ceb6c5d32a594",
      "parents": [
        "48227e66026724f9a94d9ff9cdef0aacae75b3a9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:32:37 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:32:37 2018 -0700"
      },
      "message": "Add dlext.h to the libdl doc group.\n\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/libdl\nBug: http://b/77236573\nChange-Id: Ie09351ee961554488e34c79511712b07c345b8ad\n"
    },
    {
      "commit": "27dd91514797a657d79efe3b902a1ff97bcc5546",
      "tree": "200995a5b03d00e6cde441727ed744031ef894ff",
      "parents": [
        "a9419d89879889f14fe4cdf6aeb90e26fc1c1bd8"
      ],
      "author": {
        "name": "Ben Schwartz",
        "email": "bemasc@google.com",
        "time": "Mon Feb 05 17:54:06 2018 -0500"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Apr 02 05:28:16 2018 +0000"
      },
      "message": "Pad queries when EDNS0 is enabled.\n\nBehavior is compliant with\nhttps://tools.ietf.org/html/draft-ietf-dprive-padding-policy-04\n\nEDNS0 is only enabled when the netcontext requests it, i.e. in DNS-over-TLS\nmode.\n\nBug: 69623036\nBug: 64133961\nTest: Wireshark verified. Integration tests echo padding and pass.\nChange-Id: I5ef600e02a572d281441e890cc981614f150629b\n"
    },
    {
      "commit": "60fd72e8a315ff931ad0458f72110c209bda04db",
      "tree": "48379ea53d8913afd2c515a623677e71232510e3",
      "parents": [
        "8bd8121204c8081fa2129d47f097adcf77010191",
        "f0f3d2f002aa23ded26cf2c02260ceee92ce790e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 26 23:15:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 26 23:15:11 2018 +0000"
      },
      "message": "Merge \"Create PTHREAD_COND_INITIALIZER_MONOTONIC_NP\""
    },
    {
      "commit": "f0f3d2f002aa23ded26cf2c02260ceee92ce790e",
      "tree": "d0c4a5c551b379a949e557eb2d3d543216f5a473",
      "parents": [
        "1423bb849879f3f126cb1e6dcb279da5360ef5fc"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Mar 08 16:02:06 2017 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 26 09:00:51 2018 -0700"
      },
      "message": "Create PTHREAD_COND_INITIALIZER_MONOTONIC_NP\n\nNeeded for std::condition_variable to wait on CLOCK_MONOTONIC.\n\nTest: boot bullhead\nChange-Id: I32a30817f0ec2190393fcc6faec45b40822cba32\n"
    },
    {
      "commit": "9724e93c196d0dbaa0e60bf45c29971a22da50c9",
      "tree": "0d3e0847bff250b168a0fcb2af431ba7fed097ee",
      "parents": [
        "4d339287080022ed67bb98949d7eb6737f8c917b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 18:46:07 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 18:46:07 2018 -0700"
      },
      "message": "Reject .so files using ELF TLS.\n\nBug: http://b/74361956\nTest: ran tests\nChange-Id: I53e71252eb08c607c2c436dcba433374c8c53887\n"
    },
    {
      "commit": "90234e57487642076e91a827d9f0cba9ad64faac",
      "tree": "3d59c7e5626b58b409f7c5144db1a0cf961632f0",
      "parents": [
        "1315e3ef852eafb3377a73212242bbe6b5247800",
        "b83bf14a352269135d3e2fe783414c3b6e1d0ac5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 23:49:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 23:49:40 2018 +0000"
      },
      "message": "Merge \"Fortify ppoll64.\""
    },
    {
      "commit": "b83bf14a352269135d3e2fe783414c3b6e1d0ac5",
      "tree": "3e3b5604f28445915e5011af96bacf8e6021f1aa",
      "parents": [
        "1423bb849879f3f126cb1e6dcb279da5360ef5fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 11:01:25 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 13:59:02 2018 -0700"
      },
      "message": "Fortify ppoll64.\n\nI\u0027ve deliberately not bothered with the GCC implementation because we\u0027ll\nhave removed GCC from the NDK before anyone gets to use this.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: Icfc2a3b214739ab53aa41bacacc11b5c67498fb4\n"
    },
    {
      "commit": "1315e3ef852eafb3377a73212242bbe6b5247800",
      "tree": "ba1e6bfa6ab56adbc235303fee1f51cf5b2557f8",
      "parents": [
        "1423bb849879f3f126cb1e6dcb279da5360ef5fc",
        "de45dcbbab9c36054172637231ba32bef86a73a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 02:06:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 02:06:34 2018 +0000"
      },
      "message": "Merge \"libc: silence unsigned-\u003esigned warnings with ioctl\""
    },
    {
      "commit": "c6b5bcd182edef34f058827882b1908f890cc4cd",
      "tree": "63b9b787f9434c2424f0c2957eb8ce668cb9bd69",
      "parents": [
        "0bc4772ee5e9cbf772227732135fd13e125571a9"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 05 14:14:44 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Mar 20 18:41:22 2018 -0700"
      },
      "message": "Add _monotonic_np versions of timed wait functions\n\nAs a follow up to Ibba98f5d88be1c306d14e9b9366302ecbef6d534, where we\nadded a work around to convert the CLOCK_REALTIME timeouts to\nCLOCK_MONOTONIC for pthread and semaphore timed wait functions, we\u0027re\nintroducing a set of _monotonic_np versions of each of these functions\nthat wait on CLOCK_MONOTONIC directly.\n\nThe primary motivation here is that while the above work around helps\nfor 3rd party code, it creates a dilemma when implementing new code\nthat would use these functions: either one implements code with these\nfunctions knowing there is a race condition possible or one avoids\nthese functions and reinvent their own waiting/signaling mechanisms.\nNeither are satisfactory, so we create a third option to use these\nAndroid specific _monotonic_np functions that completely remove the\nrace condition while keeping the rest of the interface.\n\nSpecifically this adds the below functions:\npthread_mutex_timedlock_monotonic_np()\npthread_cond_timedwait_monotonic_np()\npthread_rwlock_timedrdlock_monotonic_np()\npthread_rwlock_timedwrlock_monotonic_np()\nsem_timedwait_monotonic_np()\n\nNote that pthread_cond_timedwait_monotonic_np() previously existed and\nwas removed since it\u0027s possible to initialize a condition variable to\nuse CLOCK_MONOTONIC.  It is added back for a mix of reasons,\n1) Symmetry with the rest of the functions we\u0027re adding\n2) libc++ cannot easily take advantage of the new initializer, but\n   will be able to use this function in order to wait on\n   std::steady_clock\n3) Frankly, it\u0027s a better API to specify the clock in the waiter function\n   than to specify the clock when the condition variable is\n   initialized.\n\nBug: 73951740\nTest: new unit tests\nChange-Id: I23aa5c204e36a194237d41e064c5c8ccaa4204e3\n"
    },
    {
      "commit": "de45dcbbab9c36054172637231ba32bef86a73a6",
      "tree": "4750706cdbb27c13e467c2801060988040894321",
      "parents": [
        "6655ba1c321e8af27b1e8c0676e4a619227d8395"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Mar 16 14:15:01 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Mar 20 15:59:46 2018 -0700"
      },
      "message": "libc: silence unsigned-\u003esigned warnings with ioctl\n\nThis also tweaks cdefs to make __overloadable usable outside of\nFORTIFY. It had to be FORTIFY-only before we had unmarked overload\nsupport in clang+Bionic.\n\nBug: https://github.com/android-ndk/ndk/issues/402\nTest: Internal master builds + `mma`. `mma` in Bionic fails if the\nchange to ioctl is undone.\n\nChange-Id: Ib386b1786e1dca625e6d5a18682005adc734d9c1\n"
    },
    {
      "commit": "d5172fced0f88114e21086db5defaee64371de32",
      "tree": "30bd20a165f5ba825d82e488a6f6f561c0f7de8b",
      "parents": [
        "665ce210fab00911321829e6e190405ef18e5032",
        "457852666cb870a844df016962fac487cb5e7559"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 02:36:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 02:36:38 2018 +0000"
      },
      "message": "Merge \"Add __fseterr.\""
    },
    {
      "commit": "665ce210fab00911321829e6e190405ef18e5032",
      "tree": "69b8621dfae13859842cc9a2f64f409fe16040cd",
      "parents": [
        "38a78728c343f6398763ae8d7e3e8202b927a056",
        "3376c23daceddd603478347c00163f39e7c9e1ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 15 01:26:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 01:26:17 2018 +0000"
      },
      "message": "Merge \"Add remaining _l function stubs.\""
    },
    {
      "commit": "457852666cb870a844df016962fac487cb5e7559",
      "tree": "b6d5ea190fca3841b956dc1cbe714fdef8982655",
      "parents": [
        "38a78728c343f6398763ae8d7e3e8202b927a056"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 15:21:45 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 15:25:21 2018 -0800"
      },
      "message": "Add __fseterr.\n\nTrivial, obvious counterpart to the standard ferror(3) and clearerr(3),\nand lets us build bison out of the box.\n\nBug: http://b/64273806\nTest: ran tests\nChange-Id: I20affabddb71210051165c41e86adfe5ae04f77f\n"
    },
    {
      "commit": "38a78728c343f6398763ae8d7e3e8202b927a056",
      "tree": "5f3188b527d17aff29fc7d50cd5c62ddcf17f4ab",
      "parents": [
        "2d1e1011cfe01716573e79c66c03a7d9f6cb2c86",
        "23415fc60d18b41b1a1ff9591176ce98b6f84485"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 21:24:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 14 21:24:11 2018 +0000"
      },
      "message": "Merge \"Add uc_sigmask64.\""
    },
    {
      "commit": "3376c23daceddd603478347c00163f39e7c9e1ee",
      "tree": "d8a6f5383a285783630af07f03e11a5a06677b10",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 23:14:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 23:14:12 2018 -0800"
      },
      "message": "Add remaining _l function stubs.\n\nBug: http://b/65595804\nTest: ran tests\nChange-Id: I3bea3af20b354d1f0d3e05fd35421a9045f29020\n"
    },
    {
      "commit": "23415fc60d18b41b1a1ff9591176ce98b6f84485",
      "tree": "bb79fd7cf82c54ad730c8c268b68e02f29997e69",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 19:09:04 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 19:09:04 2018 -0800"
      },
      "message": "Add uc_sigmask64.\n\nAdded to each ucontext_t for source compatibility between platforms where\nsigset_t and sigset64_t differ (arm, x86) and where they\u0027re the same\n(all the rest).\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I65a37bfa177933701bbe6c2350448885fd0f9c43\n"
    },
    {
      "commit": "db478a627482c73c52df9e3929fe7a39f03e4eeb",
      "tree": "15fcd3caeea9269e5e3eefb881ec25bade966bcb",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 07 18:42:14 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 13 13:37:30 2018 -0800"
      },
      "message": "Implement malloc hooks.\n\nUse the malloc debug framework to implement the malloc debug hooks\nsince it can introduce a performance issue.\n\nAlso, modify the bionic/tests/utils.h slightly to dump an error message\nwhen the exe failed.\n\nBug: 30561479\n\nTest: Ran malloc hook unit tests.\nTest: Ran malloc debug unit tests.\nTest: Enabled malloc hooks and ran bionic unit tests and verified no\nTest: unexpected failures.\nTest: Enabled malloc debug and malloc hooks and verified malloc debug wins.\nTest: Enabled malloc debug using env, property, and property with name\nTest: still works.\n\nChange-Id: Ib50046a0493c5c2050cf831befb812310bdcc249\n(cherry picked from commit d6a1dc23796696f73f483943534d4c5c4b312d39)\n"
    },
    {
      "commit": "25f17e48df2e5e9e88b0c5cd2ebeded33c7cedc0",
      "tree": "f117b124c5aa047b3a4d922526040b8c894aef7c",
      "parents": [
        "919dd9dcb4ca547a67079b85494236cd5f680598"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 12 15:48:01 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 12 15:48:01 2018 -0800"
      },
      "message": "Better backwards compatibility for stat64.\n\nCaused problems for some Google source switching to unified headers\nbecause the legacy headers just used #define instead.\n\nBug: http://b/73210428\nTest: builds\nChange-Id: If8a36f284031e57af419903610029a8c34a23d91\n"
    },
    {
      "commit": "379666996de37cc21a9b05faf692cd17a4421631",
      "tree": "e73d4137a7fd1c906b8117be9755e0e5359694f2",
      "parents": [
        "4362da80760ef76af310280e70fddb6b6d3d043f"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Feb 12 09:03:10 2018 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Feb 12 09:03:10 2018 +0100"
      },
      "message": "MIPS32: Make sigset64_t equal to sigset_t\n\nsigset_t is already large enough on mips so use the same principle\nas on LP64 architectures: typedef sigset_t sigset64_t\n\nAlso prevent accessing sa_restorer field for architectures which\ndon\u0027t define SA_RESTORER in signal_test.\n\nThis allows compilation of signal_test.\n\nTest: bionic-unit-tests in QEMU (MIPS32)\nChange-Id: I965e202c9a7f7d109e4ec25ad87172dc7c1b8806\n"
    },
    {
      "commit": "4362da80760ef76af310280e70fddb6b6d3d043f",
      "tree": "1c82e79065e631ec1739f588025154696469d253",
      "parents": [
        "6fa9bddbc7188aeb20d6faa4da2e62c12f5a5af2",
        "90242350053e6fd2c03640d3f9b37864d18c414d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 02:30:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 10 02:30:37 2018 +0000"
      },
      "message": "Merge \"Remove __overloadable/__RENAME_CLANG\""
    },
    {
      "commit": "13dec2354d0ed1e1f91a583d6f0bc474ff4c80ea",
      "tree": "573d84b4f5ca0ce348c41dd2ba60708e22b2f60d",
      "parents": [
        "dd1742aca592c7f53b9be0daa71ff02f9d2f601f",
        "4d4a7832add84dbae97f17efd478cd0ecfb8d8bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 19:55:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 19:55:43 2018 +0000"
      },
      "message": "Merge \"Add a few more legacy inlines for strto*_l.\""
    },
    {
      "commit": "cae21a9b53a10f0cba79bf6783c4a5af16228fed",
      "tree": "c60c6622d2b80f9ad4ae5a990b7fb3439f16444b",
      "parents": [
        "be6fbae74fc3048647caadd58a9eaad81245e934"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 05 18:14:55 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 07 06:57:14 2018 -0800"
      },
      "message": "Add aligned_alloc to libc.\n\nBug: 72969374\n\nTest: Bionic unit tests pass.\nTest: Malloc debug unit tests pass.\nChange-Id: I235985bbc638855d94249c97c98f14ab2924bda0\n(cherry picked from commit d69ee59594088c0d92ba9273188ef53ea5e6cd6a)\n"
    },
    {
      "commit": "4d4a7832add84dbae97f17efd478cd0ecfb8d8bc",
      "tree": "51974db8a37e902d78d47578717f6fa9b2df2cc0",
      "parents": [
        "177429cb8db80496a5fe65430253b37d254dc66f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 13:45:29 2018 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 13:45:29 2018 -0800"
      },
      "message": "Add a few more legacy inlines for strto*_l.\n\nThese three functions are the only reason we need libandroid_support\npost-L. Add these so we can remove it entirely for LP64 or users\ntargeting L+.\n\nTest: make checkbuild\nTest: build/soong/scripts/build-ndk-prebuilts.sh\nTest: Imported the prebuilts generated from the above to the NDK,\n      `./checkbuild.py \u0026\u0026 ./run_tests.py` with a handful of patches\n      to remove libandroid_support for L+.\nBug: None\n\nChange-Id: I39f8ee686bd76ebdb2fc3745b013d56175ba8ff0\n"
    },
    {
      "commit": "90242350053e6fd2c03640d3f9b37864d18c414d",
      "tree": "86bd08eae994cc61618b28520cab3ea1b423493e",
      "parents": [
        "2bf1d3dae262f92dbc964be467060dc6a24787af"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 06 12:51:31 2018 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 06 13:35:56 2018 -0800"
      },
      "message": "Remove __overloadable/__RENAME_CLANG\n\nNow that we have a clang that supports transparent overloads, we can\nkill all of this cruft, and restore our upstream sources to their\nuntouched glory. Woohoo!\n\nBug: 12231437\nTest: Built aosp_marlin; no obvious patch-related aosp_mips issues.\nChange-Id: I520a19d014f12137f80e43f973dccd6711c571cd\n"
    },
    {
      "commit": "3e235911c9cf5062adbb73efb53fe5ed712d7c53",
      "tree": "cdd84807bba4a7d0b0fd947555b2edaa2618df95",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 01 14:21:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 01 14:45:15 2018 -0800"
      },
      "message": "Add `struct sigaction64` and `sigaction64`.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I47b0560a30aa33a9b1f1978dfb7f84d2e3d389b8\n"
    },
    {
      "commit": "5905d6f8797056ca4178d42bf1220b6692e557a5",
      "tree": "222848ae0ced32fcf2028a2c6502b4a763c83830",
      "parents": [
        "d435d256da57fdf4278b3198720d881f3edcf452"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 15:09:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 18:47:16 2018 -0800"
      },
      "message": "Add `sigset64_t` and accompanying functions.\n\nThis doesn\u0027t address `struct sigaction` and `sigaction`. That will\ncome later.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I4134346757ce3a4dac6feae413361cec16223386\n"
    },
    {
      "commit": "cc0fe6e8c0bb2dfb250522872be6facb4d4a0339",
      "tree": "73b9e54a979e9d4b1e2ce50ccc129e58b0484b31",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "message": "The future is now (2018 edition).\n\nBug: N/A\nTest: builds\nChange-Id: Ic638e5b1f4e5901885fe7bc60b2a265817636b21\n"
    },
    {
      "commit": "2e2a8930e5f9eb2d9ea4fdb61f746c6f2e2048ac",
      "tree": "8adca0f4df67038588d4dbe7095204498e2f4dce",
      "parents": [
        "97d1c75ca5125f8e1dc6db32af1d22807fca1950",
        "f16b65932bb7adb1568a3a1e11ffa750d18e30ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 00:00:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 27 00:00:17 2018 +0000"
      },
      "message": "Merge \"linker: simpler encoding for SHT_RELR sections.\""
    },
    {
      "commit": "f16b65932bb7adb1568a3a1e11ffa750d18e30ae",
      "tree": "61eba52655668d025687547b8f9b3cf3c4c75c6b",
      "parents": [
        "25ac4476d86f93990d1404526618fd0529cc9d36"
      ],
      "author": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Thu Jan 25 15:34:15 2018 -0800"
      },
      "committer": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Fri Jan 26 11:46:47 2018 -0800"
      },
      "message": "linker: simpler encoding for SHT_RELR sections.\n\nThis change modifies the encoding used in SHT_RELR sections to a simpler\nversion that gives better results. This encoding was suggested by Andrew\nGrieve and is described in this post on generic-abi@googlegroups.com:\n    https://groups.google.com/d/msg/generic-abi/bX460iggiKg/Pi9aSwwABgAJ\n\nBug: None\nTest: Built image for marlin, flashed on device, ran arm and\n      aarch64 binaries containing \u0027.relr.dyn\u0027 sections using\n      the new encoding.\n\nChange-Id: I266affe0fbad91dc375995985a221cb02499447b\n"
    },
    {
      "commit": "c6ea39d33b50b54354e4709c4f65d83c87022adf",
      "tree": "bfec4d6262242f04eb5170cc7b2263bd203553af",
      "parents": [
        "4debf20829b152bf3efae79bc85377c44b40eb8a",
        "f81abef14852f2738043998e2f420d97ba59c286"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 26 17:08:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 17:08:26 2018 +0000"
      },
      "message": "Merge \"Use __BIONIC_FORTIFY_VARIADIC for variadic functions.\""
    },
    {
      "commit": "4debf20829b152bf3efae79bc85377c44b40eb8a",
      "tree": "260005caaf5a88282787418341dcedf6a7caae34",
      "parents": [
        "c9cd4eb1635fa8a621735046c0bb09e3f929763f",
        "5046e5fe87a2638049ee3113b603944f42241ca5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 16:06:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 16:06:54 2018 +0000"
      },
      "message": "Merge \"Make the \u003candroid/dlext.h\u003e docs show up on the web.\""
    },
    {
      "commit": "c9cd4eb1635fa8a621735046c0bb09e3f929763f",
      "tree": "044e3f9db221b1fc04dab20f48289e32fda00674",
      "parents": [
        "40517761dc7c69a704285e61a51bd3b76046fcdf",
        "5f6d1a59a85d28e4ea25e55230179de9ac4d343f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 16:05:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 16:05:24 2018 +0000"
      },
      "message": "Merge \"\u003csys/ioctl.h\u003e shouldn\u0027t pollute the namespace as much.\""
    },
    {
      "commit": "5f6d1a59a85d28e4ea25e55230179de9ac4d343f",
      "tree": "c003b05858d0cfb9ab861e38b7236061621cc230",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 22:21:25 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 22:21:25 2018 -0800"
      },
      "message": "\u003csys/ioctl.h\u003e shouldn\u0027t pollute the namespace as much.\n\nThe history has no motivation for \u003casm/termbits.h\u003e, and other C libraries\ndon\u0027t seem to include any of the extra types and constants that gains us.\n\nThis caused problems building FFMPEG, which defines its own B0.\n\nBug: https://github.com/android-ndk/ndk/issues/630\nTest: builds\nChange-Id: If032b9fa7860777c13f7bd8e68fb78ff606dcd94\n"
    },
    {
      "commit": "f81abef14852f2738043998e2f420d97ba59c286",
      "tree": "6dd2d8846f0a34993159a8576a35a2a20411f972",
      "parents": [
        "4a2407b3a1ad7b71bbc617ffdee961e416b121e4"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 25 15:30:27 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 25 17:54:50 2018 -0800"
      },
      "message": "Use __BIONIC_FORTIFY_VARIADIC for variadic functions.\n\n* Variadic functions usually cannot be inlined.\n* Do not use misleading __always_inline attribute,\n  and also avoid early clang 7.0 compiler bug.\n\nBug: 72412382\nTest: build and boot aosp*-eng in emulator\nChange-Id: I7490976166581abc626f397ad408581ada0ed308\n"
    },
    {
      "commit": "5046e5fe87a2638049ee3113b603944f42241ca5",
      "tree": "283a2d0e640c589ed0093358ed317fc963fdc11b",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 15:48:32 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 15:48:32 2018 -0800"
      },
      "message": "Make the \u003candroid/dlext.h\u003e docs show up on the web.\n\nJust enough doxygen so that\nhttps://developer.android.com/ndk/reference/dlext_8h.html won\u0027t be completely\ndevoid of all this.\n\nBug: N/A\nTest: ran doxygen manually\nChange-Id: I1e0667feae93227e32c1bd671065359f5be85d9d\n"
    },
    {
      "commit": "6b9c85b36d2e69b45d780e6a0b27d64909311a7e",
      "tree": "eff21cc7000bc125f5c91f0d90819fd778be371f",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 23 12:56:18 2018 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Jan 24 16:11:07 2018 -0800"
      },
      "message": "Support priority inheritance mutex in 64bit programs.\n\nBug: http://b/29177606\nTest: run bionic-unit-tests on walleye.\nTest: run bionic-unit-tests-glibc on host.\nChange-Id: Iac349284aa73515f384e7509445f87434757f59e\n"
    },
    {
      "commit": "73871ad09be8a8259171d606c4e3e3cf08d4733c",
      "tree": "c14cb07d496d1d892a95d8ee728774aca8bb62f7",
      "parents": [
        "6ea80375e64c4bf2ee9da17234aeac10e3d4bf21",
        "f19af37b5ee6cd5283683195d692fe3f713db2a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 23 21:51:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 21:51:22 2018 +0000"
      },
      "message": "Merge \"Deprecate readdir_r.\""
    },
    {
      "commit": "f19af37b5ee6cd5283683195d692fe3f713db2a5",
      "tree": "af56065c6818fb412c8dee28d4b7575498937d2c",
      "parents": [
        "86a2fba164cb87375b81b6873f7399e92073ea32"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 12 17:33:45 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 22 17:15:25 2018 -0800"
      },
      "message": "Deprecate readdir_r.\n\nI\u0027ve been campaigning against readdir_r for years:\n\n  http://elliotth.blogspot.com/2012/10/how-not-to-use-readdirr3.html\n\nand glibc deprecated it in 2.24, so we should join the club.\n\nBug: http://b/32678321\nTest: builds\nChange-Id: Ie3887ed75989aced9324266aa3b93e85c11bdbc9\n"
    },
    {
      "commit": "d00d38b36be0fd25399256d0cebdd71625aea2b6",
      "tree": "b32e0212754398814e0f825783eec448cc712249",
      "parents": [
        "86a2fba164cb87375b81b6873f7399e92073ea32",
        "b7feec74547f84559a1467aca02708ff61346d2a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 23 00:24:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 00:24:26 2018 +0000"
      },
      "message": "Merge \"linker: add experimental support for SHT_RELR sections.\""
    },
    {
      "commit": "b7feec74547f84559a1467aca02708ff61346d2a",
      "tree": "7eb0f5d007b7593c1daf89bfd8b5f84645996b44",
      "parents": [
        "df4c92888e6283c8f6f1731391a6bccbc30d64db"
      ],
      "author": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Tue Dec 19 15:25:23 2017 -0800"
      },
      "committer": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Mon Jan 22 12:41:27 2018 -0800"
      },
      "message": "linker: add experimental support for SHT_RELR sections.\n\nThis change adds experimental support for SHT_RELR sections, proposed\nhere: https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg\n\nDefinitions for the new ELF section type and dynamic array tags, as well\nas the encoding used in the new section are all under discussion and are\nsubject to change. Use with caution!\n\nBug: None\nTest: Built image for marlin, flashed on device, ran arm and\n      aarch64 binaries containing \u0027.relr.dyn\u0027 sections.\n\nChange-Id: I2953ae932d3c42ae394e71f8fa058013758a1778\n"
    },
    {
      "commit": "989d804859cea2712875a38a7a99d623d4000dd0",
      "tree": "c237d742b2d1136ff551f48c3bc63fb1ccc48c6d",
      "parents": [
        "54c71521b5295f82aaac7aa2f3ce918298fed70f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 18 19:38:50 2018 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 18 23:39:48 2018 +0000"
      },
      "message": "Reland \"Cleanup transitive includes in the legacy inlines.\"\n\nThis reverts commit 54c71521b5295f82aaac7aa2f3ce918298fed70f.\n\nBug: None\nTest: make checkbuild\nChange-Id: Ica6a4f7ecadfcc854160a60a5db1b44ae3b6c821\n"
    },
    {
      "commit": "54c71521b5295f82aaac7aa2f3ce918298fed70f",
      "tree": "1789fb1df0c8befc8a678f3704d6f11445acfdd4",
      "parents": [
        "a074ac79d7ac0be5537a8a5bcc1ac15c57d4c22b"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Thu Jan 18 11:37:34 2018 +0000"
      },
      "committer": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Thu Jan 18 11:37:34 2018 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Revert \"Cleanup transitive includes in the legacy inlines.\"\"\"\"\"\n\nThis reverts commit a074ac79d7ac0be5537a8a5bcc1ac15c57d4c22b.\n\nReason for revert: Broke several builds.\n\nChange-Id: I406f0b0aa0c37961ad031d2f6c5ea4241f3f1111\n"
    },
    {
      "commit": "a074ac79d7ac0be5537a8a5bcc1ac15c57d4c22b",
      "tree": "c237d742b2d1136ff551f48c3bc63fb1ccc48c6d",
      "parents": [
        "25a3087d6dde58e126c5ecb1033319ff333fcc59"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 24 21:52:16 2017 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 11 09:43:23 2018 -0800"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Cleanup transitive includes in the legacy inlines.\"\"\"\"\n\nThis reverts commit b37e9aa9a63b7b703b5a03347555b1df9ac98ab3.\n\nReason for revert: trying again\nTest: make native\nChange-Id: Ide23f0a752fd6ca88e44449e996eb5809db6712d\n"
    },
    {
      "commit": "51a7fe8fbdda866ab5364c0b37b102be0ea337ad",
      "tree": "bd765653ad9de1774d2362c15e863bdfbc26528d",
      "parents": [
        "558a4f59237245916d93075eb60ed7d16cf55c42"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Jan 08 16:18:48 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Jan 08 17:46:27 2018 -0800"
      },
      "message": "Mark abs/labs/llabs as 19+ rather than 21+\n\nThe libc.map.txt file already defines these three functions as having\nbeen introduced in API 19, but these header files had declared them as\n21 and up.\n\nSee https://android-review.googlesource.com/c/platform/development/+/233407\n\nimaxabs is already declared as 19 and up.\n\nTest: build-ndk-prebuilts.sh \u0026\u0026 ./update_platform.py \u0026\u0026\n  checkbuild.py \u0026\u0026 run_tests.py\nTest: manually build app against 18 and 19\n\nChange-Id: Iaeed48d7e6c438d816635a0433a056e557e8ebc2\n"
    },
    {
      "commit": "a40640d418a096a2d1a279a914b9a1cdaac966a6",
      "tree": "64d1e72ca448f61a3263a413b80c7d0d0dae2435",
      "parents": [
        "59a6ee963f96eedf01df7db1e57397ff71852b15"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 13 14:49:21 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 15 08:44:58 2017 -0800"
      },
      "message": "POSIX says `sigaction::sa_flags` is `int`.\n\nBug: N/A\nTest: builds\nChange-Id: I8f682a6a075b0c27917d79414f013f928c75394d\n"
    },
    {
      "commit": "59a6ee963f96eedf01df7db1e57397ff71852b15",
      "tree": "d070eb160521ea7a969982a09d403c44e8f75a44",
      "parents": [
        "6651b3d2e6761d586cae660b68bba625b47f7bdf",
        "5da96467a99254c963aef44e75167661d3e02278"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 15 01:32:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 15 01:32:03 2017 +0000"
      },
      "message": "Merge \"Add trivial termios tests.\""
    },
    {
      "commit": "64f355ffbd715a3c8b467c3b37701ad404b566b4",
      "tree": "04e1e9ddac688de976ae427ece327ee1c68afeb5",
      "parents": [
        "3ba327198a42eecd2fbc2556d7d0fa41f8d6b17b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 16:10:24 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 14 10:07:27 2017 -0800"
      },
      "message": "Use in_addr in ip_mreq_source and ip_msfilter.\n\nThis adds a new mechanism to say \"replace struct S with #include \u003cbits/S.h\u003e\".\n\nAlso switch epoll_event over to the new mechanism.\n\nAlso use the kernel\u0027s struct sockaddr_storage directly rather than behind\nan unnecessary #define.\n\nThis patch also removes some dead code in the header scrubber. This code\nstill needs rewriting completely. I learned that a \"block\" isn\u0027t necessarily\na single struct definition, say; it might be a run of them. It seems like\na block is a run of preprocessor directives or a run of regular code.\n\nBug: https://issuetracker.google.com/36987220\nTest: new test\nChange-Id: Ic6a5c09559766a4babe3cd4c3ea538b885e07308\n"
    },
    {
      "commit": "5da96467a99254c963aef44e75167661d3e02278",
      "tree": "a0255adf4a9eab4c575e651f6478e294abd0553e",
      "parents": [
        "3ba327198a42eecd2fbc2556d7d0fa41f8d6b17b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 14 09:43:59 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 14 09:46:50 2017 -0800"
      },
      "message": "Add trivial termios tests.\n\n...and fix the bugs.\n\nAlso explain why we can\u0027t support separate input and output speeds\nwithout an ABI change. Luckily no-one is likely to need that anyway,\nand they can always work around it by using `struct termios2` directly\nthemselves.\n\nBug: http://b/69816452\nTest: ran tests\nChange-Id: Ie08499a198bb6a20d7e5e2f5ff74a60bd53e97e1\n"
    },
    {
      "commit": "21b56ebbd49362d293e1f56c4b3265c227bbbbae",
      "tree": "5f86bae235f84b48c20d66d9973118133e945892",
      "parents": [
        "eb7347aedbc61ba45555aef3e6e863f0d90b407b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 20 17:57:17 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 13 09:01:35 2017 -0800"
      },
      "message": "Test POSIX 1003.1 2016 chapter 13 \"Headers\".\n\nAnd fix one thing that this found: apparently \u003cstdlib.h\u003e should also\nmake the various *WAIT* macros available.\n\nBug: N/A\nTest: builds\nChange-Id: Id879bf3c1bddd1170261a809e7280150a74d6b3d\n"
    },
    {
      "commit": "e57a398977c3523a16fbb4760e98119ccb6510be",
      "tree": "4945599afff2e915dbb77ce4f43ecc7cbf0a261f",
      "parents": [
        "e455c829cd03e61fdac476ae91f0e5b343b0d9c5",
        "89d8a3c4cd0ea2d0b687851eda880c3050841029"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 06 16:39:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 06 16:39:31 2017 +0000"
      },
      "message": "Merge \"Add more missing ELF structures/constants.\""
    },
    {
      "commit": "e455c829cd03e61fdac476ae91f0e5b343b0d9c5",
      "tree": "75dbd8d997f4126ac64413510194523efb2d4581",
      "parents": [
        "7b5073767da551858c985f0adcbe81f3380c0c2f",
        "c7ec6d46fb619a25628427200c91eced02bc8edd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 04:03:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 06 04:03:07 2017 +0000"
      },
      "message": "Merge \"libc: add /odm/bin to the DEFPATH\""
    },
    {
      "commit": "89d8a3c4cd0ea2d0b687851eda880c3050841029",
      "tree": "cf099ebe47f34ff75ff30c59f223b3116393187f",
      "parents": [
        "c1f6219c32543cb1d6701b13eb53b82abe1e0a12"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 05 13:00:22 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 05 13:00:22 2017 -0800"
      },
      "message": "Add more missing ELF structures/constants.\n\nNeeded to build libelf.\n\nBug: N/A\nTest: builds\nChange-Id: If0c5e633547a1f4bd8e5d77ffb815739f13c641f\n"
    },
    {
      "commit": "a6714d106b6dbab6cf994c8a4e1eff601a17d772",
      "tree": "ad5552dd505ed68b35f9aff8d91f3b8d17192872",
      "parents": [
        "fdacec1d4237373354d10c5a400c9c7a3a975285"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 04 14:16:38 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 04 14:16:38 2017 -0800"
      },
      "message": "Make our fortify FD_ISSET const, and expose the fd_mask type.\n\nBug: http://b/70171464\nTest: ran tests\nChange-Id: Ifbee29d9888ce7cf76b99844dd9700128256a486\n"
    },
    {
      "commit": "c7ec6d46fb619a25628427200c91eced02bc8edd",
      "tree": "2aa1d097b3bea3bf4b6afc42701e1fefd502e0b9",
      "parents": [
        "bfd06f63e538681beeb9ec67bccd994ad9cd5bdf"
      ],
      "author": {
        "name": "Alin Jerpelea",
        "email": "alin.jerpelea@sonymobile.com",
        "time": "Thu Sep 28 21:16:21 2017 +0200"
      },
      "committer": {
        "name": "Alin Jerpelea",
        "email": "alin.jerpelea@sonymobile.com",
        "time": "Mon Dec 04 16:09:29 2017 +0100"
      },
      "message": "libc: add /odm/bin to the DEFPATH\n\nchange is need to be able to share services on the odm partition\n\nChange-Id: I28cc37a9f049d0776fbcb7f92b05652385348b3e\nTest: services can launch from odm partition.\n\nSigned-off-by: Alin Jerpelea \u003calin.jerpelea@sonymobile.com\u003e\n"
    },
    {
      "commit": "a34817457feee026e8702a1d2dffe9e92b51d7d1",
      "tree": "a1ff7c6193a54bd11121fc34f0fe25a7b00b9ace",
      "parents": [
        "7d5777ef15136e4e12a27c85d7b06d6806b98e70"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 28 14:47:17 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 28 15:47:01 2017 -0800"
      },
      "message": "Improve the _FILE_OFFSET_BITS docs and link to them.\n\nWe\u0027re still seeing lots of confusion. People do seem to look as far as\nthe headers, but stop there. So let\u0027s try a bit harder to point them in\nthe right direction.\n\nAlso explicitly state that removing _FILE_OFFSET_BITS\u003d64 is the\nbehavior-preserving fix for compilation problems when upgrading to NDK\nr15 or later.\n\nBug: N/A\nTest: N/A\nChange-Id: I2d5c65b2fb5cccb9977901e51fea1ad2ccc0fd95\n"
    },
    {
      "commit": "8574a1f63082240c92945cff15fba785a5a857e7",
      "tree": "c25753fa9af5e676833503eebf792c5f5162dcd5",
      "parents": [
        "62c43ed23c38b19babf7a8ae61a81e497e26b444",
        "b6c7f6e5950e609a2ede7990d2be0a1d1b55304f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 07 18:50:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 07 18:50:41 2017 +0000"
      },
      "message": "Merge \"Fix arm/arm64 \u003cfenv.h\u003e to match current reality.\""
    },
    {
      "commit": "8e13b67c64df389ce72bcb02ab3e1888da48f254",
      "tree": "267672ca0200e822e6139271abd404893880e754",
      "parents": [
        "db4f3346958684424815720ca00a56c75fc536e0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 06 17:15:47 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 06 17:23:36 2017 -0800"
      },
      "message": "versioner: properly handle extern \"C\", \"C++\".\n\nextern \"C\" and \"C++\" are parsed as a LinkageSpecDecl with the real Decl\nas a child node. This leads to the preprocessor sticking its guard\nbetween the extern specifier and the declaration.\n\nUpdate the AST visitor to add a special-case for calculating the\nSourceRange on a LinkageSpecDecl, and add a test.\n\nBug: https://github.com/android-ndk/ndk/issues/440\nTest: python run_tests.py\nChange-Id: I76445fe366cef46cfd2f16fb93d534d410c5edca\n"
    },
    {
      "commit": "b6c7f6e5950e609a2ede7990d2be0a1d1b55304f",
      "tree": "3c68573b1d47c41b8a5e2102ec8295ff3f88f29c",
      "parents": [
        "b06bb71672094d18d928c19ddc631af07931431f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 03 16:46:32 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 03 16:46:32 2017 -0700"
      },
      "message": "Fix arm/arm64 \u003cfenv.h\u003e to match current reality.\n\nARM stopped supporting enabling of FP exceptions years ago.\n\nBug: http://b/68832485\nTest: ran tests\nChange-Id: I8450baa78e04d994c352180975b0a1ecd5a9f662\n"
    },
    {
      "commit": "a8a23f520e1728a1ede6bf1b775bc30a0f8f13f2",
      "tree": "deb6598d8cb3863f41345928c95f3658f93ed8e1",
      "parents": [
        "b1ba8cfffb82936f7f6c35a0c0a255bffdea5cd5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 31 17:22:41 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 31 17:26:48 2017 -0700"
      },
      "message": "Add missing ELF constants from the spec.\n\nAlso add links to the relevant documentation.\n\nBug: N/A\nTest: builds\nChange-Id: I65b1a1ec0c63e1f07749ab4e4b0cf3905acc1df7\n"
    },
    {
      "commit": "b1ba8cfffb82936f7f6c35a0c0a255bffdea5cd5",
      "tree": "b1f3ef065d86b3da705cc2126ef22f6b74a1d8e3",
      "parents": [
        "07e412419b63a9055465515845d7542e5e87176b",
        "8874d880839761bf722b5a025940823172894c0a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 01 00:23:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 01 00:23:57 2017 +0000"
      },
      "message": "Merge \"elf.h: add STN_UNDEF\""
    },
    {
      "commit": "07e412419b63a9055465515845d7542e5e87176b",
      "tree": "6eaf8d440565181b8422d1a90c157e2ef9541774",
      "parents": [
        "555a6d19c8691519d24d1415b5749ac0b447f5cc",
        "37ad9597839c70a7ec79578e5072df9c189fc830"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 31 22:43:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 31 22:43:34 2017 +0000"
      },
      "message": "Merge \"More missing _unlocked \u003cstdio.h\u003e functions.\""
    },
    {
      "commit": "8874d880839761bf722b5a025940823172894c0a",
      "tree": "9343d9598a76c3493da3cba318630426d6cc4754",
      "parents": [
        "6c1d23f059986e4ee6f52c44a4944089aae9181d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Oct 31 13:25:03 2017 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Oct 31 13:52:45 2017 -0700"
      },
      "message": "elf.h: add STN_UNDEF\n\nELF uses index STN_UNDEF \u003d 0 for undefined symbols.  glibc and musl\ndefine this constant in elf.h, and it\u0027s needed to build the kernel\u0027s\nvDSO selftest suite.\n\nTest: Overwrite elf.h in standalone NDK toolchain, then\n\tcd $kernel/tools/testing/selftests/vDSO \u0026\u0026 \\\n\tmake CC\u003d\"aarch64-linux-android-gcc -pie\" vdso_test\nChange-Id: I495586e9ca43d2f0d148ded9f4bd61ec8d14d53b\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "37ad9597839c70a7ec79578e5072df9c189fc830",
      "tree": "f1f70a143c99b072b040f5592f1b42da464b35f8",
      "parents": [
        "e379a202504911d228ae07d9ba32c5a02274fe1d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 30 17:47:12 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 31 13:23:41 2017 -0700"
      },
      "message": "More missing _unlocked \u003cstdio.h\u003e functions.\n\nAlso simplify trivial one-liners like perror/puts/fputs, and clean up\nfread/fwrite slightly.\n\nFix perror to match POSIX.\n\nAdd basic perror and *_unlocked tests.\n\nBug: N/A\nTest: ran tests\nChange-Id: I63f83c8e0c15c3c4096509d17421ac331b6fc23d\n"
    },
    {
      "commit": "e5d66eb86a46b8ef1a8d03b322096328b063d3c0",
      "tree": "30d36213904915e77b508318352ebe02611069ab",
      "parents": [
        "82e6ad1242c6a26fb624dc81a42edf6272dd27b7"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 30 21:41:22 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 30 22:30:40 2017 -0700"
      },
      "message": "libc: Disable FORTIFY if we\u0027re using clang-tidy.\n\nHaving FORTIFY enabled for clang-tidy adds no value, and breaks some\nheuristics for recognizing standard library functions (see the bug).\n\nThis also disables FORTIFY for the static analyzer (which we use\nthrough clang-tidy), because it presumably tries to recognize standard\nlibrary functions through similar heuristics.\n\nBug: 36664104\nTest: mma with and without the patch to cdefs. New test breaks without.\nChange-Id: I40c66ff9e638b306878ada006bc2c98f2346e77a\n"
    },
    {
      "commit": "c8a2612ffc13a31aaedec26a45cdceb6fa8199cb",
      "tree": "8c12929cde798f3a49dfe0d9a59085d8b205f0b6",
      "parents": [
        "048e18045d6e7bcaf0870d8bb7cb671214c9ad50",
        "8aecba7aa6b7f7b92f69c0d3febef59fdb135f87"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 26 16:12:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 26 16:12:04 2017 +0000"
      },
      "message": "Merge \"Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.\""
    },
    {
      "commit": "8aecba7aa6b7f7b92f69c0d3febef59fdb135f87",
      "tree": "fd3d9743a0e282dcbb2a8b2b51906f7da3a84468",
      "parents": [
        "435e6384de8f9e35b8878b1ccda5bb5686c15207"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 15:34:41 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 25 14:28:42 2017 -0700"
      },
      "message": "Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.\n\nHistorically, Android defaulted to EXPLICIT but with a special case\nbecause SCHED_NORMAL/priority 0 was awkward. Because the code couldn\u0027t\nactually tell whether SCHED_NORMAL/priority 0 was a genuine attempt to\nexplicitly set those attributes (because the parent thread is SCHED_FIFO,\nsay) or just because the pthread_attr_t was left at its defaults.\n\nNow we support INHERIT, we could call sched_getscheduler to see whether\nwe actually need to call sched_setscheduler, but since the major cost\nis the fixed syscall overhead, we may as well just conservatively\ncall sched_setscheduler and let the kernel decide whether it\u0027s a\nno-op. (Especially because we\u0027d then have to add both sched_getscheduler\nand sched_setscheduler to any seccomp filter.)\n\nPlatform code (or app code that only needs to support \u003e\u003d P) can actually\nadd a call to pthread_attr_setinheritsched to say that they just want\nto inherit (if they know that none of their threads actually mess with\nscheduler attributes at all), which will save them a sched_setscheduler\ncall except in the doubly-special case of SCHED_RESET_ON_FORK (which we\ndo handle).\n\nAn alternative would be \"make pthread_attr_setschedparams and\npthread_attr_setschedprio set EXPLICIT and change the platform default\nto INHERIT\", but even though I can only think of weird pathological\nexamples where anyone would notice that change, that behavior -- of\npthread_attr_setschedparams/pthread_attr_setschedprio overriding an\nearlier call to pthread_attr_setinheritsched -- isn\u0027t allowed by POSIX\n(whereas defaulting to EXPLICIT is).\n\nIf we have a lot of trouble with this change in the app compatibility\ntesting phase, though, we\u0027ll want to reconsider this decision!\n\n -*-\n\nThis change also removes a comment about setting the scheduler attributes\nin main_thread because we\u0027d have to actually keep them up to date,\nand it\u0027s not clear that doing so would be worth the trouble.\n\nAlso make async_safe_format_log preserve errno so we don\u0027t have to be\nso careful around it.\n\nBug: http://b/67471710\nTest: ran tests\nChange-Id: Idd026c4ce78a536656adcb57aa2e7b2c616eeddf\n"
    },
    {
      "commit": "7669c6896464a893af184fdcbfba0ce634387c5f",
      "tree": "5911601885ce84c9366700b77ea9acec5feb7dc1",
      "parents": [
        "13cec459d70a28d511752cb149e056f488850753",
        "b37e9aa9a63b7b703b5a03347555b1df9ac98ab3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 24 09:21:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 24 09:21:31 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Cleanup transitive includes in the legacy inlines.\"\"\"\""
    },
    {
      "commit": "b37e9aa9a63b7b703b5a03347555b1df9ac98ab3",
      "tree": "f4c6b8cfb9794b0cc5ee56034280cd194ca5e327",
      "parents": [
        "f945fb6b8a09d08be89b1b771b20d7291baab659"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 24 09:20:41 2017 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 24 09:20:41 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Cleanup transitive includes in the legacy inlines.\"\"\"\n\nThis reverts commit f945fb6b8a09d08be89b1b771b20d7291baab659.\n\nReason for revert: haven\u0027t fixed all the builds yet\n\nChange-Id: I55aff5d0290c27691427d91a8e46ae01c87da6b2\n"
    },
    {
      "commit": "13cec459d70a28d511752cb149e056f488850753",
      "tree": "c4f77f64b06f7d80a0964470c48040a70e2fa13e",
      "parents": [
        "0b1c8be3be5983e5ae3dfe4aa864675298b5455b",
        "f945fb6b8a09d08be89b1b771b20d7291baab659"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 24 07:06:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 24 07:06:35 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Cleanup transitive includes in the legacy inlines.\"\"\""
    },
    {
      "commit": "8f348a0cce048fc929b4ce0b850147cd7c737497",
      "tree": "0cb146fad1312d7b0f04bf8882ba122f1f6ec2d8",
      "parents": [
        "4075e21ba8ba79af1aa7feab6b1166f00f2e7566",
        "5c6a7bf0dc821bcaa49d5289f01360f8dd78aa86"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 20 18:40:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 20 18:40:17 2017 +0000"
      },
      "message": "Merge \"Remove some legacy declarations from \u003cmath.h\u003e.\""
    },
    {
      "commit": "ac29d9f3b9636818773d60df18eb17e79783f774",
      "tree": "b21bb54cdb9432056d9f83ffc8c80aea317ccdcd",
      "parents": [
        "1b6de8788918f806efd812b743dcc0bbdd232392",
        "fa386e0d1eb52478f11b7232d280919245c1616c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 21:49:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 21:49:29 2017 +0000"
      },
      "message": "Merge \"Add POSIX swab.\""
    },
    {
      "commit": "5c6a7bf0dc821bcaa49d5289f01360f8dd78aa86",
      "tree": "3c535768b792308647f3c7294d72799b2b70fb4d",
      "parents": [
        "ab9dc08bdd60d3709e1bce555625d923b32812be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 19 13:56:28 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 19 14:15:31 2017 -0700"
      },
      "message": "Remove some legacy declarations from \u003cmath.h\u003e.\n\nThese are still needed for backwards compatibility with code built by old\nversions of the NDK, but we don\u0027t need to pollute the headers with them.\n\nAlso lose the hand-written code for these. The compiler-generated code\nis either the same or better, and no new code is calling these functions\nanyway.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ib01ad9805034433e0105aec882608cc8e6526f78\n"
    },
    {
      "commit": "a1c30b98e99bd4ecd351c0bb0c4a52b39776242e",
      "tree": "aebaba83e0c235e8758552ac89d4b85a6c709480",
      "parents": [
        "d6084a764e29cf979ea254139654027d91adeb7c",
        "4d215aad85cd9cba3e815eafb8c56eb5218eafb1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 19 15:42:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 15:42:56 2017 +0000"
      },
      "message": "Merge \"Add POSIX fexecve.\""
    },
    {
      "commit": "4d215aad85cd9cba3e815eafb8c56eb5218eafb1",
      "tree": "9f987f65dfaa1dd321541189ea63c23b70c70cbc",
      "parents": [
        "ab9dc08bdd60d3709e1bce555625d923b32812be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 15:54:56 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 16:26:17 2017 -0700"
      },
      "message": "Add POSIX fexecve.\n\nI\u0027m skeptical about the usefulness of this, but it\u0027s in POSIX, it\u0027s\nin glibc (but not iOS), and it is used in some internal source (test\nrunners and container code).\n\nBug: N/A\nTest: ran tests\nChange-Id: I92c5398f2a679b21a33fba92bc8e67e3ae2eb76f\n"
    },
    {
      "commit": "fa386e0d1eb52478f11b7232d280919245c1616c",
      "tree": "fcfb7d65c39ec91e1b1ec5bedeefe806861d21c4",
      "parents": [
        "ab9dc08bdd60d3709e1bce555625d923b32812be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 13:34:32 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 13:34:32 2017 -0700"
      },
      "message": "Add POSIX swab.\n\nSurprisingly to me, there are actual uses of `swab` in the codebases\nI have available to search, including one with a #ifndef __ANDROID__\naround it.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ic91b78ae22bb65c346cb46dd38916f48d979abe0\n"
    },
    {
      "commit": "19d768598205d915a856ec8f8bf6f996dc6fa83a",
      "tree": "8463238af2bc21651e86e9e44973e9b3ba99eb52",
      "parents": [
        "435e6384de8f9e35b8878b1ccda5bb5686c15207"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 13:27:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 13:27:01 2017 -0700"
      },
      "message": "More \u003climits.h\u003e fixes.\n\nWent through the POSIX spec for the _POSIX* and _XOPEN* constants.\n\nBug: http://b/32776472\nTest: ran tests\nChange-Id: I389100dbc7de354eae9056e44b0a7fa8c37374e3\n"
    },
    {
      "commit": "f945fb6b8a09d08be89b1b771b20d7291baab659",
      "tree": "e4eaf9f9733ce84585c47ab8c3a2e96d0aa058bc",
      "parents": [
        "435e6384de8f9e35b8878b1ccda5bb5686c15207"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 17 11:07:26 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Oct 17 11:07:26 2017 -0700"
      },
      "message": "Revert \"Revert \"Cleanup transitive includes in the legacy inlines.\"\"\n\nThis reverts commit 9cb8639b18bc90dab461b4709607083301c9f6fc.\n\nFixed all the broken builds that were reported to me before this was\nreverted.\n\nTest: make checkbuild  # kikey960, marlin, aosp_arm64; master and aosp\n"
    },
    {
      "commit": "dff08ced5685a0d1adb0ef875a15caca99556e1e",
      "tree": "9b84626d5a3f8dec14c36ad7a42221b0e11a6f5a",
      "parents": [
        "bf886f621b7c5fb4f690fe182f42640410a32d5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 16 09:58:45 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 09:14:05 2017 -0700"
      },
      "message": "Add pthread_setschedprio.\n\nBug: http://b/26204555\nTest: ran tests\nChange-Id: Ic34062b9b6036a1ce2642a069514bab48a893338\n"
    },
    {
      "commit": "5033918092f27179b0c2bbe3babceaed509d4935",
      "tree": "77f5a0f1eb5fec80dc7bc6a297eed66af83713b9",
      "parents": [
        "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 17:52:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 15 10:37:51 2017 -0700"
      },
      "message": "Complete \u003cnetdb.h\u003e.\n\nAdd all the missing \u003cnetdb.h\u003e functions.\n\nAlso fix getservbyport to handle a null protocol correctly.\n\nAlso fix getservbyname/getservbyport to not interfere with getservent.\n\nAlso fix endservent to reset getservent iteration.\n\nAlso reduce unnecessary differences from upstream NetBSD sethostent.c.\n\nThe servent implementation is still horrific, and we should\nprobably support protoent too so that debugging tools can use\ngetprotobyname/getprotobynumber.\n\nBug: N/A\nTest: ran tests\nChange-Id: I639108c46df0a768af297cf3bbce857cb1bef9d9\n"
    },
    {
      "commit": "ddd6436df2adef2e195cf45634750a31c3e03bd1",
      "tree": "ae58a01e0582b0a5b19f7545b048e56756993052",
      "parents": [
        "01bb7bf6fb6b5b43c4b1ff00be79b64f01015691",
        "d4ca231ae2891e5c9eccb6e9a2e6af7fabcfc2a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 22:23:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 22:23:58 2017 +0000"
      },
      "message": "Merge \"Unified sysroot: kill arch-specific include dirs.\""
    },
    {
      "commit": "01bb7bf6fb6b5b43c4b1ff00be79b64f01015691",
      "tree": "3142e44a0c79f3c15b1cb2286051ffec9be34f8b",
      "parents": [
        "b49ac81c8e7e4e0c6e931f97551236792e69d2be",
        "14e3ff9f09fdd52db43628ccd6f39a6d3fb41740"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 21:02:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 21:02:54 2017 +0000"
      },
      "message": "Merge \"Implement \u003cspawn.h\u003e.\""
    },
    {
      "commit": "d4ca231ae2891e5c9eccb6e9a2e6af7fabcfc2a5",
      "tree": "4ffbf1b6c0d0acb3df88b1ce02d574eeaead3f0a",
      "parents": [
        "36f7b8b7891f0af56eb61e7d32cc8cedb5ded8de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 11 22:27:45 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 13:19:51 2017 -0700"
      },
      "message": "Unified sysroot: kill arch-specific include dirs.\n\n\u003cmachine/asm.h\u003e was internal use only.\n\n\u003cmachine/fenv.h\u003e is quite large, but can live in \u003cbits/...\u003e.\n\n\u003cmachine/regdef.h\u003e is trivially replaced by saying $x instead of x in\nour assembler.\n\n\u003cmachine/setjmp.h\u003e is trivially inlined into \u003csetjmp.h\u003e.\n\n\u003csgidefs.h\u003e is unused.\n\nBug: N/A\nTest: builds\nChange-Id: Id05dbab43a2f9537486efb8f27a5ef167b055815\n"
    },
    {
      "commit": "14e3ff9f09fdd52db43628ccd6f39a6d3fb41740",
      "tree": "8ed0ba1d0744ac95265e2ea634b6e1ff8d72d88c",
      "parents": [
        "e387c2f08841ac0f6578e903ab21b54d01f3266e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 06 16:58:36 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 11 14:57:49 2017 -0700"
      },
      "message": "Implement \u003cspawn.h\u003e.\n\nAs described here:\n\n  http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html\n\nAnd here:\n\n  http://man7.org/linux/man-pages/man3/posix_spawn.3.html\n\nBug: N/A (but mentioned in my inbox since 2013)\nTest: ran tests\nChange-Id: I0b27b2919b660779e3bd8a25fb429527c16dc621\n"
    },
    {
      "commit": "8c2323c697289508e7c9ec15ac802afb0ab9a046",
      "tree": "3999b3d031db052787c2259104187b34c57f9f37",
      "parents": [
        "3dacc4764220fc5e7969e4281f5cfca8f2082241"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 05 16:39:33 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 06 16:01:36 2017 -0700"
      },
      "message": "Fix \"Add a legacy inline for mmap64\".\n\nAutosubmit fired before the CL was actually ready (forgot to hit \"y\"\non the repo upload).\n\nTest: make checkbuild\nTest: copied into the NDK and ran mmap64_fob64 test.\nBug: lots\nChange-Id: I8c0400a703f319e8e230f7ba9178009ed7c88be0\n"
    },
    {
      "commit": "3dacc4764220fc5e7969e4281f5cfca8f2082241",
      "tree": "59cf0da278f1f1c0bdbdd9f8158342ab7359ba9b",
      "parents": [
        "e387c2f08841ac0f6578e903ab21b54d01f3266e",
        "a613d0df5c682617380728a7d151483de05a4f92"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 06 22:20:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 06 22:20:54 2017 +0000"
      },
      "message": "Merge \"Add a legacy inline for mmap64.\""
    },
    {
      "commit": "a613d0df5c682617380728a7d151483de05a4f92",
      "tree": "5a73110db954e5fc92116ad0930ed83495607729",
      "parents": [
        "3e8584d4a7d617289e8a954711ba895415d781c4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 05 16:39:33 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 05 23:41:47 2017 -0700"
      },
      "message": "Add a legacy inline for mmap64.\n\nWhile this was never an inline, this function alone has caused most of\nthe bug reports related to _FILE_OFFSET_BITS\u003d64. Providing an inline\nfor it should allow a lot more code to build with _FILE_OFFSET_BITS\u003d64\nwhen targeting pre-L.\n\nTest: make checkbuild\nTest: built trivial cc_binary for LP32 against API 14 with\n      _FILE_OFFSET_BITS\u003d64 set\nBug: lots\nChange-Id: I8479d34af4da358c11423bee43d45b59e9d4143e\n"
    },
    {
      "commit": "aaf83e8051abf9a68e9deee589b18f0ecdf1b266",
      "tree": "f3b56813ba81ae68a68e28f73d4de933be22a455",
      "parents": [
        "0a451314b0bb3af51e34659ade322be58c434127"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 15:26:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 16:18:10 2017 -0700"
      },
      "message": "More POSIX limits cleanup.\n\nhttp://man7.org/linux/man-pages/man7/posixoptions.7.html is a very useful\nquick reference to what these are supposed to mean.\n\nBug: http://b/32776472\nTest: ran tests\nChange-Id: Icea6812d6075e663885844d7424aa6cf73d6284a\n"
    },
    {
      "commit": "3a8f75d8b052611c08ef17ecf625b8021f4e0229",
      "tree": "a41055f8209868da748f5118a24df528d1f07a9e",
      "parents": [
        "42f3bd0ffc3f0f0e3191c679ea4276f7f1882a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 10:33:18 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 10:33:18 2017 -0700"
      },
      "message": "POSIX clock cleanup.\n\nThe newest of these clocks was added in Linux 2.6.12, so no need for runtime\nchecks.\n\nAdd CTS tests that we can actually use the various clocks.\n\nBug: http://b/67458266\nTest: ran tests\nChange-Id: I3cfd7982043d6f8d4ebdc2b29e8722334f443ce5\n"
    },
    {
      "commit": "a0c7ec8080a7718c5711d9de405e039258d433bf",
      "tree": "44acbb52602f72fc7b8ff0ab4243586e1fe74849",
      "parents": [
        "95f90784eaa0b377d3c6d9101c84e8817cbea494"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 07 11:19:17 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 08:14:56 2017 -0700"
      },
      "message": "Add O MR1 define\n\nBug: 64394076\nTest: none\nChange-Id: Ice3991c626dd2cce93c9a571ba529fa5b0129492\n"
    },
    {
      "commit": "b3639adf9ce41f520f7a64a5016e6ffc41ccd009",
      "tree": "c44e7963fa15992bcc5603c9608ec1359c672c87",
      "parents": [
        "bd2754177fc26b255b64af0b50c32f984a274cf9",
        "8465e968a8a92c77d57360837a9e725972a745e6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 29 15:39:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 15:39:29 2017 +0000"
      },
      "message": "Merge changes I76dde1e3,I54fec461\n\n* changes:\n  Add \u003csys/random.h\u003e.\n  Run other maintenance scripts as part of the preupload hooks.\n"
    },
    {
      "commit": "8465e968a8a92c77d57360837a9e725972a745e6",
      "tree": "f8bd05e55680224a407ac55afaef58b668868b05",
      "parents": [
        "96510935697c2934427f0c14d0b153244e8cfb2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 27 16:33:35 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 29 05:31:35 2017 +0000"
      },
      "message": "Add \u003csys/random.h\u003e.\n\niOS 10 has \u003csys/random.h\u003e with getentropy, glibc \u003e\u003d 2.25 has\n\u003csys/random.h\u003e with getentropy and getrandom. (glibc also pollutes\n\u003cunistd.h\u003e, but that seems like a bad idea.)\n\nAlso, all supported devices now have kernels with the getrandom system\ncall.\n\nWe\u0027ve had these available internally for a while, but it seems like the\ntime is ripe to expose them.\n\nBug: http://b/67014255\nTest: ran tests\nChange-Id: I76dde1e3a2d0bc82777eea437ac193f96964f138\n"
    },
    {
      "commit": "f1c568d1eac6d2baba62af35e5b9856fb7e98319",
      "tree": "a7840d0a41465e4bc73e766bfc212bee12c6eaa0",
      "parents": [
        "2e01f39c31e042482fbe10df79d8b2837ae79239"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 26 17:09:07 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 26 18:46:09 2017 -0700"
      },
      "message": "Add \u003cglob.h\u003e.\n\nThis is the FreeBSD implementation, plus some tests. The FreeBSD\nimplementation includes the GNU extensions and seems to be what\niOS is using too, which should provide bug compatibility for app\ndevelopers.\n\nThe code unfortunately uses a lot of stack, and uses FreeBSD locale\nimplementation that we don\u0027t have, but it does seem better maintained\nthan the other BSDs.\n\nBug: http://b/29251134\nTest: ran tests\nChange-Id: Ie477b45e42a6df1319b25712098519d2b33adf67\n"
    },
    {
      "commit": "0d9301e1562b3804ed86c0afe3fa2b56eb6ce573",
      "tree": "77885ccabcc3a3d9df15043937a9a2c86d3333d2",
      "parents": [
        "cce6ada00ad055ac52791526e44b1f223bec8ce4",
        "2f94a29d9cf9574e38e87e7c8f760dd7277ab49a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 19 18:34:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 19 18:34:52 2017 +0000"
      },
      "message": "Merge \"Rename _Exit in a way that works with libandroid_support.\""
    }
  ],
  "next": "2f94a29d9cf9574e38e87e7c8f760dd7277ab49a"
}
