)]}'
{
  "commit": "672f6fc2486745d0cabc3aaeb4e0a3cd13b37b12",
  "tree": "232ff4f4cbaa8cbe360109535daa2a6c9a719662",
  "parents": [
    "36714fc8ee8764b2ae624d3c9dfdb1d798bb2924"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Feb 21 16:22:34 2018 -0500"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu Feb 22 22:28:15 2018 +0000"
  },
  "message": "Always use adr with __thumb2__.\n\nThumb2 addresses are a bit a mess, depending on whether a label is\ninterpreted as a function pointer value (for use with BX and BLX) or as\na program counter value (for use with PC-relative addressing). Clang\u0027s\nintegrated assembler mis-assembles this code. See\nhttps://crbug.com/124610#c54 for details.\n\nInstead, use the ADR pseudo-instruction which has clear semantics and\nshould be supported by every assembler that handles the OpenSSL Thumb2\ncode. (In other files, the ADR vs SUB conditionals are based on\n__thumb2__ already. For some reason, this one is based on __APPLE__, I\u0027m\nguessing to deal with an older version of clang assembler.)\n\nIt\u0027s unclear to me which of clang or binutils is \"correct\" or if this is\neven a well-defined notion beyond \"whatever binutils does\". But I will\nnote that https://github.com/openssl/openssl/pull/4669 suggests binutils\nhas also changed behavior around this before.\n\nSee also https://github.com/openssl/openssl/pull/5431 in OpenSSL.\n\nBug: chromium:124610\nChange-Id: I5e7a0c8c0f54a3f65cc324ad599a41883675f368\nReviewed-on: https://boringssl-review.googlesource.com/26164\nCommit-Queue: Steven Valdez \u003csvaldez@google.com\u003e\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "466a4ba05f5dcc78e5dee69719b7955a347497cb",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/asm/aes-armv4.pl",
      "new_id": "4b507ddc234ef3f387b9680db8e32f674dfbb608",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/asm/aes-armv4.pl"
    },
    {
      "type": "modify",
      "old_id": "fa1e434baa9ae1eca7423dd50345e04e161048dc",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/asm/bsaes-armv7.pl",
      "new_id": "775dbd5ee1a8279b3c0900186bc9da71b3c259b7",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/asm/bsaes-armv7.pl"
    }
  ]
}
