)]}'
{
  "log": [
    {
      "commit": "4c0803d16504079f58c85f88f376c0d3842004c5",
      "tree": "82867b5f77ff846ec863f388c908898b8c0577ee",
      "parents": [
        "60103831eb96217983e9e98fc4ec88ae9f48a7c6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 08 16:52:59 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 11 13:21:35 2017 -0700"
      },
      "message": "Cast __builtin_swap64 to uint64_t.\n\nstrace 4.19 causes clang to emit a questionable warning:\n\n  external/strace/nlattr.c:254:35: error: format specifies type \u0027unsigned long\u0027 but the argument has type \u0027unsigned long long\u0027 [-Werror,-Wformat]\n                tprintf(\"htobe64(%\" PRIu64 \")\", be64toh(num));\n                                 ~~~            ^~~~~~~~~~~~\n  bionic/libc/include/sys/endian.h:100:20: note: expanded from macro \u0027be64toh\u0027\n  #define be64toh(x) htobe64(x)\n                     ^~~~~~~~~~\n  bionic/libc/include/sys/endian.h:80:17: note: expanded from macro \u0027htobe64\u0027\n  #define htobe64 __swap64\n                  ^\n  bionic/libc/include/sys/endian.h:48:18: note: expanded from macro \u0027__swap64\u0027\n  #define __swap64 __builtin_bswap64\n                   ^\n\nWhat\u0027s happened here is:\n\n* be64toh is __builtin_bswap64\n\n* PRIu64 is \"lu\"\n\n* __builtin_bswap64 is internally declared a \"ULLiULLi\"\n\nAll of which leads to the `unsigned long` !\u003d `unsigned long long` complaint.\n\nIt seems like __builtin_bswap64 should be ULiULi on 64-bit architectures,\nwhere `long` rather than `long long` is the natural way to refer to 64-bit\ntypes, as evidenced by the \"lu\" for PRIu64.\n\nAs long as clang behaves like this, though, we can work around it with a cast.\n\nAlso clean up the other casts in the file, be more consistent about whether\nthese function-like macros are defined with an argument, and remove an\nincorrect comment.\n\nBug: http://b/65495954\nTest: ran tests, built strace 4.19 without warnings\nChange-Id: I8e06d4bf71e95d62f556eab8661033e04d487e0d\n"
    },
    {
      "commit": "ff26a16c1de7be696719e9001f0707b7c55b52cf",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "9af9120091ceb96641d7c6c645fabad96db4bc0d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 17 22:34:21 2017 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 00:00:38 2017 +0000"
      },
      "message": "Re-submit \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 9af9120091ceb96641d7c6c645fabad96db4bc0d (a revert\nof 079bff4fa52b0c3c76057451cc9cdecf1827fce0), now the versioner bug is\nfixed.\n\nBug: http://b/64613623 # header bug\nBug: http://b/64802958 # versioner bug\nChange-Id: I1cb9d7832d4b3aecdc57a9285e2291443e59d02d\n"
    },
    {
      "commit": "9af9120091ceb96641d7c6c645fabad96db4bc0d",
      "tree": "0ac35e33169ae9b07c075a3c623148d2e974d14f",
      "parents": [
        "079bff4fa52b0c3c76057451cc9cdecf1827fce0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "message": "Revert \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 079bff4fa52b0c3c76057451cc9cdecf1827fce0.\n\nBroke builds with SANITIZE_HOST\u003daddress with an asan failure in versioner.\n\nChange-Id: I22b113fd5405589d1a25e5e137c450aaba1ade5f\n"
    },
    {
      "commit": "079bff4fa52b0c3c76057451cc9cdecf1827fce0",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "67e7bf137e00a6c9ef79396e40be6b1705a2758c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nSecond batch of headers...\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I8eef043dbf32afee8ff814e9d005f46aee8fa21f\n"
    },
    {
      "commit": "95fa061678400315ee757758bf5f9146176d47a0",
      "tree": "0b3428e9d7d274e79809471c1d7ae3896a10ff03",
      "parents": [
        "1d20532f5c5f8c1638735eb04586be82a7d0379c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 12:29:52 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 12:36:38 2016 -0700"
      },
      "message": "Rename __pure, __pure2, and __purefunc.\n\nThese names were pretty misleading (aka \"backwards\"), so switch to the\nsame obvious names glibc uses.\n\nTest: build.\nChange-Id: Ia98c9dbbccd0820386116562347654e84669034a\n"
    },
    {
      "commit": "9c8d711aa5ee3108a8e1e8959be9d0355ca0fa6a",
      "tree": "d860929c4008c8b28d5516c16e9b404bfd94fa5a",
      "parents": [
        "c713adeca1b840ea8f2fd94717e77316cb0a39c4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 13 13:23:42 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 13 14:14:43 2016 -0700"
      },
      "message": "Don\u0027t expose all BSD extensions.\n\nJust expose the ones that bionic historically leaked.\n\nAlso, many of the M_* constants in \u003cmath.h\u003e are actually POSIX.\n\nChange-Id: I6275df84c5866b872b71f1c8ed14e2aada12b793\n"
    },
    {
      "commit": "3ba55f8022f3d5c5ca94a3df46fa658eda791987",
      "tree": "9e500c17531ea742e86de6848cc10ebca7ef28cb",
      "parents": [
        "93bae32c27f41e55e1cf9a6f5f8a05fbc1feaf1d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 08 18:11:23 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 09 17:40:19 2016 -0700"
      },
      "message": "Rationalize visibility.\n\nIf it\u0027s C or POSIX, it\u0027s in. If it\u0027s BSD or GNU, it\u0027s guarded by __USE_BSD\nor __USE_GNU.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d194631\nChange-Id: Ife51a21c2b37b060db56780d29c929805b199cb6\n"
    },
    {
      "commit": "14adff1cfa06a3d4d3281a9bf7848b556d84c20d",
      "tree": "ce1fb2867f69e49f57d0bbe8a9099b09beda0c19",
      "parents": [
        "5a3d5cac642f9e58b2c510eab23789fb4fc3a753"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 12:00:55 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add versioning information to symbols.\n\nBug: http://b/28178111\nChange-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c\n"
    },
    {
      "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": "824f914caeb0a186557720a9c3a66e5b21880482",
      "tree": "9f689afe0727fd7f02ba9a28938cc203132e4ec5",
      "parents": [
        "3f1c604c9df459f5baecfdc04cbe8ecda07b70eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 09 19:44:42 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 09 19:44:42 2014 -0800"
      },
      "message": "Move BSD stuff together in \u003csys/endian.h\u003e.\n\nChange-Id: I8bb511840f3cd98d5008034e405d82e923bd3203\n"
    },
    {
      "commit": "56e017306eb55c5deea795f89d2fb657757b4164",
      "tree": "1e5fb8ca5c536803b35d3de3bca638282ecb60f3",
      "parents": [
        "aa0002de89ee4753bce6e4d714e5d4cc4d9709eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 08 20:32:11 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 08 20:35:08 2014 -0800"
      },
      "message": "Simplify our endian.h implementation.\n\nWe can rely on the compiler\u0027s builtins. Tested on arm, arm64, mips, x86,\nand x86-64.\n\nChange-Id: I0f774ed7e85b3c791a3178d8ef17c6500e6a9ace\n"
    },
    {
      "commit": "135b103fd9ac404e9499fe40c725c33f34f86af7",
      "tree": "4fa53e4a7cb7176a4e5d23d3e2f7655dc006c38b",
      "parents": [
        "17f8ef87b565d88c3b391d6d8de8818dec74c4d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 18:42:12 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 18:42:12 2014 -0700"
      },
      "message": "Fix \u003csys/endian.h\u003e uint32_t build failures.\n\nChange-Id: I833b51318f0bf7749073859b7ffacc668c27558e\n"
    },
    {
      "commit": "6a41b0fb0e589c4afc4ecbcf7c425f0aa40eaea4",
      "tree": "a333726f481bd9ca99db2a4ed5752d9b93c37b61",
      "parents": [
        "0ccef7ec5294b34902e07c26db55891d3eddb2be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 16:05:51 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 18:08:29 2014 -0700"
      },
      "message": "Flesh out \u003carpa/inet.h\u003e.\n\nUse the upstream OpenBSD implementations of these functions.\n\nAlso ensure we have symbols for htonl, htons, ntohl, and ntohs.\ngtest doesn\u0027t like us using the macro versions in ASSERT_EQ.\n\nBug: 14840760\nChange-Id: I68720e9aca14838df457d2bb27b999d5818ac2b5\n"
    },
    {
      "commit": "9afe2884c7fe11f862982fd550a2ead688f2044d",
      "tree": "69b97d715c09e405c76354e314de27b69723164e",
      "parents": [
        "12e8b76e5f799b2b8407bf354a9675577529d34b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 04 19:26:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 04 19:26:31 2014 -0800"
      },
      "message": "Kill \u003cmachine/_types.h\u003e.\n\nMost of \u003cmachine/_types.h\u003e was either unused, wrong, or identical across\nall 32-/64-bit architectures.\n\nI\u0027m not a huge fan of \u003csys/_types.h\u003e either, but moving the bits we need\nup into there is a step forward.\n\nBug: 12213562\nChange-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6\n"
    },
    {
      "commit": "cf820d7e96d572484cfd2ef436a4cfada6d38175",
      "tree": "72931a04845c0cc0edc1e2b34647e95d6417ad2f",
      "parents": [
        "a9ff09d1fc22292adc12cf99d4d44448d619b3cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 11:01:17 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 11:04:27 2013 -0800"
      },
      "message": "Add the glibc-compatible names to \u003csys/endian.h\u003e.\n\nAlso remove declarations for functions that don\u0027t exist; these\nare all macros.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d41769\nChange-Id: Ia3774ab2ff7d3c535f83774eac61068f9b11e194\n"
    },
    {
      "commit": "4fa35d8ae80c175425e9525831d7b6a71a3ada60",
      "tree": "aa349c2c944131991af7fcbcd91b1ab54c9c6b4e",
      "parents": [
        "0521ff8234cafcc61060961b2f856fcf4dae1e7d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 16:14:54 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 16:17:33 2012 -0800"
      },
      "message": "Fix \u003cendian.h\u003e and \u003csys/endian.h\u003e.\n\nPreviously we\u0027d been relying on getting the machine-specific \u003cendian.h\u003e\ninstead of the top-level \u003cendian.h\u003e, and \u003csys/endian.h\u003e was basically broken.\nNow, with this patch and the previous patch we should have \u003cendian.h\u003e\nand \u003csys/endian.h\u003e behaving the same. This is basically how NetBSD\u0027s endian.h\nworks, and was probably how ours was originally intended to work.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d39824\nChange-Id: I71de5a507e633de166013a658b5764df9e1aa09c\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
