)]}'
{
  "log": [
    {
      "commit": "f634655e6453e7d7ec453faa16cf4c97e4a5c630",
      "tree": "ef75cd449ddf401e084a49f90bdb28109b58c6c9",
      "parents": [
        "4511a59ab461745ec8f0d520645aa88ad8390aba"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Dec 02 12:02:03 2016 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Dec 02 13:03:30 2016 -0800"
      },
      "message": "Fix wcsto* where strings begin with whitespace.\n\nThe libc++ tests caught this.\n\nTest: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests\nBug: None\nChange-Id: I14864e006f6cf9de3f96acac6aa3eb235894f2b1\n"
    },
    {
      "commit": "7f0849fd113691e62af0400989936d3eff151e37",
      "tree": "166fa5afeed341e2685091c89d9d8418acb66e5d",
      "parents": [
        "a2b947e0a5ff4106e36f8110232131dab1356c25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 16:17:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 15:01:54 2016 -0700"
      },
      "message": "Fix sscanf/wcstod parsing of NaNs.\n\nThe parsefloat routines -- which let us pass NaNs and infinities on to\nstrto(f|d|ld) -- come from NetBSD.\n\nAlso fix LP64\u0027s strtold to return a NaN, and fix all the architectures\nto return quiet NaNs.\n\nAlso fix wcstof/wcstod/wcstold to use parsefloat so they support hex\nfloats.\n\nLots of new tests.\n\nBug: http://b/31101647\nChange-Id: Id7d46ac2d8acb8770b5e8c445e87cfabfde6f111\n"
    },
    {
      "commit": "6f6f9058fa7ba3cc9d53bd93e46c254ef8e8cd96",
      "tree": "572c806c787d2c3a1626a9d97b37de78072f3485",
      "parents": [
        "671e6b20eabd0a1ab973f77dff272a00a4096ee7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 14:54:52 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 28 16:41:29 2016 -0700"
      },
      "message": "Implement mblen(3).\n\nChange-Id: I65948ea5b9ecd63f966ba767ad6db4a2effc4700\n"
    },
    {
      "commit": "df143f8576afb0446794d4ccb1fb02aed196c82a",
      "tree": "098728b018b7869bd8952e3e39894df3280808bc",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 17:34:04 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 17:34:04 2016 -0700"
      },
      "message": "Add POSIX getsubopt(3).\n\nBug: http://b/27952303\nChange-Id: I8a816477545dadcbd5c055714e76263574446b6f\n"
    },
    {
      "commit": "33697a0c43c48e15c3bcf018138b9b837d0099cd",
      "tree": "5abb2ab07c7f1322defd9fd6313cd11e12978579",
      "parents": [
        "94bb0fab931102f1fcf393aa507a6b77b741844f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 13:04:57 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 13:13:52 2016 -0800"
      },
      "message": "Factor out the waiting for children in bionic tests.\n\nChange-Id: I4a1e51b6920b33dc892d447f5bd6d10f1cb2704a\n"
    },
    {
      "commit": "274afe8f0eab4139c94d5f8b1ee3d267f449ef42",
      "tree": "9424b40a8247c264e489358ce007b3ff4176d868",
      "parents": [
        "39ba30354a3890dd653ab55819d38eed3855edaa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 06 12:40:08 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 06 14:14:37 2014 -0800"
      },
      "message": "Add POSIX lcong48.\n\nChange-Id: I821046816661d77275cb02c8c99d526bb41afb9c\n"
    },
    {
      "commit": "9df70403d95f5cfe6824e38a9a6c35f9b9bbc76a",
      "tree": "5a2914b5db892fa3d2c17caf9e9a53f7fc0a5d93",
      "parents": [
        "2311383180aee9388d28b03901a1e4ef021bcfa7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 05 18:01:01 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 06 11:09:03 2014 -0800"
      },
      "message": "make all bionic death tests not dumpable\n\nBug: 18067305\n\nChange-Id: Ia1ecacf47eddecc9bc58aaac779e0c218f463179\n"
    },
    {
      "commit": "89aaaffbf8f2d09b56c1cc1345cdaf28c331ab5e",
      "tree": "88117e80c7f4c4ca41512e73e2995fd29526a8f6",
      "parents": [
        "13dcb88b0f8ce238456059fdc0b6c946caed1e3a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 28 17:54:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 28 17:54:23 2014 -0700"
      },
      "message": "Extra strtod/strtof tests.\n\nCheck that libc doesn\u0027t suffer from a couple of bugs that affected\nJava in the past.\n\nBug: 2206701\nChange-Id: I9eb64d7ff2fa0b79e93079b897a5fb78bef866be\n"
    },
    {
      "commit": "31e072fc9bcf6517d763c7af6d872efd1784629e",
      "tree": "579255b857eac677bec2b2e74e1ecf827b04059b",
      "parents": [
        "1f7d5ac53854a09bbcace08b3a1d1b9cf3f2eed3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 30 16:15:42 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 30 16:40:41 2014 -0700"
      },
      "message": "Update our FreeBSD realpath(3) to upstream head.\n\nChange-Id: I8c89728184ecd2c1a28a05cefa84a5037d28b552\n"
    },
    {
      "commit": "31165edf5733dae8fbe79551b18cbc0e56c8d808",
      "tree": "e7ed184d94540342f16514a84e02c1f8d38882db",
      "parents": [
        "87b6906f6e0c17b2541535be8e054324cc2fef4a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 17:34:29 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 18:21:52 2014 -0700"
      },
      "message": "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.\n\nChange-Id: I74ea88e0d4973d6ab3c57da7d8bb643c31592b14\n"
    },
    {
      "commit": "b05ec5ae933987e6b4a4f6a318cb13e035ad33e9",
      "tree": "64f418a870ba50ccec912a11f90605418f74c844",
      "parents": [
        "8642165344217877b8a70811d19e09b584a0e10a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 14:53:10 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 14:53:10 2014 -0700"
      },
      "message": "Pull in upstream fixes to reject invalid bases.\n\nAlso add tests to make sure the full set works correctly.\n\nChange-Id: I3e7f237f12c9c93e1185a97c9717803e7e55a73c\n"
    },
    {
      "commit": "4916706cfe590eb06c9b5bd4bd402ce056034d51",
      "tree": "75e0434f53123a7f34ffb405b84899bbacc80b38",
      "parents": [
        "50a9630cc26cbc1e38e3ddc589f04fa5cd91697b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 17:24:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 19:55:23 2014 -0700"
      },
      "message": "Fix linkage of grantpt(3).\n\nAlso clean up the implementation of all the pty functions, add tests,\nand fix the stub implementations of ttyname(3) and ttyname_r(3).\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58888\nChange-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2\n"
    },
    {
      "commit": "76c241b091b4d9d9a9237d40e814e52ce2917f47",
      "tree": "fb7139355285a3b9efcabd6009b8f2d36024a9fe",
      "parents": [
        "83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 11:57:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 12:02:22 2014 -0700"
      },
      "message": "Implement rand/srand in terms of random/srandom.\n\nCode developed for glibc or older versions of bionic might expect more\nrandomness than the BSD implementation provides.\n\nBug: 15829381\nChange-Id: Ia5a908a816e0a5f0639f514107a6384a51ec157e\n"
    },
    {
      "commit": "a0beeeabbc8735bc830544cbbb1d920122b8d958",
      "tree": "472a5720b949ff3f5a1e3b37cd273f981d286f28",
      "parents": [
        "d242aff47dc4eaa5081dc7af821308d353cd1090"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 11:48:04 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 14:37:31 2014 -0700"
      },
      "message": "Get the full set of PRNG functions in \u003cstdlib.h\u003e\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58888\nChange-Id: I435250bdae302e8bd7e29977d0fde7b9afbfca5e\n"
    },
    {
      "commit": "063525c61d24776094d76971f33920e2a2079530",
      "tree": "de279e25b05c43dbb06bc3ceb49f23bed3874377",
      "parents": [
        "a26dd781fe675cf94c62183da27622eb83ff6fa7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 11:19:57 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 11:19:57 2014 -0700"
      },
      "message": "Consistently use #if defined(__BIONIC__) in tests.\n\nI\u0027ve also switched some tests to be positive rather than negative,\nbecause !defined is slightly harder to reason about and there are\nonly two cases: bionic and glibc.\n\nChange-Id: I8d3ac40420ca5aead3e88c69cf293f267273c8ef\n"
    },
    {
      "commit": "b8425c549a0bfe08b01b5906b95603d8523c1b16",
      "tree": "2efb8b0f66e170dff1cb9ff3a90001cc49ff9291",
      "parents": [
        "85e780d0557643a81c4a33b3bc5d3806ef9d78e3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 29 17:49:06 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 29 19:17:00 2014 -0700"
      },
      "message": "Adds quick_exit(3) and at_quick_exit(3) from freebsd\n\nChange-Id: I4fe88abd8f7b8aa45e58aeb2529d59a8d555d338\n"
    },
    {
      "commit": "9f525644df99cb2f7f81a23ca23840f0a8f82275",
      "tree": "edfe771f84024370aba4988e016534e5c535984e",
      "parents": [
        "ac70d2e1fe71f98232942237c2b463ea3adbf662"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 08 17:14:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 08 17:16:13 2014 -0700"
      },
      "message": "Implement _Exit(3).\n\nChange-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe\n"
    },
    {
      "commit": "f171b34cf045115b82ccb89b57feb56d3cad472b",
      "tree": "60d746b63387b151f00dfd3272773f2701e93929",
      "parents": [
        "f212bbf666b77777063a3a94a672bcae80b15253"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 17 16:40:26 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 17 16:40:26 2014 -0700"
      },
      "message": "Use the float/double assert macros.\n\nThe normal ASSERT_EQ macros don\u0027t work quite right for float/double values,\nand result in false failures. Use the correct macros instead.\n\nBug: 13511379\nChange-Id: Ic2feee7f3d3569f57b6453b8fa95222846c625cd\n"
    },
    {
      "commit": "5a8173860d65182af022be88fed0c5d8d5dcb69d",
      "tree": "907e7263b278203193247ef582a4e1a8b263e21e",
      "parents": [
        "56e1eebd39be4830f309603b38e4b1118c544fb3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 12 16:12:57 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 12 16:12:57 2014 -0700"
      },
      "message": "Ensure we always have symbols for atof, strtof, strtold.\n\nWe\u0027ll need a better implementation of strtold for LP64, but all our\nlong double functions are currently broken for LP64 anyway so this\nisn\u0027t a regression.\n\nChange-Id: I2bdebac11245d31521d5fa09a16331c03dc4339c\n"
    },
    {
      "commit": "40488560c17e41c0980b3a08ef54ec38bb572a41",
      "tree": "77542af209ac1c3061418a1f215ef43e5575b6e4",
      "parents": [
        "2282e16d76c6691968bd62a4c4bb3ecefabc98ca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 12 13:50:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 12 13:50:38 2014 -0700"
      },
      "message": "Include what you use.\n\nDon\u0027t rely on transitive includes. (Even though that works fine in AOSP.)\n\nChange-Id: Ifc06575e4aea383cfff24d6c5c14fc0a7aabdf2b\n"
    },
    {
      "commit": "3cdf5739cd34757943a5fff9d26efeb8da04cb09",
      "tree": "fa1afe43a3097d8073b749b6d836431fd435fd1f",
      "parents": [
        "dd8c7863c613290acaa8bc4b90af34f020e0bee3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 12:54:44 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 12:54:44 2014 -0700"
      },
      "message": "Add a basic unit test for system(3).\n\nChange-Id: Ibc5ac21f3663685d89ce261b58d6ea386fc1ff88\n"
    },
    {
      "commit": "fe317a3775e16d466bb884a8e054fd77f7087bb3",
      "tree": "c26e2b737d6741add069324fc0dc8a2ad31cd731",
      "parents": [
        "da030de702b756077fec536ed139e7ea38b51022"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 21 15:11:03 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 24 20:19:19 2014 +0000"
      },
      "message": "Added mkstemp64\n\nBug: 13076637\nChange-Id: I41bf28ab3e6c7325470781e9323eeec023483df5\n"
    },
    {
      "commit": "877ec6d90418ff1d6597147d355a2229fdffae7e",
      "tree": "e475221a7fbff1564ad37548e920333c49cc5873",
      "parents": [
        "f246c589d66e5dc0e3cddc3c37261fb0e3fc67e9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 15 17:40:18 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 18 19:48:11 2013 -0800"
      },
      "message": "Fix pthread_join.\n\nLet the kernel keep pthread_internal_t::tid updated, including\nacross forks and for the main thread. This then lets us fix\npthread_join to only return after the thread has really exited.\n\nAlso fix the thread attributes of the main thread so we don\u0027t\nunmap the main thread\u0027s stack (which is really owned by the\ndynamic linker and contains things like environment variables),\nwhich fixes crashes when joining with an exited main thread\nand also fixes problems reported publicly with accessing environment\nvariables after the main thread exits (for which I\u0027ve added a new\nunit test).\n\nIn passing I also fixed a bug where if the clone(2) inside\npthread_create(3) fails, we\u0027d unmap the child\u0027s stack and TLS (which\ncontains the mutex) and then try to unlock the mutex. Boom! It wasn\u0027t\nuntil after I\u0027d uploaded the fix for this that I came across a new\npublic bug reporting this exact failure.\n\nBug: 8206355\nBug: 11693195\nBug: https://code.google.com/p/android/issues/detail?id\u003d57421\nBug: https://code.google.com/p/android/issues/detail?id\u003d62392\nChange-Id: I2af9cf6e8ae510a67256ad93cad891794ed0580b\n"
    },
    {
      "commit": "0b25f633a23e575c8a1f9547d1af5dc5b0157a1c",
      "tree": "9528feda9457254ba485c9576643f2ed1a18da70",
      "parents": [
        "ed36d95fac5881f78a601e2932f51edfd27c6ba6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 11 18:08:34 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 11 18:08:34 2013 -0700"
      },
      "message": "Switch to current FreeBSD qsort.\n\nChange-Id: Ic46cd0b663dc5fa78c99dd38db0bfe849a25e789\n"
    },
    {
      "commit": "f0777843c03deb26b1f78c8edd17c557041696e9",
      "tree": "c6daa38f29aa9a327b094eda31340251fdedef11",
      "parents": [
        "c5c6cb3f13642386e08acf687b4bc39f568bad0c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 01 16:59:46 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 01 17:11:39 2013 -0800"
      },
      "message": "Move realpath.c to upstream-freebsd.\n\nThis is actually a slightly newer upstream version than the one I\noriginally pulled. Hopefully now it\u0027s in upstream-freebsd it will\nbe easier to track upstream, though I still need to sit down and\nwrite the necessary scripts at some point.\n\nBug: 5110679\nChange-Id: I87e563f0f95aa8e68b45578e2a8f448bbf827a33\n"
    },
    {
      "commit": "b16b72248bd109b6073df6a45aeffaa69e38cfc6",
      "tree": "e30f6d4ea4a010c2888773e68861955b636a0230",
      "parents": [
        "a1821f015306e221e6a51e5acc27176ae2d72f6b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 04 13:18:00 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 04 13:18:00 2013 -0800"
      },
      "message": "Add basic tests for posix_memalign.\n\nChange-Id: Ie34fcc87aa9e8bfc715e25161752024b11e2032a\n"
    },
    {
      "commit": "774c7f54ff375d71106283d42779b0cc5f238f87",
      "tree": "3dc911f915d8d120089ca5afd60bb84b6d51e71e",
      "parents": [
        "5b6346f6d5dca4022fe0044dd2807c19ac596788"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 13:11:03 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 13:53:41 2012 -0700"
      },
      "message": "Upgrade to the current NetBSD rand implementation.\n\nAlso add basic unit tests.\n\nChange-Id: I7fc7ef61d47c1e8fdf8b8eff67a635220c3afd56\n"
    }
  ]
}
