)]}'
{
  "commit": "628a8496e44ec8a096125cb0cdc3e63bb7dd8380",
  "tree": "efa4dbb4cf0b1afcaed803a14def2a33bc8bc1ae",
  "parents": [
    "30385f0f418b2c366acd7ef9bf6024b41bd4a1e1"
  ],
  "author": {
    "name": "Ivan Krasin",
    "email": "krasin@chromium.org",
    "time": "Mon Apr 17 14:08:34 2017 -0700"
  },
  "committer": {
    "name": "Ivan Krasin",
    "email": "krasin@chromium.org",
    "time": "Tue Apr 18 20:38:37 2017 +0000"
  },
  "message": "Fix SwiftShader\u0027s libEGL build under ThinLTO.\n\nLinking libEGL.so of the SwiftShader\u0027s flavor requires\nthe linker to be too smart (there\u0027s a heavy reliance on\ngarbage collecting unused symbols, for which there is\nno guarantees in the general case). In ThinLTO case,\ngarbage collection is still not as sofisticated, as in\nother cases, so it fails to link the target complaining\nabout undefined symbols.\n\nThe workaround is to prevent Clang from splitting the\nbitcode files in the question into two, and making the\nGC problem a bit easier.\n\nEventually, ThinLTO might get a better GC, but it might\nbe a good idea to not rely on this feature in the source\ncode. At least, no other targets in Chromium do.\n\nBUG\u003dchromium:686980\n\nChange-Id: Ib44f65c4825cc3f6cd24695738a71ca4661f0bfb\nReviewed-on: https://swiftshader-review.googlesource.com/9308\nTested-by: Ivan Krasin \u003ckrasin@chromium.org\u003e\nReviewed-by: Nicolas Capens \u003ccapn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71f8b70a0df1a3c656fdd7d88a13c3e964365911",
      "old_mode": 33188,
      "old_path": "src/OpenGL/libEGL/BUILD.gn",
      "new_id": "7538b6fa3cfb114d1dabf7fbeee3143f3092e06e",
      "new_mode": 33188,
      "new_path": "src/OpenGL/libEGL/BUILD.gn"
    }
  ]
}
