)]}'
{
  "log": [
    {
      "commit": "bf4c32df6b7c15c8ca80319410e7d37ddd39240b",
      "tree": "53aff078debd43e9453a1254571041e1252e17f8",
      "parents": [
        "6a4ddeb56ef2144e98437ae82f84b09ea785e411"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 17:51:42 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 26 17:51:42 2015 -0700"
      },
      "message": "Remove swap16/swap32/swap64 header pollution.\n\nThis seems to be obsolete BSD stuff, and the only references to it in the\ntree are people #undef\u0027ing it.\n\nBug: http://b/2735009\nChange-Id: Icde523ae2d15cf1025357d861f97b415e89e4f9a\n"
    },
    {
      "commit": "6a4ddeb56ef2144e98437ae82f84b09ea785e411",
      "tree": "c9649e4b9334ae6dfadd87b1a23df5d684dc9c30",
      "parents": [
        "1ab8251030407ec397009b46db025f8e9688abc8",
        "4f7a7ad3fed2ea90d454ec9f3cabfffb0deda8c4"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 26 22:30:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 26 22:30:35 2015 +0000"
      },
      "message": "Merge \"Implement Library Load Order Randomization\""
    },
    {
      "commit": "1ab8251030407ec397009b46db025f8e9688abc8",
      "tree": "069fef01477831a4f74098dda5fef9130bc92ceb",
      "parents": [
        "ca430d9787f1c11c2df8e908c64fe2ef2e6d54ed",
        "fa7752986da7a5cdd4f0cd9aff6c315ae0c83c0e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Oct 24 16:00:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 24 16:00:29 2015 +0000"
      },
      "message": "Merge \"Fix arm64 fenv warnings, and make warnings errors.\""
    },
    {
      "commit": "fa7752986da7a5cdd4f0cd9aff6c315ae0c83c0e",
      "tree": "069fef01477831a4f74098dda5fef9130bc92ceb",
      "parents": [
        "ca430d9787f1c11c2df8e908c64fe2ef2e6d54ed"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 15:42:27 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 16:41:17 2015 -0700"
      },
      "message": "Fix arm64 fenv warnings, and make warnings errors.\n\nEven though the control registers being read/written in fenv.c only\nhave 32 bits that are used, the instructions take a 64 bit register.\nMake sure the inline assembler in the macros use 64 bit values.\n\nVerified that before the change and after the change, the disassembly\nis exactly the same.\n\nIn addition, add -Werror to the cflags.\n\nChange-Id: I6603779327488c23e3aab13300edf2e02b101916\n"
    },
    {
      "commit": "ca430d9787f1c11c2df8e908c64fe2ef2e6d54ed",
      "tree": "67d4e8ae81f84cd10c799f0e0f37ebd9a089ee5c",
      "parents": [
        "e08ab4b4144b8c4c920221b403daa220b43df2fb",
        "a8184456229ace2b0255468e6b15aeb6509e27f7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 20:56:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 20:56:09 2015 +0000"
      },
      "message": "Merge \"Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.\""
    },
    {
      "commit": "e08ab4b4144b8c4c920221b403daa220b43df2fb",
      "tree": "313de0e902979526985e97aec31aae9e13e05792",
      "parents": [
        "c45f3bf3e691f48af63c5ea2bf7a348a698013ac",
        "cf1cbbe43293b05e564b9d044147efbcfbcc993e"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 23 20:54:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 20:54:00 2015 +0000"
      },
      "message": "Merge \"refactoring: introduce MappedFileFragment\""
    },
    {
      "commit": "a8184456229ace2b0255468e6b15aeb6509e27f7",
      "tree": "bb0e1d6bdc4571d8b68b292a02c41a335fcae56f",
      "parents": [
        "c45f3bf3e691f48af63c5ea2bf7a348a698013ac"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 12:32:52 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 23 12:32:52 2015 -0700"
      },
      "message": "Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.\n\nChange-Id: If4da9e46398ca5524f6f0680d70588e3dc7e80b4\n"
    },
    {
      "commit": "c45f3bf3e691f48af63c5ea2bf7a348a698013ac",
      "tree": "117eec6a39195e7edd7ead370513436698734abc",
      "parents": [
        "5edf077c5b92f0db212e45ed5402339a6e4c7334",
        "d26e780df66b9add4cf7e7ebb2f6c6749d1c5050"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Oct 23 04:26:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 04:26:54 2015 +0000"
      },
      "message": "Merge \"Use bionic lock in pthread_internal_t.\""
    },
    {
      "commit": "d26e780df66b9add4cf7e7ebb2f6c6749d1c5050",
      "tree": "117eec6a39195e7edd7ead370513436698734abc",
      "parents": [
        "5edf077c5b92f0db212e45ed5402339a6e4c7334"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Oct 22 20:07:56 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Oct 22 20:14:33 2015 -0700"
      },
      "message": "Use bionic lock in pthread_internal_t.\n\nIt removes calling to pthread_mutex_lock() at the beginning of new\nthread, which helps to support thread sanitizer.\n\nChange-Id: Ia3601c476de7976a9177b792bd74bb200cee0e13\n"
    },
    {
      "commit": "4f7a7ad3fed2ea90d454ec9f3cabfffb0deda8c4",
      "tree": "d2c2196b7f765aa3699b33dbd94b40112af98aa4",
      "parents": [
        "cf1cbbe43293b05e564b9d044147efbcfbcc993e"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 15 12:07:25 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 22 18:26:07 2015 -0700"
      },
      "message": "Implement Library Load Order Randomization\n\nBug: http://b/24047022\nChange-Id: I36e05b403bfbaae8542a95147f9114a8b9c8ac0e\n"
    },
    {
      "commit": "cf1cbbe43293b05e564b9d044147efbcfbcc993e",
      "tree": "4c838cec973542e1bfcfabe2e7478311eecfaa2c",
      "parents": [
        "5edf077c5b92f0db212e45ed5402339a6e4c7334"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 19 16:57:46 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 22 18:01:56 2015 -0700"
      },
      "message": "refactoring: introduce MappedFileFragment\n\nChange-Id: I97b0c1131711ed0ac13ab33e3357e99e0b6b1a4e\n"
    },
    {
      "commit": "5edf077c5b92f0db212e45ed5402339a6e4c7334",
      "tree": "aad5e36992033060d41618dc4ce9db973a7dfccb",
      "parents": [
        "5c495dacdadff9dfbe48be31d4b30c5fe75ac7db",
        "268a673bd1add941e331b2f53758242d939ca5b1"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 20 20:44:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 20 20:44:29 2015 +0000"
      },
      "message": "Merge \"Switch to LOCAL_SRC_FILES_EXCLUDE\""
    },
    {
      "commit": "268a673bd1add941e331b2f53758242d939ca5b1",
      "tree": "4d867ed419e663419a2e5aa6e8d126beeb931e70",
      "parents": [
        "d29ba555130f1e61164cf6186cd6a29c7aa14719"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 15 14:49:45 2015 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 20 11:58:28 2015 -0700"
      },
      "message": "Switch to LOCAL_SRC_FILES_EXCLUDE\n\nThis moves the generic arm/arm64/x86 settings into the main makefiles\nand makes the rest of them derivatives. This better aligns with how\nsoong handles arch/cpu variants.\n\nAlso updates the Android.bp to make it consistent with the make\nversions.\n\nChange-Id: I5a0275d992bc657459eb6fe1697ad2336731d122\n"
    },
    {
      "commit": "5c495dacdadff9dfbe48be31d4b30c5fe75ac7db",
      "tree": "d23c3707a1104240c4954021267156809f18ea01",
      "parents": [
        "f5ea085844c66e7a65709edd7485a49396e556ce",
        "747d30ebf368be8c4ec0455324bdac53204eb179"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Oct 20 18:23:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 20 18:23:22 2015 +0000"
      },
      "message": "Merge \"dlfcn: update ifdef around old_name_\""
    },
    {
      "commit": "747d30ebf368be8c4ec0455324bdac53204eb179",
      "tree": "d23c3707a1104240c4954021267156809f18ea01",
      "parents": [
        "f5ea085844c66e7a65709edd7485a49396e556ce"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Oct 20 14:06:25 2015 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Tue Oct 20 14:06:25 2015 -0400"
      },
      "message": "dlfcn: update ifdef around old_name_\n\nCommit 9185e04f72c16d2a66d92ac89b38ee926d7f706b changed the ifdef around\nold_name_ from __arm__ to __work_around_b_###__, but missed one place in\ndlfcn.cpp.  So if you do a build w/out that workaround for arm, you end\nup with a build failure:\nbionic/linker/dlfcn.cpp:275:27: error: no member named \u0027old_name_\u0027 in \u0027soinfo\u0027\n    strlcpy(__libdl_info-\u003eold_name_, __libdl_info-\u003esoname_, sizeof(__libdl_info-\u003eold_name_));\n            ~~~~~~~~~~~~  ^\nbionic/linker/dlfcn.cpp:275:82: error: no member named \u0027old_name_\u0027 in \u0027soinfo\u0027\n    strlcpy(__libdl_info-\u003eold_name_, __libdl_info-\u003esoname_, sizeof(__libdl_info-\u003eold_name_));\n                                                                   ~~~~~~~~~~~~  ^\n\nBug: 24425865\nChange-Id: Idbe1cc1c28083afeee6d90203c221f30f661c69c\n"
    },
    {
      "commit": "f5ea085844c66e7a65709edd7485a49396e556ce",
      "tree": "359ebd23a6320d702d05d9a318b23b3f164b67b1",
      "parents": [
        "d29ba555130f1e61164cf6186cd6a29c7aa14719",
        "b24d743f62106accb3720e482c32571a0cb2defb"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 20 01:01:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 20 01:01:19 2015 +0000"
      },
      "message": "Merge \"Remove deprecated use of ldm/stm in ARM setjmp.\""
    },
    {
      "commit": "b24d743f62106accb3720e482c32571a0cb2defb",
      "tree": "359ebd23a6320d702d05d9a318b23b3f164b67b1",
      "parents": [
        "d29ba555130f1e61164cf6186cd6a29c7aa14719"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 19 12:56:50 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 19 17:13:51 2015 -0700"
      },
      "message": "Remove deprecated use of ldm/stm in ARM setjmp.\n\nARM deprecates using the SP register in the register lists for ldm\nand stm, which LLVM emits a warning for.\n\nBug: http://b/25017080\nChange-Id: Ib427e3dfd5740e251f1ad91ebb66534e0d7b72a9\n"
    },
    {
      "commit": "d29ba555130f1e61164cf6186cd6a29c7aa14719",
      "tree": "bceef1291a48e7be64eb85c03b36d6de450f25d8",
      "parents": [
        "5fd94dfe3b36ee56e54d2002ad3a5e0fa8bff683",
        "fb8fd5076ea7ccc77960346e52b81134ccbb9ea3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 17 03:06:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 17 03:06:41 2015 +0000"
      },
      "message": "Merge \"Opt Brillo out of the ndk cruft.\""
    },
    {
      "commit": "5fd94dfe3b36ee56e54d2002ad3a5e0fa8bff683",
      "tree": "9877ab044722890fb8c67493318ae1369924a436",
      "parents": [
        "9c2122e803a01c80bef550eac2b24b5a79635a2a",
        "5dce8948b65cf9c2d81165056d914b999bb3a4d8"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 16 20:37:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 20:37:34 2015 +0000"
      },
      "message": "Merge \"Replace auto -\u003e const auto\u0026/auto\u0026\u0026\""
    },
    {
      "commit": "9c2122e803a01c80bef550eac2b24b5a79635a2a",
      "tree": "fd40fa10d70f2dea066c361b92e6aa8bb550bfb7",
      "parents": [
        "074efa02a7de67589c36f75222e3b45c3f15206a",
        "77f91c6d99c25fce4fbf9704aa6f7232fb624ff4"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 16 20:36:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 20:36:25 2015 +0000"
      },
      "message": "Merge \"Fix R_AARCH64_ABS/PREL relocations\""
    },
    {
      "commit": "77f91c6d99c25fce4fbf9704aa6f7232fb624ff4",
      "tree": "d10dc214af563d8081bcf72af4ef9e5bdbeb614a",
      "parents": [
        "198d13e8c25e69f7dbda3f5e1a3258b13fe8db5d"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 15 13:26:03 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 16 10:42:16 2015 -0700"
      },
      "message": "Fix R_AARCH64_ABS/PREL relocations\n\nAccording to specification arm64 relocations\nshould not use *reloc value.\n\nSee http://infocenter.arm.com/help/topic/com.arm.doc.ihi0056b/IHI0056B_aaelf64.pdf\nsection 4.6.5\n\nBug: http://b/24977219\nBug: http://b/24527155\nChange-Id: I3813255771f408ba957963c6ad56ed08e5110d83\n"
    },
    {
      "commit": "074efa02a7de67589c36f75222e3b45c3f15206a",
      "tree": "f0a3a229dda644b7dc8b7aee8cde8c8eacc7537a",
      "parents": [
        "c433a36fb5fb8a1050e8ecbd94d215123b829e07",
        "4e50d0247b9ace095e371865fad08b1a59672e3a"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 15 01:27:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 15 01:27:17 2015 +0000"
      },
      "message": "Merge \"Ensure that readlink has access to /proc/self/fd\""
    },
    {
      "commit": "4e50d0247b9ace095e371865fad08b1a59672e3a",
      "tree": "d74a75b036e8a17fdfbcd94edf05041f24ed9d9b",
      "parents": [
        "198d13e8c25e69f7dbda3f5e1a3258b13fe8db5d"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 14 11:15:45 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 14 18:24:54 2015 -0700"
      },
      "message": "Ensure that readlink has access to /proc/self/fd\n\n/proc/self/fd is not available when PR_DUMPABLE is set to 0\nwhich is default for the user builds. It leads to permission\ndenials on readlink.\n\nThis change fixes the problem by setting PR_DUMPABLE flag to 1\nfor readlink and restoring it\u0027s previous value after the call.\n\nBug: http://b/24912743\nChange-Id: I3fd179c5c6b56af96d6a15ee597024ccb15e1a13\n(cherry picked from commit cf92738fa5dee24050028a1235f815f2a0fd33b5)\n"
    },
    {
      "commit": "c433a36fb5fb8a1050e8ecbd94d215123b829e07",
      "tree": "a7646400dd2652655f845f4465f0cc876fd59731",
      "parents": [
        "198d13e8c25e69f7dbda3f5e1a3258b13fe8db5d",
        "3c8fc2fea9dac044f4903b0c315b5cda1c1f5301"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 14 23:47:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 14 23:47:41 2015 +0000"
      },
      "message": "Merge \"Move malloc dispatch table to __libc_globals.\""
    },
    {
      "commit": "198d13e8c25e69f7dbda3f5e1a3258b13fe8db5d",
      "tree": "465078034a19ad899b9a2d60110f3d66613e1ba6",
      "parents": [
        "11c2179d468bba3336c3a3e8418ddaa98f58afce",
        "5ca66528c5e02655d79b9930456e31aab887989e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 14 02:17:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 14 02:17:10 2015 +0000"
      },
      "message": "Merge \"make mmap fail on requests larger than PTRDIFF_MAX\""
    },
    {
      "commit": "11c2179d468bba3336c3a3e8418ddaa98f58afce",
      "tree": "a6da7d5b607717a6e917cf6f8c2cdf1a8ec0af00",
      "parents": [
        "30cd7065b6cd37342e23904cb512c409b8bbd4f1",
        "fae39d2bf9fb6f08da4a095f5fe3ff093bcdbee8"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 22:50:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 22:50:05 2015 +0000"
      },
      "message": "Merge \"Log dlopen failures caused by text relocations\""
    },
    {
      "commit": "fae39d2bf9fb6f08da4a095f5fe3ff093bcdbee8",
      "tree": "a6da7d5b607717a6e917cf6f8c2cdf1a8ec0af00",
      "parents": [
        "30cd7065b6cd37342e23904cb512c409b8bbd4f1"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 11:07:56 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 15:48:57 2015 -0700"
      },
      "message": "Log dlopen failures caused by text relocations\n\nSome apps will fail to load native libraries with\ntext relocations when switching target sdk version to M.\nIt could be hard to diagnose because some of them\nsuppress dlerror and/or UnsatisfiedLinkError.\n\nThis change unconditionally logs the error message making\nthe cause of the failure more visible to developers.\n\nBug: http://b/24876001\nChange-Id: I0477a0d1307d0879000f3a3a43b974b4cf34bdb2\n(cherry picked from commit f32b689d3dbe7a1317bce58d1d9bef9bba173c66)\n"
    },
    {
      "commit": "30cd7065b6cd37342e23904cb512c409b8bbd4f1",
      "tree": "0e69cd361e7de4ce1e0129195901602787160997",
      "parents": [
        "fb7f45b6a3242c9a9a547705de08cf59e6b7f935",
        "6f2d3104c82f81c1f0123a3cfb25ae670841d0ba"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 20:37:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 20:37:55 2015 +0000"
      },
      "message": "Merge \"Correctly resolve realpath for absolute paths\""
    },
    {
      "commit": "5dce8948b65cf9c2d81165056d914b999bb3a4d8",
      "tree": "04fb5f63005bb45d5fb19724f097002fa7737aad",
      "parents": [
        "fb7f45b6a3242c9a9a547705de08cf59e6b7f935"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 12:14:16 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 12:14:16 2015 -0700"
      },
      "message": "Replace auto -\u003e const auto\u0026/auto\u0026\u0026\n\nChange-Id: Ie484e5a296b5dd222a9545d8539d40d97a6c158c\n"
    },
    {
      "commit": "6f2d3104c82f81c1f0123a3cfb25ae670841d0ba",
      "tree": "0e69cd361e7de4ce1e0129195901602787160997",
      "parents": [
        "fb7f45b6a3242c9a9a547705de08cf59e6b7f935"
      ],
      "author": {
        "name": "Lazar Trsic",
        "email": "Lazar.Trsic@imgtec.com",
        "time": "Tue Oct 13 16:43:00 2015 +0200"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 10:57:41 2015 -0700"
      },
      "message": "Correctly resolve realpath for absolute paths\n\nIntroduced by: https://android-review.googlesource.com/174475\n\nChange-Id: I44e00040b28be167d5141454f919340afec6084e\n"
    },
    {
      "commit": "fb7f45b6a3242c9a9a547705de08cf59e6b7f935",
      "tree": "e3a57a15b0e9a8a5532a62639b92ae30b5be0750",
      "parents": [
        "a5ad727e7619f4497792d67ae05b8ef15315b362",
        "31740bfdb942399235e42ea920b6b717dfa0279c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 13 08:26:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 08:26:44 2015 +0000"
      },
      "message": "Merge \"Update timezone data to 2015g\""
    },
    {
      "commit": "a5ad727e7619f4497792d67ae05b8ef15315b362",
      "tree": "d8c61d541a49fb5cf7b79ff61292a1270aaf30fc",
      "parents": [
        "25cba7df5120a32b144769843781442031fc597b",
        "b28ffc77445c7aed5d4d817152421f6f1f2c4f6d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 13 01:34:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 01:34:59 2015 +0000"
      },
      "message": "Merge \"linker: Switch to clang\""
    },
    {
      "commit": "b28ffc77445c7aed5d4d817152421f6f1f2c4f6d",
      "tree": "1a18dbc9a9478f6123b45e55b9cfb7b64e26240b",
      "parents": [
        "e78392637d5086384a5631ddfdfa8d7ec8326ee3"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 12 16:27:32 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 12 18:20:26 2015 -0700"
      },
      "message": "linker: Switch to clang\n\nx86_64 gcc exports malloc/free and co functions because they\nare defined with visibility \"default\" somewhere in gcc builtins;\nand vector d-tors for some reason. Switching to clang fixes\nthis problem.\n\nBug: http://b/24785482\nChange-Id: I741503b4b446523e7ff3fb16de13ed99991fd0c0\n"
    },
    {
      "commit": "3c8fc2fea9dac044f4903b0c315b5cda1c1f5301",
      "tree": "dcd2fbd9d1caeda1869626f036492fba041d10ba",
      "parents": [
        "25cba7df5120a32b144769843781442031fc597b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 08 14:49:26 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 12 17:54:58 2015 -0700"
      },
      "message": "Move malloc dispatch table to __libc_globals.\n\nChange-Id: Ic20b980d1e8b6c2d4b773ebe336658fd17c737cb\n"
    },
    {
      "commit": "fb8fd5076ea7ccc77960346e52b81134ccbb9ea3",
      "tree": "0e6084d53c21060288800203d03f64c51c4f1346",
      "parents": [
        "25cba7df5120a32b144769843781442031fc597b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 17:53:48 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 17:53:48 2015 -0700"
      },
      "message": "Opt Brillo out of the ndk cruft.\n\nBug: http://b/24812426\nChange-Id: I6a858d8ceebce9e2285e5b12de9fd89d2b42b352\n"
    },
    {
      "commit": "25cba7df5120a32b144769843781442031fc597b",
      "tree": "79595f40434f33a870ac4b79b9916a9408b88a8a",
      "parents": [
        "e78392637d5086384a5631ddfdfa8d7ec8326ee3",
        "f0141dfab10a4b332769d52fa76631a64741297a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 20:33:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 20:33:04 2015 +0000"
      },
      "message": "Merge \"Make struct FILE opaque.\""
    },
    {
      "commit": "f0141dfab10a4b332769d52fa76631a64741297a",
      "tree": "79595f40434f33a870ac4b79b9916a9408b88a8a",
      "parents": [
        "e78392637d5086384a5631ddfdfa8d7ec8326ee3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 12:44:23 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 12:53:42 2015 -0700"
      },
      "message": "Make struct FILE opaque.\n\nBug: http://b/24807045\nChange-Id: I3cb4e436325a65bef3b203e3970e4d967101fcce\n"
    },
    {
      "commit": "e78392637d5086384a5631ddfdfa8d7ec8326ee3",
      "tree": "23708cbc794620a364626a65306b8f260048d506",
      "parents": [
        "1ab3f303d2e7c8cc498a28fc3c8d9ded1fc46994",
        "8ab433df132aa59db08b4548155d72574ad06421"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 12 15:20:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 12 15:20:29 2015 +0000"
      },
      "message": "Merge \"Fix stdio read after EOF behavior.\""
    },
    {
      "commit": "8ab433df132aa59db08b4548155d72574ad06421",
      "tree": "23708cbc794620a364626a65306b8f260048d506",
      "parents": [
        "1ab3f303d2e7c8cc498a28fc3c8d9ded1fc46994"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:57:26 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:57:26 2015 -0700"
      },
      "message": "Fix stdio read after EOF behavior.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d184847\nChange-Id: Ia20ce94007c2a09649f0763b1dc7ba959f2f618d\n"
    },
    {
      "commit": "1ab3f303d2e7c8cc498a28fc3c8d9ded1fc46994",
      "tree": "5b64425ff11fa3016e69f5a2b48112eea7177211",
      "parents": [
        "c6f704bf77576b2cf27decd8ee50c99aeeb9e209",
        "7b77cb35aff34ff56a0b63517267c6203f9d1119"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 10 00:39:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 10 00:39:11 2015 +0000"
      },
      "message": "Merge \"Fix inet_aton on LP32.\""
    },
    {
      "commit": "7b77cb35aff34ff56a0b63517267c6203f9d1119",
      "tree": "d81082b185a13a6b9c71be9379cd131ed7082f56",
      "parents": [
        "487a1823e8617011009eded8eae9a75c1f871887"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:27:41 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 17:36:05 2015 -0700"
      },
      "message": "Fix inet_aton on LP32.\n\nI wasn\u0027t checking for overflow. Luckily, I had a test that overflows on LP32.\n\nChange-Id: If2cf33d88f459eb26d0ce75f3c5ed192f516ab7a\n"
    },
    {
      "commit": "c6f704bf77576b2cf27decd8ee50c99aeeb9e209",
      "tree": "31257531a2e94fff9297e7b852b5715d2defb440",
      "parents": [
        "902ab8859f360d81d6bd03a76a77900743018a15",
        "68af0adeb9df27b3f538b0a57db426dea060db99"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 09 23:33:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 23:33:37 2015 +0000"
      },
      "message": "Merge \"utmp.h: add more ut_type defines\""
    },
    {
      "commit": "902ab8859f360d81d6bd03a76a77900743018a15",
      "tree": "6d2041d7c21174599ed9815d43f43b82568ffebd",
      "parents": [
        "73a91218d1f0b334b97648461b19eed96e6c4336",
        "fe9d0ed6cb10d5403e54d2dd12628a0ec345ae6e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 23:27:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 23:27:07 2015 +0000"
      },
      "message": "Merge \"Move setjmp cookie to a shared globals struct.\""
    },
    {
      "commit": "73a91218d1f0b334b97648461b19eed96e6c4336",
      "tree": "9afe2dc72f063df4b498aa1328be122e389fd777",
      "parents": [
        "487a1823e8617011009eded8eae9a75c1f871887",
        "93c0f5ee00d1357247fda333c9d49c8673c9c83b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 23:26:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 23:26:53 2015 +0000"
      },
      "message": "Merge \"Move VDSO pointers to a shared globals struct.\""
    },
    {
      "commit": "fe9d0ed6cb10d5403e54d2dd12628a0ec345ae6e",
      "tree": "6d2041d7c21174599ed9815d43f43b82568ffebd",
      "parents": [
        "93c0f5ee00d1357247fda333c9d49c8673c9c83b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 14:32:36 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 15:59:04 2015 -0700"
      },
      "message": "Move setjmp cookie to a shared globals struct.\n\nChange-Id: I59a4c187d61524c4e48655c4c6376dba0d41eee2\n"
    },
    {
      "commit": "93c0f5ee00d1357247fda333c9d49c8673c9c83b",
      "tree": "9afe2dc72f063df4b498aa1328be122e389fd777",
      "parents": [
        "487a1823e8617011009eded8eae9a75c1f871887"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 06 11:08:13 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 15:59:04 2015 -0700"
      },
      "message": "Move VDSO pointers to a shared globals struct.\n\nChange-Id: I01cbc9cf0917dc1fac52d9205bda2c68529d12ef\n"
    },
    {
      "commit": "68af0adeb9df27b3f538b0a57db426dea060db99",
      "tree": "1b71fc13c2efdc7ae724aa9e61c0ec9132ed9970",
      "parents": [
        "487a1823e8617011009eded8eae9a75c1f871887"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 09 18:48:51 2015 -0400"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@google.com",
        "time": "Fri Oct 09 18:52:49 2015 -0400"
      },
      "message": "utmp.h: add more ut_type defines\n\nThis fills out the defines that utmp.h normally offers on other systems\nsuch as glibc.\n\nBUG\u003d24810744\n\nChange-Id: If57f9ced22e8673f072245fce3f5c0f8e1f591e5\n"
    },
    {
      "commit": "487a1823e8617011009eded8eae9a75c1f871887",
      "tree": "2ae4b6063259078373cfad8ec42cadf1d8c98c8e",
      "parents": [
        "f41fe717655f01affc1d8244ff9efccc04d86620",
        "047866672c66e51b557721cf50ba101305c252d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 22:48:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 22:48:13 2015 +0000"
      },
      "message": "Merge \"Fix inet_addr/inet_aton/inet_network.\""
    },
    {
      "commit": "047866672c66e51b557721cf50ba101305c252d2",
      "tree": "194a46c65705c62e5a1cda529fadf31f89e47449",
      "parents": [
        "cc56abbb007e090b830f510df6cb300ae12e1a89"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 08 18:04:49 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 15:44:24 2015 -0700"
      },
      "message": "Fix inet_addr/inet_aton/inet_network.\n\nRewrite inet_addr and inet_network in terms of inet_aton, and reimplement\nthat to include all the missing error checks.\n\nBug: http://b/24754503\nChange-Id: I5dfa971c87201968985a0894df419f0fbf54768a\n"
    },
    {
      "commit": "f41fe717655f01affc1d8244ff9efccc04d86620",
      "tree": "610ce15d2a10902a1e8aa94ff40527c487768264",
      "parents": [
        "6a59289b06deafe5eed49d86753297c604eadc86",
        "9fb22a3ec4ec5217fc29bb3ee3a0f1076098151f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 22:35:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 22:35:24 2015 +0000"
      },
      "message": "Merge \"Sync with upstream tzcode (2015g).\""
    },
    {
      "commit": "9fb22a3ec4ec5217fc29bb3ee3a0f1076098151f",
      "tree": "f5dabc7347b8aaa83675e4468edbccc657ae2fca",
      "parents": [
        "cc56abbb007e090b830f510df6cb300ae12e1a89"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 07 17:13:40 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 09 15:15:39 2015 -0700"
      },
      "message": "Sync with upstream tzcode (2015g).\n\nThis is quite a large patch because we haven\u0027t updated for some time,\nbut the good news is that upstream is now thread-safe so a lot of our\nchanges go away in this update and the remaining diff is a lot smaller.\n\n(Note that our whitespace still doesn\u0027t match upstream. I use diff -wub\nto compare. Upstream doesn\u0027t even really have a consistent style. New\ncode seems to be two spaces, old code tabs.)\n\nFrom the intervening changelogs (eliding the changes that only affected\nthe tools, which we don\u0027t use):\n\n2014a:\n     An uninitialized-storage bug in \u0027localtime\u0027 has been fixed.\n     (Thanks to Logan Chien.)\n\n2014b:\n     \u0027zic\u0027 and \u0027localtime\u0027 no longer reject locations needing four\n     transitions per year for the forseeable future.  (Thanks to Andrew\n     Main (Zefram).)\n\n2014c:\n     \u003cNone\u003e\n\n2014d:\n     \u003cNone\u003e\n\n2014e:\n     \u003cNone\u003e\n\n2014f:\n     \u0027localtime\u0027, \u0027mktime\u0027, etc. now use much less stack space if\n     ALL_STATE is defined.  (Thanks to Elliott Hughes for reporting the\n     problem.)\n\n     Some lint has been removed when using GCC_DEBUG_FLAGS with GCC\n     4.9.0.\n\n2014g:\n     Unless NETBSD_INSPIRED is defined to 0, the tz library now\n     supplies functions for creating and using objects that represent\n     time zones. The new functions are tzalloc, tzfree, localtime_rz,\n     mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and\n     time2posix_z.  They are intended for performance: for example,\n     localtime_rz (unlike localtime_r) is trivially thread-safe without\n     locking.  (Thanks to Christos Zoulas for proposing NetBSD-inspired\n     functions, and to Alan Barrett and Jonathan Lennox for helping to\n     debug the change.)\n\n     If THREAD_SAFE is defined to 1, the tz library is now thread-safe.\n     Although not needed for tz\u0027s own applications, which are single-threaded,\n     this supports POSIX better if the tz library is used in multithreaded apps.\n\n     Some crashes have been fixed when zdump or the tz library is given\n     invalid or outlandish input.\n\n     The tz library no longer mishandles leap seconds on platforms with\n     unsigned time_t in time zones that lack ordinary transitions after 1970.\n\n     The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not\n     already defined, to make it easier to configure on common platforms.\n     Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.\n\n     Unless the new macro UNINIT_TRAP is defined to 1, the tz code now\n     assumes that reading uninitialized memory yields garbage values\n     but does not cause other problems such as traps.\n\n     If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now\n     more likely to guess right for ambiguous time stamps near\n     transitions where tm_isdst does not change.\n\n     If HAVE_STRFTIME_L is defined to 1, the tz library now defines\n     strftime_l for compatibility with recent versions of POSIX.\n     Only the C locale is supported, though.  HAVE_STRFTIME_L defaults\n     to 1 on recent POSIX versions, and to 0 otherwise.\n\n     tzselect -c now uses a hybrid distance measure that works better\n     in Africa.  (Thanks to Alan Barrett for noting the problem.)\n\n     The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,\n     or when time_tz is defined.\n\n     When HAVE_UTMPX_H is set the \u0027date\u0027 command now builds on systems\n     whose \u003cutmpx.h\u003e file does not define WTMPX_FILE, and when setting\n     the date it updates the wtmpx file if _PATH_WTMPX is defined.\n     This affects GNU/Linux and similar systems.\n\n     For easier maintenance later, some C code has been simplified,\n     some lint has been removed, and the code has been tweaked so that\n     plain \u0027make\u0027 is more likely to work.\n\n     The C type \u0027bool\u0027 is now used for boolean values, instead of \u0027int\u0027.\n\n     The long-obsolete LOCALE_HOME code has been removed.\n\n     The long-obsolete \u0027gtime\u0027 function has been removed.\n\n2014h:\n     The tz library\u0027s localtime and mktime functions now set tzname to a value\n     appropriate for the requested time stamp, and zdump now uses this\n     on platforms not defining TM_ZONE, fixing a 2014g regression.\n     (Thanks to Tim Parenti for reporting the problem.)\n\n     The tz library no longer sets tzname if localtime or mktime fails.\n\n     An access to uninitalized data has been fixed.\n     (Thanks to Jörg Richter for reporting the problem.)\n\n     When THREAD_SAFE is defined, the code ports to the C11 memory model.\n     A memory leak has been fixed if ALL_STATE and THREAD_SAFE are defined\n     and two threads race to initialize data used by gmtime-like functions.\n     (Thanks to Andy Heninger for reporting the problems.)\n\n2014i:\n     The time-related library functions now set errno on failure,\n     and some crashes in the new tzalloc-related library functions\n     have been fixed.  (Thanks to Christos Zoulas for reporting\n     most of these problems and for suggesting fixes.)\n\n     If USG_COMPAT is defined and the requested time stamp is\n     standard time, the tz library\u0027s localtime and mktime functions\n     now set the extern variable timezone to a value appropriate\n     for that time stamp; and similarly for ALTZONE, daylight\n     saving time, and the altzone variable.  This change is a\n     companion to the tzname change in 2014h, and is designed to\n     make timezone and altzone more compatible with tzname.\n\n     The tz library\u0027s functions now set errno to EOVERFLOW if they\n     fail because the result cannot be represented.  ctime and\n     ctime_r now return NULL and set errno when a time stamp is out\n     of range, rather than having undefined behavior.\n\n     Some bugs associated with the new 2014g functions have been\n     fixed.  This includes a bug that largely incapacitated the new\n     functions time2posix_z and posix2time_z.  (Thanks to Christos\n     Zoulas.)  It also includes some uses of uninitialized\n     variables after tzalloc.  The new code uses the standard type\n     \u0027ssize_t\u0027, which the Makefile now gives porting advice about.\n\n2014j:\n     \u003cNone\u003e\n\n2015a:\n     tzalloc now scrubs time zone abbreviations compatibly with the way\n     that tzset always has, by replacing invalid bytes with \u0027_\u0027 and by\n     shortening too-long abbreviations.\n\n2015b:\n     Fix integer overflow bug in reference \u0027mktime\u0027 implementation.\n     (Problem reported by Jörg Richter.)\n\n     Allow -Dtime_tz\u003dtime_t compilations, and allow -Dtime_tz\u003d... libraries\n     to be used in the same executable as standard-library time_t functions.\n     (Problems reported by Bradley White.)\n\n2015c:\n     \u003cNone\u003e\n\n2015d:\n     \u003cNone\u003e\n\n2015e:\n     \u003cNone\u003e\n\n2015f:\n     \u003cNone\u003e\n\n2015g:\n    localtime no longer mishandles America/Anchorage after 2037.\n    (Thanks to Bradley White for reporting the bug.)\n\n    On hosts with signed 32-bit time_t, localtime no longer mishandles\n    Pacific/Fiji after 2038-01-16 14:00 UTC.\n\n    The localtime module allows the variables \u0027timezone\u0027, \u0027daylight\u0027,\n    and \u0027altzone\u0027 to be in common storage shared with other modules,\n    and declares them in case the system \u003ctime.h\u003e does not.\n    (Problems reported by Kees Dekker.)\n\n    On platforms with tm_zone, strftime.c now assumes it is not NULL.\n    This simplifies the code and is consistent with zdump.c.\n    (Problem reported by Christos Zoulas.)\n\nChange-Id: I9eb0a8323cb8bd9968fcfe612dc14f45aa3b59d2\n"
    },
    {
      "commit": "6a59289b06deafe5eed49d86753297c604eadc86",
      "tree": "e09d437eb327b0dae3b764304d020ae7d3f16417",
      "parents": [
        "d8df28ff3833e620db1b61dd4038028dd160c870",
        "8068786ae67835291521e52f39c695e40f3ad20d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 09 21:09:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 21:09:46 2015 +0000"
      },
      "message": "Merge \"Remove textrels support for platform libs\""
    },
    {
      "commit": "8068786ae67835291521e52f39c695e40f3ad20d",
      "tree": "2084582ffb2fe35f30485df091f9dbbadd5c8dce",
      "parents": [
        "599af9346e3ea697dda1b0c38a99cce842154307"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 09 13:58:46 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Oct 09 13:59:42 2015 -0700"
      },
      "message": "Remove textrels support for platform libs\n\nBug: http://b/20013628\nChange-Id: Ia9382c7113e09bb6aed65072543e4ebe33026cf8\n"
    },
    {
      "commit": "d8df28ff3833e620db1b61dd4038028dd160c870",
      "tree": "7e73d646d94d5aea145a0f93ab83eab9cb60fbf4",
      "parents": [
        "599af9346e3ea697dda1b0c38a99cce842154307",
        "1b519c0ae436480881ab10d5b66a184afa4d4373"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 18:32:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 18:32:20 2015 +0000"
      },
      "message": "Merge \"Implement setjmp cookies on MIPS and MIPS64\""
    },
    {
      "commit": "31740bfdb942399235e42ea920b6b717dfa0279c",
      "tree": "e9f7c0b66b68b46c3da3bbe3238cbc07a861b86a",
      "parents": [
        "5c50449b0c098cb8191fe3f7791e91a7ec4f7029"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Oct 09 17:58:58 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Oct 09 17:58:58 2015 +0100"
      },
      "message": "Update timezone data to 2015g\n\n  Changes affecting future time stamps\n\n    Turkey\u0027s 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.\n    (Thanks to Fatih.)\n\n    Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.\n    (Thanks to Alexander Krivenyshev.)\n\n    Fiji\u0027s 2016 fall-back transition is scheduled for January 17, not 24.\n    (Thanks to Ken Rylander.)\n\n    Fort Nelson, British Columbia will not fall back on 2015-11-01. It has\n    effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.\n    New zone America/Fort_Nelson.  (Thanks to Matt Johnson.)\n\n  Changes affecting past time stamps\n\n    Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.\n\nBug: 24595281\nChange-Id: I7e4e4c53b4843110540f573ba82d3761c871c096\n"
    },
    {
      "commit": "1b519c0ae436480881ab10d5b66a184afa4d4373",
      "tree": "f3627acb1854d0c46db52bea2fd7f5e4bc0dbbbc",
      "parents": [
        "f96049062f04a922fda937aecc562517101a38cc"
      ],
      "author": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Tue Oct 06 18:39:49 2015 +0200"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Fri Oct 09 13:42:58 2015 +0200"
      },
      "message": "Implement setjmp cookies on MIPS and MIPS64\n\nBug: http://b/23942752\nChange-Id: Ie58892a97b5075d30d7607667251007cda99d38c\n"
    },
    {
      "commit": "599af9346e3ea697dda1b0c38a99cce842154307",
      "tree": "42a6f8d4e3eeda749beaab2c953263722b0a7d10",
      "parents": [
        "268f73917831e709bc6a201658c19ffb5c8cbfd1",
        "697e261d4b157fed6042a12df217eab0b22cb759"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 08 21:35:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 08 21:35:12 2015 +0000"
      },
      "message": "Merge \"Fix bionic_coverage for kati.\""
    },
    {
      "commit": "697e261d4b157fed6042a12df217eab0b22cb759",
      "tree": "33a072752d209b8f4ce5a6b3371fd79ea22b8003",
      "parents": [
        "cc56abbb007e090b830f510df6cb300ae12e1a89"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 08 14:04:53 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 08 14:04:53 2015 -0700"
      },
      "message": "Fix bionic_coverage for kati.\n\nKati won\u0027t override something set with :\u003d, only ?\u003d.\n\nNote that the actually reveals that our coverage build has been broken\nfor... some time. The issue is that we have static libraries built\nwith clang and others built with gcc linked into the same .so. If we\nuse both libclang_rt.profile and libgcov together, we get duplicate\nsymbol errors. If we only use one or the other, we don\u0027t have all the\nsymbols we need.\n\nThis will be fixed once chh\u0027s TLS stuff makes it into our clang and we\ncan start building libc_thread_atexit_impl with clang.\n\nChange-Id: I45d0f2e558a881ad8be71088102320724ced8fe5\n"
    },
    {
      "commit": "268f73917831e709bc6a201658c19ffb5c8cbfd1",
      "tree": "77db0c4e7a3d006ccfd04fa7ee46da521ac98cee",
      "parents": [
        "cc56abbb007e090b830f510df6cb300ae12e1a89",
        "a1feb117e4d5614548574f28dede3443e073512b"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 08 19:45:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 08 19:45:45 2015 +0000"
      },
      "message": "Merge \"Make dt_runpath work for libraries opened from apk\""
    },
    {
      "commit": "cc56abbb007e090b830f510df6cb300ae12e1a89",
      "tree": "590b3e23fff1bb613f51c1dbf05c4b876c5dbbb6",
      "parents": [
        "f96049062f04a922fda937aecc562517101a38cc",
        "8dbf02d76a245c102e11442305dd5393c4051dbb"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 21:17:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 07 21:17:47 2015 +0000"
      },
      "message": "Merge \"Add missing register preserve in x86/x86_64 longjmp.\""
    },
    {
      "commit": "8dbf02d76a245c102e11442305dd5393c4051dbb",
      "tree": "590b3e23fff1bb613f51c1dbf05c4b876c5dbbb6",
      "parents": [
        "f96049062f04a922fda937aecc562517101a38cc"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 13:51:59 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 14:01:45 2015 -0700"
      },
      "message": "Add missing register preserve in x86/x86_64 longjmp.\n\nChange-Id: I3fc442f819229640e9c0ec4f9c865d9bf0e70881\n"
    },
    {
      "commit": "a1feb117e4d5614548574f28dede3443e073512b",
      "tree": "6078618ff745b802f986119d0534433a8d7df2d1",
      "parents": [
        "748421beef0ed8625920a27b3753a79c2652b6ef"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 01 18:41:57 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 07 11:44:53 2015 -0700"
      },
      "message": "Make dt_runpath work for libraries opened from apk\n\nThis patch also fixes realpath for libraries opened directly\nfrom apks.\n\nBug: http://b/21960914\nBug: http://b/21961857\nChange-Id: I35ade661c87f1d448191f385811f6e9fd3cacf11\n"
    },
    {
      "commit": "f96049062f04a922fda937aecc562517101a38cc",
      "tree": "53104e7cd9aaf6dbd12214bb89a52d8cf3146741",
      "parents": [
        "98be6be171b3792c51d83d19f015052112f8ddbf",
        "bc6379d7da110d9164d5b34cdbebff2e4fc487b8"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Oct 07 17:05:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 07 17:05:29 2015 +0000"
      },
      "message": "Merge \"Remove the workaround which fixes JOB_COUNT in CTS test.\""
    },
    {
      "commit": "bc6379d7da110d9164d5b34cdbebff2e4fc487b8",
      "tree": "53104e7cd9aaf6dbd12214bb89a52d8cf3146741",
      "parents": [
        "98be6be171b3792c51d83d19f015052112f8ddbf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Oct 06 16:30:14 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Oct 06 16:30:14 2015 -0700"
      },
      "message": "Remove the workaround which fixes JOB_COUNT in CTS test.\n\nBug: 24376925\nChange-Id: Ib195ce1577ee9412068cc1b6223fc051b5bcfcaa\n"
    },
    {
      "commit": "98be6be171b3792c51d83d19f015052112f8ddbf",
      "tree": "5ae6db42253cfbba27320690953be165f658e892",
      "parents": [
        "df62e3171ca52cbdadb3c3edc93c42cfacbad054",
        "748421beef0ed8625920a27b3753a79c2652b6ef"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 05 20:17:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 05 20:17:39 2015 +0000"
      },
      "message": "am 748421be: Merge \"Fix linker tests\"\n\n* commit \u0027748421beef0ed8625920a27b3753a79c2652b6ef\u0027:\n  Fix linker tests\n"
    },
    {
      "commit": "748421beef0ed8625920a27b3753a79c2652b6ef",
      "tree": "6d8000cc0b0bc9f660a91722af2434efac6a9659",
      "parents": [
        "5c50449b0c098cb8191fe3f7791e91a7ec4f7029",
        "a0f187bec77cee6db1ecc12ff7e39ccabb66c078"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 05 20:10:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 05 20:10:26 2015 +0000"
      },
      "message": "Merge \"Fix linker tests\""
    },
    {
      "commit": "a0f187bec77cee6db1ecc12ff7e39ccabb66c078",
      "tree": "6d8000cc0b0bc9f660a91722af2434efac6a9659",
      "parents": [
        "5c50449b0c098cb8191fe3f7791e91a7ec4f7029"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 05 12:06:40 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 05 12:06:40 2015 -0700"
      },
      "message": "Fix linker tests\n\nChange-Id: I4794f2d9dcc5ceb419e1bf9151607a650eb801d9\n"
    },
    {
      "commit": "df62e3171ca52cbdadb3c3edc93c42cfacbad054",
      "tree": "3defa1eb4d3a31417387dfb46e191dc34caeb498",
      "parents": [
        "ee9dea83fbaf2261066fbb20e5942c147018c949",
        "5c50449b0c098cb8191fe3f7791e91a7ec4f7029"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 03 16:29:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 03 16:29:55 2015 +0000"
      },
      "message": "am 5c50449b: Merge \"Use const auto\u0026 in for loops.\"\n\n* commit \u00275c50449b0c098cb8191fe3f7791e91a7ec4f7029\u0027:\n  Use const auto\u0026 in for loops.\n"
    },
    {
      "commit": "5c50449b0c098cb8191fe3f7791e91a7ec4f7029",
      "tree": "1318497b782194c7ae533f88c1aabfca0affdc7d",
      "parents": [
        "f7cf8b2c1fbf6250e12d1e59aa353990eca4f109",
        "0b2acdfcc99ecf3ff36fc6337e14b171170f38cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 03 16:23:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 03 16:23:19 2015 +0000"
      },
      "message": "Merge \"Use const auto\u0026 in for loops.\""
    },
    {
      "commit": "0b2acdfcc99ecf3ff36fc6337e14b171170f38cf",
      "tree": "1318497b782194c7ae533f88c1aabfca0affdc7d",
      "parents": [
        "f7cf8b2c1fbf6250e12d1e59aa353990eca4f109"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 02 18:25:19 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 02 18:25:19 2015 -0700"
      },
      "message": "Use const auto\u0026 in for loops.\n\nChange-Id: Ic437c59797ee4e7dc38291da35c72d827bc89c8d\n"
    },
    {
      "commit": "ee9dea83fbaf2261066fbb20e5942c147018c949",
      "tree": "a6f2c708b4820cf22886f02c6c3c43057d05cf1f",
      "parents": [
        "a7d5919cc92db395a943d8f5094e47d50148c39c",
        "f7cf8b2c1fbf6250e12d1e59aa353990eca4f109"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 21:10:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 21:10:18 2015 +0000"
      },
      "message": "am f7cf8b2c: Merge \"bionic: tzset running hot\"\n\n* commit \u0027f7cf8b2c1fbf6250e12d1e59aa353990eca4f109\u0027:\n  bionic: tzset running hot\n"
    },
    {
      "commit": "f7cf8b2c1fbf6250e12d1e59aa353990eca4f109",
      "tree": "2b454044058ddcbb4fff664c99ca9d648eb84134",
      "parents": [
        "cf92ebcfe323ee2ea58168ed008d2a08565809ce",
        "d0578949ace9444e07e254f5baa592283baba304"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 21:04:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 21:04:50 2015 +0000"
      },
      "message": "Merge \"bionic: tzset running hot\""
    },
    {
      "commit": "d0578949ace9444e07e254f5baa592283baba304",
      "tree": "b8ff7f069442c04b7853acb41fb0bac73269ec55",
      "parents": [
        "4a65557d0ebd167e557958687f50510742cb238a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 13:15:07 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Oct 02 13:30:34 2015 -0700"
      },
      "message": "bionic: tzset running hot\n\nlogd makes a non-insignificant number of calls to localtime, 3% of\nthe time in logd is spent performing __system_property_get within the\ncontext of tzset_locked().\n\nBug: 23685592\nChange-Id: I75f8c2d436b60374e92c166b87393abda9487af7\n"
    },
    {
      "commit": "a7d5919cc92db395a943d8f5094e47d50148c39c",
      "tree": "fe34675dcbea91862948a6b53bdb4264cb630dee",
      "parents": [
        "27f2e04c8c31cb4fbcc842ff457a1a4e53b61f4d",
        "cf92ebcfe323ee2ea58168ed008d2a08565809ce"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 02 18:37:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 18:37:22 2015 +0000"
      },
      "message": "am cf92ebcf: Merge \"Use foreach loop to match setuid unsafe env vars.\"\n\n* commit \u0027cf92ebcfe323ee2ea58168ed008d2a08565809ce\u0027:\n  Use foreach loop to match setuid unsafe env vars.\n"
    },
    {
      "commit": "cf92ebcfe323ee2ea58168ed008d2a08565809ce",
      "tree": "7623de8a4d4281a1c7411058bffcbe2466543d3e",
      "parents": [
        "143409d75b093c89042e25cab1757d6b2bae8ec5",
        "a5d5d16c3c5679afd26e6bbc24215b7c20025ade"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 02 18:32:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 02 18:32:44 2015 +0000"
      },
      "message": "Merge \"Use foreach loop to match setuid unsafe env vars.\""
    },
    {
      "commit": "a5d5d16c3c5679afd26e6bbc24215b7c20025ade",
      "tree": "7623de8a4d4281a1c7411058bffcbe2466543d3e",
      "parents": [
        "143409d75b093c89042e25cab1757d6b2bae8ec5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 01 15:50:16 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 02 11:31:09 2015 -0700"
      },
      "message": "Use foreach loop to match setuid unsafe env vars.\n\nChange-Id: I1e94daefac8e601281f38c7ce29ba3172a4a60bb\n"
    },
    {
      "commit": "27f2e04c8c31cb4fbcc842ff457a1a4e53b61f4d",
      "tree": "dace9a7bf284ebbab87e35e3e2e8c81e453870b9",
      "parents": [
        "14b7c94f40c845715561d1f4031f650a03df0336",
        "143409d75b093c89042e25cab1757d6b2bae8ec5"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 01 22:11:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 01 22:11:31 2015 +0000"
      },
      "message": "am 143409d7: Merge \"Fix the comment\"\n\n* commit \u0027143409d75b093c89042e25cab1757d6b2bae8ec5\u0027:\n  Fix the comment\n"
    },
    {
      "commit": "143409d75b093c89042e25cab1757d6b2bae8ec5",
      "tree": "2bead4db6c0879ef69606e7b001cde4ebd70a7d0",
      "parents": [
        "4a65557d0ebd167e557958687f50510742cb238a",
        "7e039937b84ef8bc86da1dcd91c1a074f05a05bc"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 01 21:18:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 01 21:18:36 2015 +0000"
      },
      "message": "Merge \"Fix the comment\""
    },
    {
      "commit": "7e039937b84ef8bc86da1dcd91c1a074f05a05bc",
      "tree": "2bead4db6c0879ef69606e7b001cde4ebd70a7d0",
      "parents": [
        "4a65557d0ebd167e557958687f50510742cb238a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 01 14:02:19 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 01 14:02:19 2015 -0700"
      },
      "message": "Fix the comment\n\nChange-Id: Ic8126cf92d12851cccaa3e2e781f075c9f6c283a\n"
    },
    {
      "commit": "14b7c94f40c845715561d1f4031f650a03df0336",
      "tree": "bfe3c280068692453158fb58a6a75d94c41aea28",
      "parents": [
        "dc813fe338626b28a8e9066c81fac6dac0982af5",
        "4a65557d0ebd167e557958687f50510742cb238a"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Oct 01 05:33:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 01 05:33:49 2015 +0000"
      },
      "message": "am 4a65557d: Merge \"Remove invalid left shifts of -1.\"\n\n* commit \u00274a65557d0ebd167e557958687f50510742cb238a\u0027:\n  Remove invalid left shifts of -1.\n"
    },
    {
      "commit": "4a65557d0ebd167e557958687f50510742cb238a",
      "tree": "f5dd3b680263341904bdcb43a754c20f703b7a49",
      "parents": [
        "ad157a3c3353ba69d3bd155a7c09f9943a22f8d2",
        "23360cc4980213d375718b7c124ecc0a21a1b1b7"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Oct 01 05:23:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 01 05:23:14 2015 +0000"
      },
      "message": "Merge \"Remove invalid left shifts of -1.\""
    },
    {
      "commit": "dc813fe338626b28a8e9066c81fac6dac0982af5",
      "tree": "d12e83847a3db65561481ad42c06a00cdfff749d",
      "parents": [
        "8bb2141b7707b593245b77e3c73c26b7bb6f29fd",
        "ad157a3c3353ba69d3bd155a7c09f9943a22f8d2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 23:44:34 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 30 23:44:34 2015 +0000"
      },
      "message": "am ad157a3c: Merge \"Add a no dwarf version of assembler macros.\"\n\n* commit \u0027ad157a3c3353ba69d3bd155a7c09f9943a22f8d2\u0027:\n  Add a no dwarf version of assembler macros.\n"
    },
    {
      "commit": "8bb2141b7707b593245b77e3c73c26b7bb6f29fd",
      "tree": "0b4618175ae0017eaf67b881ea24132834cb24ae",
      "parents": [
        "889dd56428fdecedb55e11b990609993294561ff",
        "3230d96a10ab0cfa128487ef03fa5f08c77ebf20"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 23:44:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 30 23:44:12 2015 +0000"
      },
      "message": "am 3230d96a: Merge \"libc: krait: Use performance version of memcpy\"\n\n* commit \u00273230d96a10ab0cfa128487ef03fa5f08c77ebf20\u0027:\n  libc: krait: Use performance version of memcpy\n"
    },
    {
      "commit": "ad157a3c3353ba69d3bd155a7c09f9943a22f8d2",
      "tree": "70136c5a17d5a4b92e0931941af8a32cf496d4c0",
      "parents": [
        "3230d96a10ab0cfa128487ef03fa5f08c77ebf20",
        "8f8308c974169d7b9909db361e14cd257d47b2a7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 23:18:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 23:18:32 2015 +0000"
      },
      "message": "Merge \"Add a no dwarf version of assembler macros.\""
    },
    {
      "commit": "3230d96a10ab0cfa128487ef03fa5f08c77ebf20",
      "tree": "9f4bd34bd72d07df9dc0956b25f0e1c32a6e525c",
      "parents": [
        "a0b9cad07629439bab926373515d964253426a69",
        "1d0268c6b855531eedd297f1cb7e4ac5817c9103"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 22:54:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 22:54:09 2015 +0000"
      },
      "message": "Merge \"libc: krait: Use performance version of memcpy\""
    },
    {
      "commit": "8f8308c974169d7b9909db361e14cd257d47b2a7",
      "tree": "10db62f68da833df57b547d33532c0aa507512bc",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 15:32:15 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 30 15:32:15 2015 -0700"
      },
      "message": "Add a no dwarf version of assembler macros.\n\nFor the __release and __release_rt functions, the previous macros\nwould add a dwarf cfi entry for the function with no values. This works\nwith libunwind since it always tries the arm unwind information first.\n\nThis change removes those entries by creating a no dwarf version of the\nassembler macro.\n\nChange-Id: Ib93e42fff5a79b8d770eab0071fdee7d2afa988d\n"
    },
    {
      "commit": "1d0268c6b855531eedd297f1cb7e4ac5817c9103",
      "tree": "9f4bd34bd72d07df9dc0956b25f0e1c32a6e525c",
      "parents": [
        "a0b9cad07629439bab926373515d964253426a69"
      ],
      "author": {
        "name": "Brent DeGraaf",
        "email": "bdegraaf@codeaurora.org",
        "time": "Wed Oct 02 13:47:11 2013 +0000"
      },
      "committer": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Wed Sep 30 20:59:36 2015 +0000"
      },
      "message": "libc: krait: Use performance version of memcpy\n\nChange-Id: Iaa52635240da8b8746693186b66b69778e833c32\n"
    },
    {
      "commit": "889dd56428fdecedb55e11b990609993294561ff",
      "tree": "b430d526f355c80284ca542c7082b710c7bb8640",
      "parents": [
        "8cd1180904a0b8713c20feed5255bbedcfabe4e9",
        "a0b9cad07629439bab926373515d964253426a69"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 30 20:10:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 30 20:10:49 2015 +0000"
      },
      "message": "am a0b9cad0: Merge \"Optimize dlopen from a zip file\"\n\n* commit \u0027a0b9cad07629439bab926373515d964253426a69\u0027:\n  Optimize dlopen from a zip file\n"
    },
    {
      "commit": "a0b9cad07629439bab926373515d964253426a69",
      "tree": "1232e6e1bb6a8a2644ba3137cfdbf751b6c93496",
      "parents": [
        "c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c",
        "b48275045de93cce292faaf5170af3ead89b3746"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 30 19:11:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 19:11:30 2015 +0000"
      },
      "message": "Merge \"Optimize dlopen from a zip file\""
    },
    {
      "commit": "b48275045de93cce292faaf5170af3ead89b3746",
      "tree": "e45847472a1283a21f94f72de4b9869295e6369c",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Sep 28 16:38:31 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 30 10:47:11 2015 -0700"
      },
      "message": "Optimize dlopen from a zip file\n\nThis change makes dynamic linker reuse ZipArchiveHandles in\nld_library_path on dlopen to optimize the lookup of dt_needed\nlibraries.\n\nBug: http://b/21960534\nChange-Id: I65f897910d46dd2ffabdcb0b7842db2f127eee30\n"
    },
    {
      "commit": "8cd1180904a0b8713c20feed5255bbedcfabe4e9",
      "tree": "270182254c0a6e66ab339241c71a2b2a480f13e9",
      "parents": [
        "1c34fea8033d64b7f2c54366add908aba7fa44dc",
        "c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Sep 30 01:23:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 30 01:23:33 2015 +0000"
      },
      "message": "am c1eebd5f: Merge \"Fix the way to count online cpus.\"\n\n* commit \u0027c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c\u0027:\n  Fix the way to count online cpus.\n"
    },
    {
      "commit": "c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c",
      "tree": "e1253afb1080258d1e2b6f3c4d5954eb84b5edfb",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc",
        "cb6f599c44b144db26c13507dbd89805b8fe03be"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Sep 30 01:17:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 30 01:17:32 2015 +0000"
      },
      "message": "Merge \"Fix the way to count online cpus.\""
    },
    {
      "commit": "cb6f599c44b144db26c13507dbd89805b8fe03be",
      "tree": "2cd3dfa6f2d8b35b7c7db91a1b5c1a21a3875901",
      "parents": [
        "f16f4f8a6bac035db5f25538ddb4fe810d0719db"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 29 16:11:45 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Sep 29 17:49:37 2015 -0700"
      },
      "message": "Fix the way to count online cpus.\n\nRead /proc/stat to count online cpus is not correct for all android\nkernels. Change to reading /sys/devices/system/cpu/online instead.\n\nBug: 24376925\nChange-Id: I3785a6c7aa15a467022a9a261b457194d688fb38\n"
    },
    {
      "commit": "23360cc4980213d375718b7c124ecc0a21a1b1b7",
      "tree": "c633c09e1e5e99f9abfd7d68fc4f13b7bb74a744",
      "parents": [
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 29 09:28:41 2015 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 29 10:04:54 2015 -0700"
      },
      "message": "Remove invalid left shifts of -1.\n\nBug: 24492248\n\nShifting sign bits left is considered undefined behavior, so we need to\nswitch these uses to unsigned equivalents. The time_t-related code is\nupdated relative to upstream sources.\n\nChange-Id: I226e5a929a10f5c57dfcb90c748fdac34eb377c2\n"
    },
    {
      "commit": "1c34fea8033d64b7f2c54366add908aba7fa44dc",
      "tree": "b10a25e209a92ad1f06a14b89fe7efd654969638",
      "parents": [
        "289e58e83e62b600c2b1764c6f9cfd07f1717bdc",
        "8b279eadd3a635c31df9c570ab2144212bfd07cc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 23:11:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 28 23:11:58 2015 +0000"
      },
      "message": "am 8b279ead: Merge \"Pass -q is zip for test\"\n\n* commit \u00278b279eadd3a635c31df9c570ab2144212bfd07cc\u0027:\n  Pass -q is zip for test\n"
    },
    {
      "commit": "8b279eadd3a635c31df9c570ab2144212bfd07cc",
      "tree": "6cc0d8e6f587319feb0d24d86fed2d3f8bf4dd52",
      "parents": [
        "c80aa3f9e2be9f9390b1e11f8f2b67a2adbd1faa",
        "298d176813af58731063b4c403143cedf3803eb4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 23:07:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 28 23:07:04 2015 +0000"
      },
      "message": "Merge \"Pass -q is zip for test\""
    },
    {
      "commit": "298d176813af58731063b4c403143cedf3803eb4",
      "tree": "5e635cf3e43f2fd2fd30503c3f92612e6a7e9df8",
      "parents": [
        "4032d344d43d6495119bae41b5eaea3023d8d17b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 15:56:18 2015 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 15:56:18 2015 -0700"
      },
      "message": "Pass -q is zip for test\n\nPass -q to zip for dlext_testzip to avoid printing:\n  adding: empty_file.txt (stored 0%)\non every compile.\n\nBug: 24409581\nChange-Id: I2320f31182a9a332b3ef8b32a22561092ab5aceb\n"
    },
    {
      "commit": "289e58e83e62b600c2b1764c6f9cfd07f1717bdc",
      "tree": "019e622d742df7ee0a011c8ff8dae77a38626738",
      "parents": [
        "bfd9255ddba7db2e07de6483bf55f567c7f1f7a3",
        "c80aa3f9e2be9f9390b1e11f8f2b67a2adbd1faa"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 22:52:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 28 22:52:32 2015 +0000"
      },
      "message": "am c80aa3f9: Merge \"Turn common INFO messages down to VLOG(1)\"\n\n* commit \u0027c80aa3f9e2be9f9390b1e11f8f2b67a2adbd1faa\u0027:\n  Turn common INFO messages down to VLOG(1)\n"
    },
    {
      "commit": "c80aa3f9e2be9f9390b1e11f8f2b67a2adbd1faa",
      "tree": "3dc56509323e32cec7b79d6f5784926894be20a4",
      "parents": [
        "f16f4f8a6bac035db5f25538ddb4fe810d0719db",
        "4032d344d43d6495119bae41b5eaea3023d8d17b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 22:46:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 28 22:46:11 2015 +0000"
      },
      "message": "Merge \"Turn common INFO messages down to VLOG(1)\""
    },
    {
      "commit": "4032d344d43d6495119bae41b5eaea3023d8d17b",
      "tree": "82f95f90b7160e365ae07b4b0b51cc99de8d5de4",
      "parents": [
        "d5e8a0499b9efa147d45aabd47cfb2d2204c2323"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 15:30:37 2015 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 28 15:30:37 2015 -0700"
      },
      "message": "Turn common INFO messages down to VLOG(1)\n\nTurn messages that are printed on every run of relocation_packer down to\nVLOG(1) to clean up ninja build output.\n\nBug: 24409581\nChange-Id: I040aed6a7b4261eefa6f7278fa451180115b0716\n"
    }
  ],
  "next": "bfd9255ddba7db2e07de6483bf55f567c7f1f7a3"
}
