)]}'
{
  "commit": "6c597be1c65c4619773fdd685d2fe48252794332",
  "tree": "f39d01fcf40119ed0f7f3d771b8e5b5f95cbccee",
  "parents": [
    "35771ff8afc2201b5cf5b884db5b3889edde06bc"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Jan 07 15:13:04 2019 -0600"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Mon Jan 07 22:39:55 2019 +0000"
  },
  "message": "Update tools.\n\nUnfortunately, this requires partially reverting\nhttps://boringssl-review.googlesource.com/31324. This is a mess.\n\nWhile clang proper includes a fuzzer driver, Chromium doesn\u0027t use it.\nChromium builds exclusively with fuzzer-no-link and links to its own\ncopy of the fuzzer runtime[1]. As of [2], Chromium\u0027s clang (which we use\non bots) no longer includes the driver, so we must mimic them.\n\nHowever, Chromium\u0027s setup is somewhat questionable because\nfuzzer-no-link pulls in libclang_rt.fuzzer_no_main which still includes\nmost of libclang_rt.fuzzer, just not the one main function[3]. It\nappears Chromium is actually linking two copies of\nlibclang_rt.fuzzer_no_main. Hopefully this mostly works out as Chromium\u0027s\nclang and libFuzzer should be relatively aligned, but it\u0027s not a good\nassumption for our build, which can take other Clangs too.\n\nThus, if you pass -DFUZZ\u003d1 as-is, we will assume you are using a\n\"normal\" Clang with all its relevant runtimes intact. If, however, you\nare using Chromium clang, you must drop the matching libFuzzer where the\nbots expected it and build with -DLIBFUZZER_FROM_DEPS\u003d1.\n\nThis involves no changes to the bots because we never actually unwound\nall the LIBFUZZER_FROM_DEPS bits before.\n\n[1] https://cs.chromium.org/chromium/src/testing/libfuzzer/BUILD.gn?rcl\u003dd21c49585f262e851e2984f96f52905782706325\u0026l\u003d14\n[2] https://chromium.googlesource.com/chromium/src/+/c79bf2ea4cf65431dccb57cb2a44528c284645a1\n[3] https://github.com/llvm-mirror/compiler-rt/blob/8ebc3668b07fc5cca6010265cd4795443f1c1bea/lib/fuzzer/CMakeLists.txt#L93-L107\n    https://github.com/llvm-mirror/compiler-rt/blob/8ebc3668b07fc5cca6010265cd4795443f1c1bea/lib/fuzzer/FuzzerMain.cpp\n\nChange-Id: I946b3c821c3d7e6def7e07f1381f58241611ba3d\nReviewed-on: https://boringssl-review.googlesource.com/c/34184\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "13ee364411d11a1ca90b738afea775b647d8a68b",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "2bc7febdb5c4e28070077f84dfc6b1c585afe424",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "03d0326c020e7fb2ac0bea7c983027f4e49baa27",
      "old_mode": 33188,
      "old_path": "fuzz/CMakeLists.txt",
      "new_id": "ac0703f854a16de62f9ba8b817ed2ba54b2adb78",
      "new_mode": 33188,
      "new_path": "fuzz/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "015f94dc194ac04f44e8764327c4d892e1a397a6",
      "old_mode": 33188,
      "old_path": "util/bot/DEPS",
      "new_id": "5d6e8cd9c0e4b6c8aafcf7ed19cb8c06a472a2a8",
      "new_mode": 33188,
      "new_path": "util/bot/DEPS"
    },
    {
      "type": "modify",
      "old_id": "9dbabe52cf400794bbdc09b27d58ac72b4061de1",
      "old_mode": 33261,
      "old_path": "util/bot/go/bootstrap.py",
      "new_id": "1a33c793b47d1a7f1a783d82e13b05c6df5c4948",
      "new_mode": 33261,
      "new_path": "util/bot/go/bootstrap.py"
    },
    {
      "type": "modify",
      "old_id": "0a91189532642ab6226e2aa2dcf391d0e336b413",
      "old_mode": 33188,
      "old_path": "util/bot/update_clang.py",
      "new_id": "b1f77767c67a49d26b2422f5841c7152fed8f016",
      "new_mode": 33188,
      "new_path": "util/bot/update_clang.py"
    }
  ]
}
