)]}'
{
  "log": [
    {
      "commit": "9978a9a82e3b883b32a7a0bcd5cac18f31e7a68d",
      "tree": "fa4eb5a723f697521a7cc9b411dce1aba855738d",
      "parents": [
        "50e92795890c0d8b4bf54c535f66f3b2edf7bd59"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 29 18:11:32 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 29 18:11:32 2015 -0700"
      },
      "message": "Move __set_errno to ndk_cruft.cpp.\n\nChange-Id: I5caa1cc161961d2e4629429c0d406875b93cdbd0\n"
    },
    {
      "commit": "7efad83d430f4d824f2aaa75edea5106f6ff8aae",
      "tree": "5bc18249730f5d714eb12b877db4a601ed96fefe",
      "parents": [
        "c8f6b82f87d9e4ea385ce6d634220b369b76845a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 08 15:25:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 08 15:36:21 2014 -0700"
      },
      "message": "Ensure __set_errno is still visible on LP32.\n\nThe use of the .hidden directive to avoid going via the PLT for\n__set_errno had the side-effect of actually making __set_errno\nhidden (which is odd because assembler directives don\u0027t usually\naffect symbols defined in a different file --- you can\u0027t even\ncreate a weak reference to a symbol that\u0027s defined in a different\nfile).\n\nThis change switches the system call stubs over to a new always-hidden\n__set_errno_internal and has a visible __set_errno on LP32 just for\nbinary compatibility with old NDK apps.\n\nBug: 17423135\nChange-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b\n"
    },
    {
      "commit": "3d19a8319b9c27af8aa5cfbf495da0fe7fa62d3e",
      "tree": "a51591477e2f6f97ae56ae027d01ca1ff8c302ef",
      "parents": [
        "d4bc9ef83b36916d5e63c4c3e4a092381473ea52"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 14 18:56:23 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 12:11:38 2014 -0800"
      },
      "message": "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value\n\nbionic/libc/arch-arm64/syscalls/read.S ends with:\n    b.hi __set_errno\n    ret\nEND(read)\n\nIf __set_errno returns int, it will set w0 to 0xFFFFFFFF, which means\nx0 is 0x00000000FFFFFFFF.  When interpreted as a ssize_t that is\nINT_MAX, not -1.\n\nChange __set_errno to return long, which will cause x0 to be set instead\nof w0.\n\nChange-Id: I9f9ea0f2995928d2ea240eb2ff7758ecdf0ff412\n"
    },
    {
      "commit": "3198850ea125f746efabd1a81e3bd7cfa58cc600",
      "tree": "9f4a7d3ceab065e7169ec824cbe7249e1c6f6667",
      "parents": [
        "c019345a3a0f3ee8561e595917b75d6419ee4cc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 19:12:52 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 22 19:12:52 2013 -0700"
      },
      "message": "Unhide __set_errno for backwards compatibility.\n\nThis was in \u003cerrno.h\u003e, and people called it :-(\n\nChange-Id: I038490be77eb9372b3f31305ec580fa7b09c983e\n"
    },
    {
      "commit": "9aceab50155b17741faded1fb22e2daa51a07fb1",
      "tree": "d1a976cb41c6aa807c6b07f0e858f92ea5763b4f",
      "parents": [
        "94a34010c1f989032c0a4dc7a7a68d069ca23b1e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 12 14:57:30 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 12 17:43:58 2013 -0700"
      },
      "message": "Use the kernel\u0027s MAX_ERRNO in the syscall stubs.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d53104\nChange-Id: Iaabf7025b153e96dc5eca231a33a32d4cb7d8116\n"
    },
    {
      "commit": "cb2069bf69b14f0e76593e1ec4d1deb6fa15232c",
      "tree": "2aa24aece4d7a3b1d380f2edafb14967da9d1c0b",
      "parents": [
        "f21aa3b61ebc6b1a7c34265699f40bd9b5af7952"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 12 11:55:45 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 12 11:55:45 2013 -0700"
      },
      "message": "Support large errno values on ARM.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d53104\nChange-Id: Ic6c40be2dc50f0644a3d8b09ceae59c38f2d5b53\n"
    },
    {
      "commit": "4a9e837840fda3aaea48aeba85c7c7a8782d2586",
      "tree": "3d74d674ea208fda1676d51bc9d6feecc2cc6bc9",
      "parents": [
        "97b70b2bda47af46adf58dfde61050357114aa1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 11:58:57 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 12:05:18 2012 -0800"
      },
      "message": "Reduce the exposure of the __set_errno implementation detail.\n\nChange-Id: I395e1b46a9491e34fc53e71853e932ea90b3d1cc\n"
    },
    {
      "commit": "97b70b2bda47af46adf58dfde61050357114aa1f",
      "tree": "b9158b242f0beaacf3c9f6eb72fcc818cc812b87",
      "parents": [],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 10:06:53 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 10:07:19 2012 -0800"
      },
      "message": "Merge \"Replace .S version of x86 crtfiles with .c version\""
    }
  ]
}
