)]}'
{
  "log": [
    {
      "commit": "205c7887add8b8c85434c35158138f16265beb28",
      "tree": "7220cc9b0d62a236ae7e248acd053195cb1a7575",
      "parents": [
        "d16100c1fb8a39215497243ecb12176e9688ef77"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 13 16:17:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 13 16:17:43 2014 -0700"
      },
      "message": "Clean up reentrancy cruft.\n\nThe DNS copy of reentrant.h was unused, so remove it.\n\nThe strtod implementation can use the upstream-netbsd reentrant.h and\nget a little closer to what was then upstream. (It\u0027s since been replaced\nby gdtoa, and we\u0027ll have to follow at some point, but for now this doesn\u0027t\nmake anything any worse.)\n\nANDROID_CHANGES is (now) only used in the DNS code, so push the -D\ndown.\n\nThe \u003clocale.h\u003e change prevents an LP32 hack from leaking into LP64.\n\nChange-Id: Idf30b98a59d7ca8f7c6cd6d07020b512057911ef\n"
    },
    {
      "commit": "ad41e9a4eb957ea318bbc93dd49dbe76b89df1e9",
      "tree": "8d95daa4b9d104c3b77467ae7eac651430cbe4f2",
      "parents": [
        "55f9710ac4843b4a5d2c8b03ade3d2bddd1fdf46"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 15:05:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 15:05:50 2014 -0700"
      },
      "message": "More stdio cleanup.\n\nChange-Id: Idc909cd3dc7b072f1edd2ae4980932d6550e8568\n"
    },
    {
      "commit": "19f58efa22357bfaa6a63a0940928830e95c5123",
      "tree": "83e025603557f711c7c5966e31ba34399977dab2",
      "parents": [
        "ec674b4d064d923818d0deba9f8378d13ff6451a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 16:32:35 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 10 16:32:35 2014 -0700"
      },
      "message": "Switch to NetBSD utmp.c.\n\nChange-Id: Ibe94888aa48b5b28fea97fd5719a1ed7a23ddeb3\n"
    },
    {
      "commit": "569fb9887d00104509df79fa77d92e3cf9afe7db",
      "tree": "cd7018947017406a878b22a25481969217985664",
      "parents": [
        "4a46a68942d180e28c3e87f08359351245b220b7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 04 15:01:29 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 04 15:07:07 2014 +0000"
      },
      "message": "Moved nameser.h and namser_compat.h to public include dir\n\nThis is part of the upstream sync (Net/Open/Free BSDs expose the\nnameser.h in their public headers).\n\nChange-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf\n"
    },
    {
      "commit": "0133944b09d1c0a35041f7a41eb6bfb660144f4f",
      "tree": "0cb37ddb83c7cf6363d917791d76420ad6f6e1c1",
      "parents": [
        "e65055af112780623f372aca6a1f78d2b2acb34f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 20 18:04:58 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 21 14:30:18 2014 -0800"
      },
      "message": "Clean up our OpenBSD usage.\n\nAlso undo some of the mess where we have OpenBSD \u003cstdio.h\u003e but a mix of\ndifferent BSD\u0027s implementations.\n\nIn this first pass, I\u0027ve only moved easy OpenBSD stuff.\n\nChange-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6\n"
    },
    {
      "commit": "677b6e605be95f434602f19a627ea0dea2927ccd",
      "tree": "7219078b1fb87f88e1273c4ef0cb84175da08236",
      "parents": [
        "8d0fe1c49e83592372becc996accfe9d5948aa9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 20 14:15:09 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 20 14:16:58 2014 -0800"
      },
      "message": "Move the upstream-netbsd libc files into the correct directory.\n\nI screwed up when I originally imported these files; they\u0027re in lib/libc/\nin the upstream tree; there is no top-level libc/ (though there is a top-level\ncommon/, so those files stay where they are).\n\nChange-Id: I7c5e2224a4441ab0e33616a855a8c6aacfeac46f\n"
    },
    {
      "commit": "db1ea3474899ebbd783aba872d3005f95a816d0f",
      "tree": "b70fedd7d69098f5141dbbb09ef41851a61eec8d",
      "parents": [
        "3623d80675e5321b92c2d88a7b7ec6bd998d81d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 17 18:42:49 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 15:39:24 2014 -0800"
      },
      "message": "Implement some of the missing LFS64 support.\n\nThis gives us:\n\n* \u003cdirent.h\u003e\n  struct dirent64\n  readdir64, readdir64_r, alphasort64, scandir64\n\n* \u003cfcntl.h\u003e\n  creat64, openat64, open64.\n\n* \u003csys/stat.h\u003e\n  struct stat64\n  fstat64, fstatat64, lstat64, stat64.\n\n* \u003csys/statvfs.h\u003e\n  struct statvfs64\n  statvfs64, fstatvfs64.\n\n* \u003csys/vfs.h\u003e\n  struct statfs64\n  statfs64, fstatfs64.\n\nThis also removes some of the incorrect #define hacks we\u0027ve had in the\npast (for stat64, for example, which we promised to clean up way back\nin bug 8472078).\n\nBug: 11865851\nBug: 8472078\nChange-Id: Ia46443521918519f2dfa64d4621027dfd13ac566\n"
    },
    {
      "commit": "a38cb088619d3e2f2194247038c10897d1c5036e",
      "tree": "83cde27cb78ed069749b6beddb2ad5199d068214",
      "parents": [
        "d4bc9ef83b36916d5e63c4c3e4a092381473ea52"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 17 12:33:16 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 12:04:54 2014 -0800"
      },
      "message": "Clean up various warnings in bionic.\n\nChange-Id: Ic57541d0a567fd4ae79f0ad59b2ffde1130eb7d2\n"
    },
    {
      "commit": "652289942d0d2543af90c8af9c04d80a2edb481a",
      "tree": "3ea6d3332a690d66cb8fc7ea9efca89b1ce678a5",
      "parents": [
        "ae5c3dd73844e6a9e1a14dbf893eab5142902f18"
      ],
      "author": {
        "name": "Pawit Pornkitprasan",
        "email": "p.pawit@gmail.com",
        "time": "Thu Nov 14 23:50:45 2013 +0700"
      },
      "committer": {
        "name": "Pawit Pornkitprasan",
        "email": "p.pawit@gmail.com",
        "time": "Tue Nov 19 09:49:17 2013 +0700"
      },
      "message": "bionic: call stdio cleanup on exit\n\nAs of 61e699a133a4807fe878a6cb0d7190d7c96e21f8, stdio clean up\nfunctions are no longer registered in atexit and must be called\nmanually via __cleanup.\n\nThe issue this fixes is some static binaries linked against bionic\ncannot output properly when piped or redirected because the buffer\nis not flushed before closing.\n\nThis is done by pulling in exit.c (and other dependencies) from\nnetbsd.\n\nChange-Id: I193e54a6d08900f291550029fe75ce76394d9e22\n"
    },
    {
      "commit": "9be07fa527f61f4ca4be9f6380fa004ac588ccda",
      "tree": "7f00a1641d2c8bce3f7f6205f4112dc7c3a8d4fb",
      "parents": [
        "9e63e03d34fc0b4d87cff047a4bc55f8ebc5e12a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 06 17:04:56 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 06 17:04:56 2013 -0800"
      },
      "message": "Fix a TODO; we\u0027ve had SOCK_CLOEXEC for a while now.\n\nChange-Id: I4bc39b57f3c33441ead74127f576bf5a4e311566\n"
    },
    {
      "commit": "60fd3450bf5cd081e019ea50616032e1447aeeb3",
      "tree": "87579ea373e65026ad974c3f13fadfed26df194c",
      "parents": [
        "020bcdaef349b6bd82302a0656fdf9aaff30bdb3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 15:24:26 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 15:24:26 2013 -0700"
      },
      "message": "Fix the *rand48 functions on LP64.\n\nI reported the mrand48 bug upstream, and \u0027matt\u0027 fixed the whole family\nof functions!\n\nChange-Id: I07fbc034e86499ce89599c3026a741738fd0cfc0\n"
    },
    {
      "commit": "eb847bc8666842a3cfc9c06e8458ad1abebebaf0",
      "tree": "15e070fb706ba7599d5f402a8f934a7399541a6a",
      "parents": [
        "0c17099a71cb5d1b36b7aab66fd7341b3fc9106d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 09 15:50:50 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 09 16:00:17 2013 -0700"
      },
      "message": "Fix x86_64 build, clean up intermediate libraries.\n\nThe x86_64 build was failing because clone.S had a call to __thread_entry which\nwas being added to a different intermediate .a on the way to making libc.so,\nand the linker couldn\u0027t guarantee statically that such a relocation would be\npossible.\n\n  ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against \u0027__thread_entry\u0027 which may overflow at runtime; recompile with -fPIC\n\nThis patch addresses that by ensuring that the caller and callee end up in the\nsame intermediate .a. While I\u0027m here, I\u0027ve tried to clean up some of the mess\nthat led to this situation too. In particular, this removes libc/private/ from\nthe default include path (except for the DNS code), and splits out the DNS\ncode into its own library (since it\u0027s a weird special case of upstream NetBSD\ncode that\u0027s diverged so heavily it\u0027s unlikely ever to get back in sync).\n\nThere\u0027s more cleanup of the DNS situation possible, but this is definitely a\nstep in the right direction, and it\u0027s more than enough to get x86_64 building\ncleanly.\n\nChange-Id: I00425a7245b7a2573df16cc38798187d0729e7c4\n"
    },
    {
      "commit": "d04c18397946f87ac4495351537c31a3d67257da",
      "tree": "3917d8d909d7f5ed401bdad509a364256b0890a9",
      "parents": [
        "349ef893e82f37632a705f39efc47c0d440f63c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 16:08:43 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 16:08:43 2013 -0700"
      },
      "message": "Add more __restricts, clean up __format__ attributes.\n\nChange-Id: I7e2d270cc722d339d221eaea92747eaff3b51403\n"
    },
    {
      "commit": "6b3f49a5374305ce9690c3c5ca2aadc90f54c521",
      "tree": "7dcd0542e0e59e974bb6aae6a2c861e38f7d5dd1",
      "parents": [
        "db794197cc880e3805bcefbea780476a359066c2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 06 16:20:55 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 06 16:20:55 2013 -0800"
      },
      "message": "Upgrade to current NetBSD popen/pclose.\n\nThis gets us back to using vfork now our ARM vfork assembler stub is\nfixed, and adds the missing thread safety for the \u0027pidlist\u0027.\n\nBug: 5335385\nChange-Id: Ib08bfa65b2cb9fa695717aae629ea14816bf988d\n"
    },
    {
      "commit": "2b473070126345e323d0694b87f88264cc9a77cc",
      "tree": "1f626a0ab6ef690d17c7c52004615147fd768dba",
      "parents": [
        "547eba0a63951d7db93c0542e1ecab891725b9a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 15:10:19 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 15:10:19 2013 -0800"
      },
      "message": "Our strcoll(3) is no different from NetBSD\u0027s, so take exactly theirs.\n\nChange-Id: I45251047202a229f9175735ecc23c0ebcda71e8d\n"
    },
    {
      "commit": "c51cd764a2d0897234762abd4dbd21420cb9f17d",
      "tree": "77a3efe1662c08da97eb9eff8df6e69b4a53fe66",
      "parents": [
        "85597e2b59af91be0607ed073b6574b934ed369d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:41:23 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:41:23 2013 -0800"
      },
      "message": "Avoid overflow in memccpy.\n\nJust take the upstream NetBSD code.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d43078\nChange-Id: Ibbbde9d00e8bc6a09c9503aab2b04b4e3d1f98b0\n"
    },
    {
      "commit": "c30396f5f225e0b5a83a35432e2d82a7063cfdb9",
      "tree": "84df04116350a6895e76c26490bbcf499a3e3099",
      "parents": [
        "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Mon Oct 29 15:32:54 2012 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 07:44:27 2012 -0700"
      },
      "message": "libc: Fix alphasort() signature (and implementation).\n\nThe declaration for alphasort() in \u003cdirent.h\u003e used the deprecated:\n\n  int alphasort(const void*, const void*);\n\nwhile both Posix and GLibc use instead:\n\n  int alphasort(const struct dirent** a, const struct dirent** b);\n\nSee: http://pubs.opengroup.org/onlinepubs/9699919799/functions/alphasort.html\n\nThis patch does the following:\n\n- Update the declaration to match Posix/GLibc\n- Get rid of the upstream BSD code which isn\u0027t compatible with the new\n  signature.\n- Implement a new trivial alphasort() with the right signature, and\n  ensure that it uses strcoll() instead of strcmp().\n- Remove Bionic-specific #ifdef .. #else .. #endif block in\n  dirent_test.cpp which uses alphasort().\n\nEven through strcoll() currently uses strcmp(), this does the right\nthing in the case where we decide to update strcoll() to properly\nimplement locale-specific ordered comparison.\n\nChange-Id: I4fd45604d8a940aaf2eb0ecd7d73e2f11c9bca96\n"
    },
    {
      "commit": "063cfb2084ea4b12d3c85b2d2c44e888f0857eb4",
      "tree": "ec94389e76f6fd79d573c4a689b7c83c4711edd0",
      "parents": [
        "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 20:55:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 26 16:42:06 2012 -0700"
      },
      "message": "Clean up the implementation of the \u003cdirent.h\u003e functions.\n\nChange-Id: I3c647cc9588525afc41fee90ee468d58cd13503a\n"
    },
    {
      "commit": "ab44f52202878cdf2bf22457aeae33ec24089556",
      "tree": "2ae72963003e3ada4cbb19acd73475b4164f515a",
      "parents": [
        "e3dbe1e3820d6ab0370566055e9cdc593c5cce48"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:05:09 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:05:09 2012 -0700"
      },
      "message": "More upstream NetBSD upgrades.\n\nChange-Id: Idb781d37de3b05585271d7d258ecffd5ba87d0b8\n"
    },
    {
      "commit": "e8bcca3a2ca4a70156c72239d62bb68eeb2929fd",
      "tree": "810eacbe3195f2064483973cc55b67384a7c4c32",
      "parents": [
        "fb93e6a5b322a87e61de19421a72d6dfcc82b614"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 12:26:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 12:29:53 2012 -0700"
      },
      "message": "Upgrade more functions to the current upstream NetBSD copy.\n\nChange-Id: Ie0b3f8b3fccef28609eb210434413ebd51d6ef45\n"
    },
    {
      "commit": "31a1060a5a75d4f2aa3c3a5a7b948eb512d53387",
      "tree": "7b7445b27b4503c07d53c1fff9173b7dacf167b8",
      "parents": [
        "cd195eba1f9235b9b9d4dda70142d927b1b9802d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 14:14:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 14:14:21 2012 -0700"
      },
      "message": "Upgrade seed48 too.\n\nMissed this in 774c7f54ff375d71106283d42779b0cc5f238f87.\n\nChange-Id: Ic24fd67f003d0e2d192cfb08f96f63024ca817eb\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"
    },
    {
      "commit": "eac9eb462ed6f7fcfb791e7a08b4011fcca47829",
      "tree": "3b436a25d9ff22616ca22919ff9026e4426a9243",
      "parents": [
        "e4030e0bfc427e755477bbea69afe60308a62d91"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Sat Sep 08 09:28:30 2012 +0300"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 27 11:38:57 2012 -0700"
      },
      "message": "Add getdelim(3) and getline(3) to bionic\n\nSome userspace programs (e.g. perf) need getline.\n\nChanges:\n() add getdelim.c, getline.c from NetBSD (http://netbsd.org/) under the\nNetBSD Foundation\u0027s (TNF) license (\"2 clause\" Berkeley-style license).\n() add stub for reentrant.h header that is needed by getdelim.c\n() add tests for getdelim(3) and getline(3).\n() update NOTICE file.\n\nChange-Id: I22ed82dd5904b9d7a3695535c04f502be3c27c5d\nSigned-off-by: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\n"
    },
    {
      "commit": "ac184b21425a0681c51ef152f0567168b575da49",
      "tree": "08d0842acb148aa0ec9c01a455cefb28240b8fe6",
      "parents": [
        "8e630dacf61307e4681f04fc6b5ee593f30d91d0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 26 14:20:22 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 26 14:20:22 2012 -0700"
      },
      "message": "Fix several compiler warnings.\n\nChange-Id: I55caa50a5937442734f4fcbdb4edf1c70f335bf8\n"
    },
    {
      "commit": "5e58ea07d47c175abf8285ff67e3e9bc0b3a9e8e",
      "tree": "c051dace0b3f96c377b92071e8d2923fb9449e89",
      "parents": [
        "e895e6deaab620f874b3e9f196eb6b67f58dc278"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Sep 12 13:21:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 13 16:54:57 2012 -0700"
      },
      "message": "libc: add ftw / nftw functions\n\nPlease see \"man 3 ftw\" for a description of the\nftw / nftw functions.\n\nThis code is taken directly from netbsd unmodified.\n\nChange-Id: Ia4879ac57212b424adf5281b5e92858e216d0f14\n"
    },
    {
      "commit": "b5f053b5a7deb084e7a052d527e0aa41339ae05c",
      "tree": "a75d6715f7c7c954d22440b8c21c59b01d87e83d",
      "parents": [
        "4a9b7c694a8312160d3cd953a8227c23a1624868"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Sat Sep 08 09:17:54 2012 +0300"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 13 15:18:21 2012 -0700"
      },
      "message": "Make strerror(3) and strsignal(3) thread-safe, and add psignal(3) and psiginfo(3).\n\nChange-Id: I426109db25e907980d6cb3a7a695796e45783b78\n"
    },
    {
      "commit": "cc213f871bf4c5329eb5eb7a80a0ce9d4a880af8",
      "tree": "614352f0342e88315e758fbf63e35172578f260d",
      "parents": [
        "53493a9b26e9fb665de590abf3502af94eaf3f44"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 14 15:32:42 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 15 15:39:11 2012 -0700"
      },
      "message": "Switch to the current NetBSD regex implementation.\n\nChange-Id: If32b28dd85d6a7ab8957ab81d19fa4c0de9499d5\n"
    },
    {
      "commit": "409302f0f9fce73ea4c82bbfd439041cd7923d34",
      "tree": "bc23c82d6b9a68cfe2b114496399e1561d5db749",
      "parents": [
        "54655eaf92ca91bfe2fa293896059a181e27b6eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 17:02:11 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 17:41:49 2012 -0700"
      },
      "message": "Switch to upstream NetBSD tdelete/tfind/tsearch.\n\ntdestroy is a GNU extension, so that stays.\n\nChange-Id: Iedebaff25ea7e92b1ab1dd4440da12b67b99aa40\n"
    },
    {
      "commit": "3d2d448af1b16923f5a329b49bb8e658dbad8a06",
      "tree": "afbfdd1719af181d8bab2a52cabb938ae3a1f425",
      "parents": [
        "b66bc51423a1f3969d0e70e035126ac4c4898b50"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:38:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:38:29 2012 -0700"
      },
      "message": "Fix nice...\n\n...by switching to the NetBSD implementation.\n\nChange-Id: I562b27b237a24ded95804035cc322c7bff12ff59\n"
    },
    {
      "commit": "f8b3a920a895a53b207017249080087d562bd0d2",
      "tree": "ed13cbbfe8069cba7a30d206d503d4558ed28630",
      "parents": [
        "4ec9e343cf445c5032d9a782d2e92b1dba713e61"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 11:39:58 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 12:10:10 2012 -0700"
      },
      "message": "Revert \"Revert \"Switch to NetBSD\u0027s strxfrm(3).\"\"\n\nThis reverts commit 8793e7c7d21a0434d1b5e63364c88b2b125a3d29,\nand fixes the build by building upstream NetBSD source as a\nseparate library that\u0027s then swallowed whole into libc_common.\n\nChange-Id: I6c9317d8c48b5ccaf85a7b185bc07fb31176ff97\n"
    },
    {
      "commit": "8793e7c7d21a0434d1b5e63364c88b2b125a3d29",
      "tree": "a515a4be8d2881d734a6b1c2a2e4f1fdd0c43e1d",
      "parents": [
        "be1d78b0dc899a732c0e9d7515d3023e8004e368"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 11:36:17 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 11:36:17 2012 -0700"
      },
      "message": "Revert \"Switch to NetBSD\u0027s strxfrm(3).\"\n\nThis reverts commit be1d78b0dc899a732c0e9d7515d3023e8004e368\n\nChange-Id: I11a95db474796f3da004f27652b081d5ba4ec9b4\n"
    },
    {
      "commit": "be1d78b0dc899a732c0e9d7515d3023e8004e368",
      "tree": "46bb803853eec1e06ee940a04335aa38032b33a3",
      "parents": [
        "0836a7ffb13890558fe568119b023007cce66373"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 11:03:02 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 10 11:03:02 2012 -0700"
      },
      "message": "Switch to NetBSD\u0027s strxfrm(3).\n\nThere were two bugs in our implementation. Intel found one, but another\nremainined, and tracking upstream is the way forward for functions where\nwe add no value.\n\nChange-Id: Ida9bac0293fb2c4cbc942b1e0515ee0477c6538b\n"
    }
  ]
}
