)]}'
{
  "commit": "846a22700f974a2e8b73b219104e6146b7f70964",
  "tree": "3743adbb5dd125816002f68df11d2b46a026818d",
  "parents": [
    "661266ea062f5139de5f1761b5fe637aab8f91a9"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Jan 06 11:12:06 2022 -0500"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Fri Jan 07 18:36:12 2022 +0000"
  },
  "message": "Switch __ARM_FEATURE_CRYPTO to __ARM_FEATURE_{AES,SHA2}.\n\nThe latest version of ACLE splits __ARM_FEATURE_CRYPTO into two defines\nto reflect that, starting ARMv8.2, the cryptography extension can\ninclude {AES,PMULL} and {SHA1,SHA256} separately.\n\nAlso standardize on __ARM_NEON, which is the recommended symbol from\nACLE, and the only one defined on non-Apple aarch64 targets. Digging\nthrough GCC history, __ARM_NEON__ is a bit older.  __ARM_NEON was added\nin GCC\u0027s 9e94a7fc5ab770928b9e6a2b74e292d35b4c94da from 2012, part of GCC\n4.8.0.\n\nI suspect we can stop paying attention to __ARM_NEON__ at this point,\nbut I\u0027ve left both working for now. __ARM_FEATURE_{AES,SHA2} is definite\ntoo new to fully replace __ARM_FEATURE_CRYPTO.\n\nTested on Linux that -march\u003darmv8-a+aes now also drops the fallback AES\ncode. Previously, we would pick up -march\u003darmv8-a+crypto, but not\n-march\u003darmv8-a+aes. Also tested that, on an OPENSSL_STATIC_ARMCAP build,\n-march\u003darmv8-a+sha2 sets the SHA-1 and SHA-256 features.\n\nChange-Id: I749bdbc501ba2da23177ddb823547efcd77e5c98\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/50847\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "64b152005479f04f2f9ec116afacdd33627a7fa1",
      "old_mode": 33188,
      "old_path": "BUILDING.md",
      "new_id": "10645befdf20aed343e7d8d678bbf3321b64a6e3",
      "new_mode": 33188,
      "new_path": "BUILDING.md"
    },
    {
      "type": "modify",
      "old_id": "23c8d188d7f5c6349c9abbda18d8ce787f8968e5",
      "old_mode": 33188,
      "old_path": "crypto/cpu_aarch64_apple.c",
      "new_id": "55c20f8907b6c230127ef62d8a84e4710b113105",
      "new_mode": 33188,
      "new_path": "crypto/cpu_aarch64_apple.c"
    },
    {
      "type": "modify",
      "old_id": "4be91dc8d2897b9360659f3f3ef87e5a69f3ab40",
      "old_mode": 33188,
      "old_path": "crypto/crypto.c",
      "new_id": "af7e560afcb303c36054952468e28baa60278726",
      "new_mode": 33188,
      "new_path": "crypto/crypto.c"
    },
    {
      "type": "modify",
      "old_id": "558c45619af2b6835af40648b2e82a4369d80acf",
      "old_mode": 33188,
      "old_path": "crypto/hrss/hrss.c",
      "new_id": "8e21068ec408fdada417257c7eab7873f248f996",
      "new_mode": 33188,
      "new_path": "crypto/hrss/hrss.c"
    },
    {
      "type": "modify",
      "old_id": "593725066ce6349e511deb5b80db177e44b32200",
      "old_mode": 33188,
      "old_path": "crypto/internal.h",
      "new_id": "42f94d5dead475161fe9aab90a0c31ba9cd9f102",
      "new_mode": 33188,
      "new_path": "crypto/internal.h"
    }
  ]
}
