)]}'
{
  "commit": "9c49713ba8280deb1a1fcd7d018045ce0850115f",
  "tree": "625eb03be33ca430f83338411793db54ee5dfba5",
  "parents": [
    "6a2609dae219e4300dfc62b2a37f10b5c845547b"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Oct 03 17:35:52 2019 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu Oct 03 22:10:36 2019 +0000"
  },
  "message": "Add .note.GNU-stack at the source level.\n\nGNU-based toolchains on ELF platforms default the stack to executable\nand rely on a .note.GNU-stack section in *each* object file to flip it\noff. The compiler knows to do this for its object files, but assembly\ndoes everything by hand. See this link for details:\nhttps://www.airs.com/blog/archives/518\n\nWe do this in the cmake build by passing -Wa,--noexecstack to the\nassembler. However, since we have to deal with many buildsystems, it\nwould be more robust to put it in the source.\n\nIt\u0027s unclear whether this should be gated on ELF or Linux. The Gentoo\nand Ubuntu documents recommend checking for Linux with gas, but only ELF\nwith NASM.\nhttps://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart\nhttps://wiki.ubuntu.com/SecurityTeam/Roadmap/ExecutableStacks\n\nAt the same time, these links suggest it is an ELF-wide issue and not\njust Linux:\nhttps://github.com/golang/go/issues/5392\nhttps://reviews.freebsd.org/D11033\n\nhttps://github.com/openssl/openssl/issues/4575 also discusses this but\nthe rationale lists both ELF and non-ELF platforms, so it\u0027s unclear.\n\nTreat it as ELF-wide for now. We can revisit this if necessary.\n\nUpdate-Note: If there is a build failure due to .note.GNU-stack, holler.\nChange-Id: Ic59096aa1fc2bf5380a412c9991de22cb46c0faf\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/37984\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "905af0775dd99bdedcc12b2d75a5fad9ee1635cc",
      "old_mode": 33188,
      "old_path": "crypto/curve25519/asm/x25519-asm-arm.S",
      "new_id": "9a26adda3b9531bfac0e9042c884ee429b5dfc62",
      "new_mode": 33188,
      "new_path": "crypto/curve25519/asm/x25519-asm-arm.S"
    },
    {
      "type": "modify",
      "old_id": "ebaabd3da7a6225e1a97b7bd763f46f2e9ea9d43",
      "old_mode": 33188,
      "old_path": "crypto/hrss/asm/poly_rq_mul.S",
      "new_id": "0b684c3847fa48d1e206dc6f1fad5e4a1de0df77",
      "new_mode": 33188,
      "new_path": "crypto/hrss/asm/poly_rq_mul.S"
    },
    {
      "type": "modify",
      "old_id": "4dec2760b2f9c657e8eedf76b358bee32680f973",
      "old_mode": 33261,
      "old_path": "crypto/perlasm/arm-xlate.pl",
      "new_id": "adbd239e38454a6bd30f5dc3c36fa32b57b05696",
      "new_mode": 33261,
      "new_path": "crypto/perlasm/arm-xlate.pl"
    },
    {
      "type": "modify",
      "old_id": "0ce231f2569913caf1666b30186bebd8bb7a0ef8",
      "old_mode": 33188,
      "old_path": "crypto/perlasm/ppc-xlate.pl",
      "new_id": "f8e42a22da5e13cf60903e6c21c81625d5bb7c57",
      "new_mode": 33188,
      "new_path": "crypto/perlasm/ppc-xlate.pl"
    },
    {
      "type": "modify",
      "old_id": "f928411571edc5d97e9388c437c1e00fde199eef",
      "old_mode": 33261,
      "old_path": "crypto/perlasm/x86_64-xlate.pl",
      "new_id": "d2854cf497b28b432501ba9b8f11eec21ba95ec8",
      "new_mode": 33261,
      "new_path": "crypto/perlasm/x86_64-xlate.pl"
    },
    {
      "type": "modify",
      "old_id": "24f0fc158a742b556a9acad7f9f3788bb6fd3040",
      "old_mode": 33188,
      "old_path": "crypto/perlasm/x86asm.pl",
      "new_id": "b331cd4fd1beab9ce5fb28690fdcb3a4b45a4584",
      "new_mode": 33188,
      "new_path": "crypto/perlasm/x86asm.pl"
    },
    {
      "type": "modify",
      "old_id": "04f7c4cd61ae2c3985a2f8caf3b800712f1893f7",
      "old_mode": 33188,
      "old_path": "crypto/poly1305/poly1305_arm_asm.S",
      "new_id": "77b3c48e3525aa4c7130caf844ade04972e0435b",
      "new_mode": 33188,
      "new_path": "crypto/poly1305/poly1305_arm_asm.S"
    }
  ]
}
