{
 "number": 36554,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/36554",
 "title": "cmake: Reject warnings in `check_cxx_source_compiles_with_flags()`, use `-msse4.1` for SHA-NI",
 "author": "hebasto",
 "author_association": "MEMBER",
 "created_at": "2026-10-16T13:29:11Z",
 "updated_at": "2026-10-30T19:23:43Z",
 "description_hash": "9a3aeca714ce2228",
 "age_days": 16,
 "draft": false,
 "labels": [
  "Build system"
 ],
 "milestone": "33.0",
 "base": "master",
 "head_sha": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f",
 "head_ref": "261016-source-flags",
 "head_repo": "hebasto/bitcoin",
 "head_history": [
  {
   "t": "2026-10-19T11:48:35Z",
   "sha": "f513f93c3406e113e764b5efc3296d77426999ea"
  },
  {
   "t": "2026-10-19T13:16:11Z",
   "sha": "4e1614850871e9d3ff6f0269b5d6beb5e05bb524"
  },
  {
   "t": "2026-10-19T14:13:47Z",
   "sha": "c8bc7dcfcaf1ea45f66cde9e1a0b8fea3ac9c594"
  },
  {
   "t": "2026-10-19T15:28:32Z",
   "sha": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f"
  }
 ],
 "additions": 20,
 "deletions": 14,
 "changed_files": 6,
 "commit_count": 7,
 "size_bucket": "S",
 "mergeable_state": "clean",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {
    "ack": [
     {
      "login": "hodlinator",
      "url": "https://github.com/bitcoin/bitcoin/pull/36554#pullrequestreview-5603936253"
     }
    ],
    "concept_ack": [
     {
      "login": "fanquake",
      "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6525823361"
     }
    ]
   },
   "conflicts": []
  }
 },
 "acks_parsed": {
  "hodlinator": {
   "kind": "ack",
   "hash": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f",
   "t": "2026-10-21T17:52:20Z",
   "stale": false
  },
  "fanquake": {
   "kind": "concept_ack",
   "hash": null,
   "t": "2026-10-30T14:57:39Z",
   "stale": false
  }
 },
 "acks_tally": {
  "ack": 1,
  "stale_ack": 0,
  "concept_ack": 1,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 2,
  "changes_requested": 0,
  "distinct_reviewers": [
   "fanquake",
   "hodlinator"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": false,
  "mergeable_state": "clean",
  "last_author_activity": "2026-10-19T19:45:03Z",
  "last_reviewer_activity": "2026-10-30T19:23:43Z",
  "last_reviewer": "hodlinator",
  "author_silent_days": 13,
  "waiting_on_author_days": 2,
  "days_since_update": 2
 },
 "refs": {
  "mentioned": [
   31507
  ],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [
   {
    "number": 31507,
    "type": "pull",
    "state": "open",
    "merged": false,
    "merged_at": null,
    "title": "build: Use clang-cl to build on Windows natively"
   }
  ],
  "conflicts": []
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [],
 "body": "This is a prerequisite for #31507.\n\n1. The first commit fixes a bug in the C++ atomic library check:\n```console\n$ git rev-parse HEAD\n01b51c0f1fa8af242fc37891d666c3d940045d80\n$ cmake -B build -DAPPEND_CXXFLAGS=\"-Wall -Werror\" 2>&1 | grep -A 8 STD_ATOMIC\n-- Performing Test STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC\n-- Performing Test STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC - Failed\n-- Performing Test STD_ATOMIC_NEEDS_LINK_TO_LIBATOMIC\n-- Performing Test STD_ATOMIC_NEEDS_LINK_TO_LIBATOMIC - Failed\nCMake Error at cmake/module/TestAppendRequiredLibraries.cmake:91 (message):\n  Cannot figure out how to use std::atomic.\nCall Stack (most recent call first):\n  cmake/introspection.cmake:23 (test_append_atomic_library)\n  CMakeLists.txt:453 (include)\n\n-- Configuring incomplete, errors occurred!\n```\n\n2. The second commit fixes a bug in the ARMv8 SHA-NI check:\n```console\n$ git rev-parse HEAD\ncd3353c6892e3c85bf6dc52b0e6bd98c493532b3\n$ cmake -B build -DAPPEND_CXXFLAGS=\"-Wall -Werror\" 2>&1 | grep HAVE_ARM_SHANI\n-- Performing Test HAVE_ARM_SHANI\n-- Performing Test HAVE_ARM_SHANI - Failed\n$ grep -A25 'HAVE_ARM_SHANI' build/CMakeFiles/CMakeConfigureLog.yaml\n      - \"Performing Test HAVE_ARM_SHANI\"\n    directories:\n      source: \"/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE\"\n      binary: \"/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE\"\n    cmakeVariables:\n      CMAKE_CXX_COMPILE_OBJECT: \"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>  -Wall -Werror\"\n      CMAKE_CXX_FLAGS: \"\"\n      CMAKE_CXX_FLAGS_RELWITHDEBINFO: \"-O2 -g\"\n      CMAKE_CXX_LINK_EXECUTABLE: \"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> \"\n      CMAKE_CXX_LINK_NO_PIE_SUPPORTED: \"1\"\n      CMAKE_EXE_LINKER_FLAGS: \"\"\n      CMAKE_MODULE_PATH: \"/home/hebasto/dev/bitcoin/cmake/module\"\n      CMAKE_POSITION_INDEPENDENT_CODE: \"ON\"\n    buildResult:\n      variable: \"HAVE_ARM_SHANI\"\n      cached: true\n      stdout: |\n        Change Dir: '/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE'\n\n        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_b4026/fast\n        /usr/bin/gmake  -f CMakeFiles/cmTC_b4026.dir/build.make CMakeFiles/cmTC_b4026.dir/build\n        gmake[1]: Entering directory '/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE'\n        Building CXX object CMakeFiles/cmTC_b4026.dir/src.cxx.o\n        /usr/bin/c++ -DHAVE_ARM_SHANI  -march=armv8-a+crypto -O2 -g -std=c++20 -fPIE -o CMakeFiles/cmTC_b4026.dir/src.cxx.o -c /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx  -Wall -Werror\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx: In function \u2018int main()\u2019:\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx:7:21: error: \u2018a\u2019 is used uninitialized [-Werror=uninitialized]\n            7 |       vsha256h2q_u32(a, b, c);\n              |       ~~~~~~~~~~~~~~^~~~~~~~~\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx:6:18: note: \u2018a\u2019 was declared here\n            6 |       uint32x4_t a, b, c;\n              |                  ^\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx:7:21: error: \u2018b\u2019 is used uninitialized [-Werror=uninitialized]\n            7 |       vsha256h2q_u32(a, b, c);\n              |       ~~~~~~~~~~~~~~^~~~~~~~~\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx:6:21: note: \u2018b\u2019 was declared here\n            6 |       uint32x4_t a, b, c;\n              |                     ^\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx:7:21: error: \u2018c\u2019 is used uninitialized [-Werror=uninitialized]\n            7 |       vsha256h2q_u32(a, b, c);\n              |       ~~~~~~~~~~~~~~^~~~~~~~~\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE/src.cxx:6:24: note: \u2018c\u2019 was declared here\n            6 |       uint32x4_t a, b, c;\n              |                        ^\n        cc1plus: all warnings being treated as errors\n        gmake[1]: *** [CMakeFiles/cmTC_b4026.dir/build.make:78: CMakeFiles/cmTC_b4026.dir/src.cxx.o] Error 1\n        gmake[1]: Leaving directory '/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-35fxFE'\n        gmake: *** [Makefile:127: cmTC_b4026/fast] Error 2\n\n      exitCode: 2\n```\n\n3. Fixed bugs in the SSE4.2 check:\n```console\n$ cmake -B build -DAPPEND_CXXFLAGS=\"-Wconversion -Werror\" 2>&1 | grep HAVE_SSE42\n-- Performing Test HAVE_SSE42\n-- Performing Test HAVE_SSE42 - Failed\n$ grep -A14 'HAVE_SSE42' build/CMakeFiles/CMakeConfigureLog.yaml\n      - \"Performing Test HAVE_SSE42\"\n    directories:\n      source: \"/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI\"\n      binary: \"/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI\"\n    cmakeVariables:\n      CMAKE_CXX_COMPILE_OBJECT: \"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>  -Wconversion -Werror\"\n      CMAKE_CXX_FLAGS: \"\"\n      CMAKE_CXX_FLAGS_RELWITHDEBINFO: \"-O2 -g\"\n      CMAKE_CXX_LINK_EXECUTABLE: \"<CMAKE_CXX_COMPILER> <FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> \"\n      CMAKE_CXX_LINK_NO_PIE_SUPPORTED: \"1\"\n      CMAKE_CXX_LINK_PIE_SUPPORTED: \"1\"\n      CMAKE_CXX_STDLIB_MODULES_JSON: \"\"\n      CMAKE_EXE_LINKER_FLAGS: \"\"\n      CMAKE_MODULE_PATH: \"/home/hebasto/dev/bitcoin/cmake/module\"\n      CMAKE_POSITION_INDEPENDENT_CODE: \"ON\"\n--\n      variable: \"HAVE_SSE42\"\n      cached: true\n      stdout: |\n        Change Dir: '/home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI'\n\n        Run Build Command(s): /usr/bin/ninja-build -v cmTC_88170\n        [1/2] /usr/lib64/ccache/c++ -DHAVE_SSE42  -msse4.2 -O2 -g -std=c++20 -fPIE -o CMakeFiles/cmTC_88170.dir/src.cxx.o -c /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI/src.cxx  -Wconversion -Werror\n        FAILED: [code=1] CMakeFiles/cmTC_88170.dir/src.cxx.o\n        /usr/lib64/ccache/c++ -DHAVE_SSE42  -msse4.2 -O2 -g -std=c++20 -fPIE -o CMakeFiles/cmTC_88170.dir/src.cxx.o -c /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI/src.cxx  -Wconversion -Werror\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI/src.cxx: In function \u2018int main()\u2019:\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI/src.cxx:11:22: error: conversion from \u2018uint64_t\u2019 {aka \u2018long unsigned int\u2019} to \u2018unsigned int\u2019 may change value [-Werror=conversion]\n           11 |     l = _mm_crc32_u8(l, 0);\n              |                      ^\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI/src.cxx:12:23: error: conversion from \u2018uint64_t\u2019 {aka \u2018long unsigned int\u2019} to \u2018unsigned int\u2019 may change value [-Werror=conversion]\n           12 |     l = _mm_crc32_u32(l, 0);\n              |                       ^\n        /home/hebasto/dev/bitcoin/build/CMakeFiles/CMakeScratch/TryCompile-fn8wHI/src.cxx:14:12: error: conversion from \u2018uint64_t\u2019 {aka \u2018long unsigned int\u2019} to \u2018int\u2019 may change value [-Werror=conversion]\n           14 |     return l;\n              |            ^\n        cc1plus: all warnings being treated as errors\n        ninja: build stopped: subcommand failed.\n\n      exitCode: 1\n```\n\n4. Similarly, the CLMUL check in minisketch was made warning-free.\n\n5. The sanitizer and fuzzer checks was made warning-free.\n\n6. We expect that neither the compiler flags nor the test source triggers any warnings, such as `-Wunknown-argument`. Therefore, append `working_compiler_werror_flag`, as done in [`try_append_cxx_flags()`](https://github.com/bitcoin/bitcoin/blob/master/cmake/module/TryAppendCXXFlags.cmake).\n\n7. `-msse4` is merely a synonym for `-msse4.2` in both GCC and Clang, but it is not accepted by the clang-cl frontend. Furthermore, the x86 SHA-NI code uses only SSE4.1 intrinsics and no SSE4.2 ones.\n\nReplace `-msse4` with `-msse4.1` to resolve both issues.\n\nThe absence of SSE4.2 usage can be verified by building with `-DAPPEND_CXXFLAGS=-mno-sse4.2`.",
 "commits": [
  {
   "sha": "cd3353c6892e3c85bf6dc52b0e6bd98c493532b3",
   "date": "2026-10-19T13:15:03Z",
   "message": "cmake: Add `[[maybe_unused]]` annotation to atomic library check\n\nThe check fails when `-Wall -Werror` are provided by the user as the\nunused `d1` variable triggers `-Wunused-variable`. Since the fallback\ncheck with `LINK_LIBRARIES atomic` compiles the same source, it fails\ntoo, and configuration aborts with \"Cannot figure out how to use\nstd::atomic.\""
  },
  {
   "sha": "53865a0addc240cb6db3ad03b2d578420990a243",
   "date": "2026-10-19T13:15:21Z",
   "message": "cmake: Initialize variables in ARMv8 SHA-NI check\n\nThe check fails when `-Wall -Werror` are provided by the user as\nuninitialized `uint32x4_t` arguments trigger `-Wuninitialized`. This\nresults in disabling the ARMv8 SHA-NI code path.\n\nThis is also a prerequisite for the following commit."
  },
  {
   "sha": "89bc05fe832d597c72f175e8a473555c963d5a7d",
   "date": "2026-10-19T14:12:52Z",
   "message": "cmake, crc32c: Make SSE4.2 check warning-free\n\nThe check fails when `-Wconversion -Werror` (GCC and Clang) or\n`-Weverything -Werror` (Clang) are provided by the user. This results\nin disabling the SSE4.2-based CRC32C implementation."
  },
  {
   "sha": "8ba6cb08dfafaa0dc5ee5f95f20ee4124bb518f2",
   "date": "2026-10-19T14:58:00Z",
   "message": "cmake, minisketch: Make CLMUL check warning-free\n\nThe check fails when `-Wsign-conversion -Werror` (GCC and Clang) or\n`-Weverything -Werror` (Clang) are provided by the user. This results\nin disabling the CLMUL-based implementation."
  },
  {
   "sha": "c4763b716db175fa106c47a1cd68abf07e762e6b",
   "date": "2026-10-19T15:27:26Z",
   "message": "cmake: Make sanitizer and fuzzer checks warning-free\n\nBoth checks fail when `-Wextra -Werror` (GCC and Clang), or\n`-Wmissing-declarations -Werror` (GCC) / `-Weverything -Werror` (Clang),\nare provided by the user."
  },
  {
   "sha": "9ab42235c1567442c73c3c0316a309c7d7a10283",
   "date": "2026-10-19T15:27:47Z",
   "message": "cmake: Treat warnings as errors in `CheckSourceCompilesWithFlags`\n\nWe expect that neither the compiler flags nor the test source triggers\nany warnings, such as `-Wunknown-argument`. Therefore, append\n`working_compiler_werror_flag`, as done in `try_append_cxx_flags`."
  },
  {
   "sha": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f",
   "date": "2026-10-19T15:28:02Z",
   "message": "cmake, crypto: Use `-msse4.1` instead of `-msse4` for x86 SHA-NI\n\n`-msse4` is merely a synonym for `-msse4.2` in both GCC and Clang, but\nit is not accepted by the clang-cl frontend. Furthermore, the x86\nSHA-NI code uses only SSE4.1 intrinsics and no SSE4.2 ones.\n\nReplace `-msse4` with `-msse4.1` to resolve both issues.\n\nThe absence of SSE4.2 usage can be verified by building with\n`-DAPPEND_CXXFLAGS=-mno-sse4.2`."
  }
 ],
 "timeline": [
  {
   "t": "2026-10-18T13:26:47Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "My Guix build:\n```\n$ uname -m && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum\naarch64\n9d31d8973c1c8c5a35ed4e22b6f74f0024a0642445f74952afa8c4003e96592a  guix-build-5ed82f396bd3/output/aarch64-linux-gnu/SHA256SUMS.part\nb8bc303a083912709ccf53ac4d68b4fbf10149956bc7494f79e8ae91c3e0f4b4  guix-build-5ed82f396bd3/output/aarch64-linux-gnu/bitcoin-5ed82f396bd3-aarch64-linux-gnu-debug.tar.gz\n28032c2327e405e38fbf839a766f7250c1652d67f2d19c52188ab4960575d8a3  guix-build-5ed82f396bd3/output/aarch64-linux-gnu/bitcoin-5ed82f396bd3-aarch64-linux-gnu.tar.gz\nbd1c26654aef6698a8d1022ea7cc1612629d85858642b6c192c776baaed748a8  guix-build-5ed82f396bd3/output/arm-linux-gnueabihf/SHA256SUMS.part\n7a1cea901fd33bfe81bbb2f47c288d08d3d92636c18da77a7c130d74bc864ce5  guix-build-5ed82f396bd3/output/arm-linux-gnueabihf/bitcoin-5ed82f396bd3-arm-linux-gnueabihf-debug.tar.gz\n88be12c9971eb3898abefe5bc7c08ceaf6dc88f38514194783343e1deef15545  guix-build-5ed82f396bd3/output/arm-linux-gnueabihf/bitcoin-5ed82f396bd3-arm-linux-gnueabihf.tar.gz\n77fd69e689c07177c0be11af3597f7b23e985c829c7421316e09bdd92c6e8bf3  guix-build-5ed82f396bd3/output/arm64-apple-darwin/SHA256SUMS.part\n7c8cd0d434510b79a796016b4a2e5568d3534255f5c1978be6c75a05aac966eb  guix-build-5ed82f396bd3/output/arm64-apple-darwin/bitcoin-5ed82f396bd3-arm64-apple-darwin-codesigning.tar.gz\n9c1ab7b15e06380cf9be7e810af88b5d136aad2d0a3345d8c48124fce4483109  guix-build-5ed82f396bd3/output/arm64-apple-darwin/bitcoin-5ed82f396bd3-arm64-apple-darwin-unsigned.tar.gz\n5c76137e4b1bbc7fe22d21e3d03a77fe6e3ef752a06741b974b4590113eb3ec6  guix-build-5ed82f396bd3/output/arm64-apple-darwin/bitcoin-5ed82f396bd3-arm64-apple-darwin-unsigned.zip\nfc0c03902adcc4daa4aa46d95841e8c24f6a99d5b53d358c0b2246bde69bf73b  guix-build-5ed82f396bd3/output/dist-archive/bitcoin-5ed82f396bd3.tar.gz\nad96042932b514fd9c1b8181a46c5415cdafa6943303826ba72bdfde89fb00f0  guix-build-5ed82f396bd3/output/powerpc64-linux-gnu/SHA256SUMS.part\nb29bc636504d08f26db7828bb0ebb5e11cdf4be16602101678c189c4ff8e32e2  guix-build-5ed82f396bd3/output/powerpc64-linux-gnu/bitcoin-5ed82f396bd3-powerpc64-linux-gnu-debug.tar.gz\n769cfce7e78376dee01eccf2a762da2df9918518495aee011c83fb9600bed96a  guix-build-5ed82f396bd3/output/powerpc64-linux-gnu/bitcoin-5ed82f396bd3-powerpc64-linux-gnu.tar.gz\nf0c820ada0a2cf9b787bbed05263f464a8b6d85f2d466d5fc5ba74fe97d6bc89  guix-build-5ed82f396bd3/output/riscv64-linux-gnu/SHA256SUMS.part\ndc3b831413a88916bdabdba244c4f293ccfe032b843cfe1e7567aa7247ca08a2  guix-build-5ed82f396bd3/output/riscv64-linux-gnu/bitcoin-5ed82f396bd3-riscv64-linux-gnu-debug.tar.gz\n2ce0df6763c6a3715aada4eddb66030548894d710ae4e0589e3b303180c29761  guix-build-5ed82f396bd3/output/riscv64-linux-gnu/bitcoin-5ed82f396bd3-riscv64-linux-gnu.tar.gz\n382ae833a21fe098d27211d209d8fbe4eb8585d3326ad9a45388b4292a125041  guix-build-5ed82f396bd3/output/x86_64-apple-darwin/SHA256SUMS.part\n5e2bede54182f56bf3556afd80a907b614b65bafe20c8f348457fbf3fa09e359  guix-build-5ed82f396bd3/output/x86_64-apple-darwin/bitcoin-5ed82f396bd3-x86_64-apple-darwin-codesigning.tar.gz\n5594559bd2534e2468a1dd953a2601629ea1feb0256154374a3e12a0b96a13df  guix-build-5ed82f396bd3/output/x86_64-apple-darwin/bitcoin-5ed82f396bd3-x86_64-apple-darwin-unsigned.tar.gz\nc0cf65702af3235b06a953d6c17b77509a59c42ee2da252caa67b1bf7e18cb02  guix-build-5ed82f396bd3/output/x86_64-apple-darwin/bitcoin-5ed82f396bd3-x86_64-apple-darwin-unsigned.zip\ne2d2ba13916d04c153f10e27faa86cc9a104aec637ddb67365c5bb1208812e33  guix-build-5ed82f396bd3/output/x86_64-linux-gnu/SHA256SUMS.part\ne3b0407d441de9775fc9ac3b48e3861d567a28d227758019aeb6e667d27b74a9  guix-build-5ed82f396bd3/output/x86_64-linux-gnu/bitcoin-5ed82f396bd3-x86_64-linux-gnu-debug.tar.gz\n28cf2d9ca8c9be1b11e91e652375620442e6e3487bc988650bb5c321a275bda0  guix-build-5ed82f396bd3/output/x86_64-linux-gnu/bitcoin-5ed82f396bd3-x86_64-linux-gnu.tar.gz\n85a10b8adbee77eb186f51cbddc51bea6b14092dc4fd107abfa9607828ad7d81  guix-build-5ed82f396bd3/output/x86_64-w64-mingw32/SHA256SUMS.part\n6fbeab537b266fa80197eb5a96b62ae4370c76f18de0f40090c90cb4ab3bb64a  guix-build-5ed82f396bd3/output/x86_64-w64-mingw32/bitcoin-5ed82f396bd3-win64-codesigning.tar.gz\n79488c3e53ea8d0523a3e49f17da2840608cfcf28062134c024bb42500ec2916  guix-build-5ed82f396bd3/output/x86_64-w64-mingw32/bitcoin-5ed82f396bd3-win64-debug.zip\n03256cc2cdd46565a232a5f91cb4106bd26f53e2832e8d15e4796c379f01ee4c  guix-build-5ed82f396bd3/output/x86_64-w64-mingw32/bitcoin-5ed82f396bd3-win64-setup-unsigned.exe\nb1a92e0e423e83b59dcefcb16b743fa9b4d280a07c72796ea433ef358e858d6d  guix-build-5ed82f396bd3/output/x86_64-w64-mingw32/bitcoin-5ed82f396bd3-win64-unsigned.zip\n```",
   "id": "c:6250466864",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6250466864",
   "hash": "8c6b5fd133eb6340",
   "edited": null
  },
  {
   "t": "2026-10-19T10:02:38Z",
   "kind": "review",
   "who": "hodlinator",
   "assoc": "MEMBER",
   "state": "APPROVED",
   "commit": "5ed82f396bd3a2e05a420ffb2dc00e74bcccbce8",
   "text": "ACK 5ed82f396bd3a2e05a420ffb2dc00e74bcccbce8\n\n```\n[quoted text omitted]\n...\n-- Performing Test HAVE_X86_SHANI\n-- Performing Test HAVE_X86_SHANI - Success\n```",
   "id": "r:5569905066",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#pullrequestreview-5569905066",
   "hash": "9a7c96431bfe36f3",
   "edited": null
  },
  {
   "t": "2026-10-19T11:48:35Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "f513f93c3406e113e764b5efc3296d77426999ea",
   "id": "push:f513f93c3406e113e764b5efc3296d77426999ea"
  },
  {
   "t": "2026-10-19T11:50:31Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "Pushed a new commit at the start of the branch that fixes a bug in the ARMv8 SHA-NI check.",
   "id": "c:6266528536",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6266528536",
   "hash": "8e7aef484ecb93ee",
   "edited": null
  },
  {
   "t": "2026-10-19T13:16:11Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "4e1614850871e9d3ff6f0269b5d6beb5e05bb524",
   "id": "push:4e1614850871e9d3ff6f0269b5d6beb5e05bb524"
  },
  {
   "t": "2026-10-19T13:27:35Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "Fixed another bug in the C++ atomic library check.\n\nThe PR description has been updated.",
   "id": "c:6268359847",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6268359847",
   "hash": "e3bd7ad65c76458b",
   "edited": null
  },
  {
   "t": "2026-10-19T14:13:47Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "c8bc7dcfcaf1ea45f66cde9e1a0b8fea3ac9c594",
   "id": "push:c8bc7dcfcaf1ea45f66cde9e1a0b8fea3ac9c594"
  },
  {
   "t": "2026-10-19T14:20:18Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "A new commit has been added to fix warnings in the SSE4.2 check, which effectively addresses ralph's [feedback](https://git.fish.foo/bitcoin/bitcoin/pulls/36554#issuecomment-610927):\n[quoted text omitted]",
   "id": "c:6269463068",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6269463068",
   "hash": "e10b21d1d9936902",
   "edited": null
  },
  {
   "t": "2026-10-19T15:28:32Z",
   "kind": "force_push",
   "who": "hebasto",
   "commit": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f",
   "id": "push:5bb7c5646a7f11e910c620107ba873bb4ecb3f3f"
  },
  {
   "t": "2026-10-19T19:45:03Z",
   "kind": "comment",
   "who": "hebasto",
   "assoc": "MEMBER",
   "text": "My Guix build:\n```console\n$ uname -m && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum\naarch64\n98c88dcf3688fbc24356ae86538d714afa1ac6555a80eb1c7827dec2e214a84c  guix-build-5bb7c5646a7f/output/aarch64-linux-gnu/SHA256SUMS.part\nac75136f48414a66f6a41a60cdd68dc91d143801d80dff80938bd3898cf3ff15  guix-build-5bb7c5646a7f/output/aarch64-linux-gnu/bitcoin-5bb7c5646a7f-aarch64-linux-gnu-debug.tar.gz\n1d28f87ee5cf6f4b5cd8f9dc2e927fe3d3d4049e88b7371d203f300c93101bbe  guix-build-5bb7c5646a7f/output/aarch64-linux-gnu/bitcoin-5bb7c5646a7f-aarch64-linux-gnu.tar.gz\n73c9afd13491af1e0de0eafbbadef44773237b30189a786a14837436e7e85122  guix-build-5bb7c5646a7f/output/arm-linux-gnueabihf/SHA256SUMS.part\n5d2bd89137715d25fb1a9a8f56499ab72c99708fff7cff70865a98daa2977fb6  guix-build-5bb7c5646a7f/output/arm-linux-gnueabihf/bitcoin-5bb7c5646a7f-arm-linux-gnueabihf-debug.tar.gz\n010a56207846f0e5f9b0259d69d0e238f9730f5ca3c98cb2de0431946257ec68  guix-build-5bb7c5646a7f/output/arm-linux-gnueabihf/bitcoin-5bb7c5646a7f-arm-linux-gnueabihf.tar.gz\n34b27813a4d5482a5f351e0112357e5192ed3f1e20555f0f2a18c3467a524477  guix-build-5bb7c5646a7f/output/arm64-apple-darwin/SHA256SUMS.part\nc11de16355d8c33d521d1f5fb17a769989d37109f40653d567a3c5333a28009b  guix-build-5bb7c5646a7f/output/arm64-apple-darwin/bitcoin-5bb7c5646a7f-arm64-apple-darwin-codesigning.tar.gz\nd1517583daee3ef64e1eb0138118972e2b8b20b23dbc85407d6c9303b8354c46  guix-build-5bb7c5646a7f/output/arm64-apple-darwin/bitcoin-5bb7c5646a7f-arm64-apple-darwin-unsigned.tar.gz\n67f30239efddb5e10a797270faa1f554800908c58bdd47d0bea3372e1297ae47  guix-build-5bb7c5646a7f/output/arm64-apple-darwin/bitcoin-5bb7c5646a7f-arm64-apple-darwin-unsigned.zip\n178fe06c9a779524a5c08adadd5c6cf61f68cee14a478145dc198677e82dcf3d  guix-build-5bb7c5646a7f/output/dist-archive/bitcoin-5bb7c5646a7f.tar.gz\n3905651693195a782fdf6d061bf38f7079df296ec91a6a5e6475dcf5f2179739  guix-build-5bb7c5646a7f/output/powerpc64-linux-gnu/SHA256SUMS.part\n7228743512aaed6df997ad7579a4fad413fd4019e2a0e72d9619ad8175045f98  guix-build-5bb7c5646a7f/output/powerpc64-linux-gnu/bitcoin-5bb7c5646a7f-powerpc64-linux-gnu-debug.tar.gz\n6990909c38be000650f4baea5a13272a163c3318e3d94220c777324bff4f8f74  guix-build-5bb7c5646a7f/output/powerpc64-linux-gnu/bitcoin-5bb7c5646a7f-powerpc64-linux-gnu.tar.gz\ncd35c3746e58eb7fe02376adb0a6ff7d2b936b686dd1f56c8ea9e9d54e70b250  guix-build-5bb7c5646a7f/output/riscv64-linux-gnu/SHA256SUMS.part\nfe5f385d18666ea9b3354212652630ab6c0ec2bf7e06162866f1514ffe06ecf1  guix-build-5bb7c5646a7f/output/riscv64-linux-gnu/bitcoin-5bb7c5646a7f-riscv64-linux-gnu-debug.tar.gz\n92389fd4c86c1ad5d84ef1e11071af0318ffef06998702a9341195ba44f404d8  guix-build-5bb7c5646a7f/output/riscv64-linux-gnu/bitcoin-5bb7c5646a7f-riscv64-linux-gnu.tar.gz\n3f182fa5f357e6d46cb764f767dcc094a104427ccd4b1eddc5e1363ca74d1d2e  guix-build-5bb7c5646a7f/output/x86_64-apple-darwin/SHA256SUMS.part\n96797e16f8813c62a25be2eff7893c0d728fbf56da1d735ccb495a558d3df987  guix-build-5bb7c5646a7f/output/x86_64-apple-darwin/bitcoin-5bb7c5646a7f-x86_64-apple-darwin-codesigning.tar.gz\n147c85aa4a3032aeb964bd7c912d86586f45af3d0011d1d61bc6668f6a13a8fe  guix-build-5bb7c5646a7f/output/x86_64-apple-darwin/bitcoin-5bb7c5646a7f-x86_64-apple-darwin-unsigned.tar.gz\n735008f74e33fa165a926cdebadc5cbd5141bb2b317014cb85814b8f1a46e5dd  guix-build-5bb7c5646a7f/output/x86_64-apple-darwin/bitcoin-5bb7c5646a7f-x86_64-apple-darwin-unsigned.zip\n2835ed82bc12f93fae786f1fee755edd15b51d84cce77ee92b0024d777be3c7f  guix-build-5bb7c5646a7f/output/x86_64-linux-gnu/SHA256SUMS.part\naea242c644076b6c5434d1b9304dc69f153146e0989a33438b3a629353edbe06  guix-build-5bb7c5646a7f/output/x86_64-linux-gnu/bitcoin-5bb7c5646a7f-x86_64-linux-gnu-debug.tar.gz\n5d036eb64b2a0858f404e78e7a3071e48a2930ac0cc279889f1fb9db570a771e  guix-build-5bb7c5646a7f/output/x86_64-linux-gnu/bitcoin-5bb7c5646a7f-x86_64-linux-gnu.tar.gz\n6fb65cda3efe7f1cf0545902e3dbc20bff2e4c37524c067dd6f5541b08b03410  guix-build-5bb7c5646a7f/output/x86_64-w64-mingw32/SHA256SUMS.part\nf1cbcf159f4e9149bfef1984bf1ede38fa0828974af10998cef79e4b71e1a752  guix-build-5bb7c5646a7f/output/x86_64-w64-mingw32/bitcoin-5bb7c5646a7f-win64-codesigning.tar.gz\nef7eb1ad38f1c1c8ebf3db85610f011904fb172de50fbbc48acfb249b2075b3a  guix-build-5bb7c5646a7f/output/x86_64-w64-mingw32/bitcoin-5bb7c5646a7f-win64-debug.zip\ne0f195e34b50a47881087d3fbc62ed9ad16508b4b61a2326ab51cc8611f60d6b  guix-build-5bb7c5646a7f/output/x86_64-w64-mingw32/bitcoin-5bb7c5646a7f-win64-setup-unsigned.exe\n66c4d1717240ffb273e62593f83c9173a9f482083d0833d4cced5b825eb4cf58  guix-build-5bb7c5646a7f/output/x86_64-w64-mingw32/bitcoin-5bb7c5646a7f-win64-unsigned.zip\n```",
   "id": "c:6275799127",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6275799127",
   "hash": "323a4381b64eced8",
   "edited": null
  },
  {
   "t": "2026-10-21T17:52:20Z",
   "kind": "review",
   "who": "hodlinator",
   "assoc": "MEMBER",
   "state": "APPROVED",
   "commit": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f",
   "text": "re-ACK 5bb7c5646a7f11e910c620107ba873bb4ecb3f3f\n\n* Tagged PR HEAD with \"block_commit_version\" (in order to reduce embedding of commit hash)\n* Did a Guix build, renamed the resulting guix folder.\n* Moved the tag to PR base\n* Did another Guix build.\n\nCompared CMakeConfigureLog.xml for each platform through:\n`diff <(cat /home/hodlinator/bitcoin/guix-build-block_commit_version/distsrc-block_commit_version-aarch64-linux-gnu/build/CMakeFiles/CMakeConfigureLog.yaml |grep -E \\(variable:\\|exitCode:\\)) <(cat /home/hodlinator/bitcoin/guix-build-block_commit_version_PR/distsrc-block_commit_version-aarch64-linux-gnu/build/CMakeFiles/CMakeConfigureLog.yaml |grep -E \\(variable:\\|exitCode:\\))`\n\nExample of output being diffed\n\n```\n\u20bf cat /home/hodlinator/bitcoin/guix-build-block_commit_version/distsrc-block_commit_version-x86_64-w64-mingw32/build/CMakeFiles/CMakeConfigureLog.yaml |grep -E \\(variable:\\|exitCode:\\)\n      variable: \"CMAKE_CXX_ABI_COMPILED\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WERROR\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__G3\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__G3\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__FTRAPV\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__FTRAPV\"\n      exitCode: 0\n      variable: \"HAVE_CTAD_FOR_AGGREGATES\"\n      exitCode: 0\n      variable: \"CMAKE_HAVE_LIBC_PTHREAD\"\n      exitCode: 0\n      variable: \"NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE\"\n      exitCode: 2\n      variable: \"HAVE_STDATOMIC\"\n      exitCode: 0\n      variable: \"HAVE_GETTIME\"\n      exitCode: 0\n      variable: \"HAVE_SHM_OPEN_SHM_UNLINK\"\n      exitCode: 2\n      variable: \"LINKER_SUPPORTS__WL___FATAL_WARNINGS\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WA__MUSE_UNALIGNED_VECTOR_MOVE\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__STATIC\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL___MAJOR_SUBSYSTEM_VERSION_6\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL___MINOR_SUBSYSTEM_VERSION_2\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WA__MBIG_OBJ\"\n      exitCode: 0\n      variable: \"HAVE_O_CLOEXEC\"\n      exitCode: 2\n      variable: \"HAVE_FDATASYNC\"\n      exitCode: 2\n      variable: \"HAVE_DECL_FORK\"\n      exitCode: 2\n      variable: \"HAVE_DECL_PIPE2\"\n      exitCode: 2\n      variable: \"HAVE_DECL_SETSID\"\n      exitCode: 2\n      variable: \"STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC\"\n      exitCode: 0\n      variable: \"HAVE_STD_SYSTEM\"\n      exitCode: 0\n      variable: \"STRERROR_R_CHAR_P\"\n      exitCode: 2\n      variable: \"HAVE_MALLOC_INFO\"\n      exitCode: 2\n      variable: \"HAVE_MALLOPT_ARENA_MAX\"\n      exitCode: 2\n      variable: \"HAVE_POSIX_FALLOCATE\"\n      exitCode: 2\n      variable: \"HAVE_STRONG_GETAUXVAL\"\n      exitCode: 2\n      variable: \"HAVE_SOCKADDR_UN\"\n      exitCode: 2\n      variable: \"HAVE_GETRANDOM\"\n      exitCode: 2\n      variable: \"HAVE_GETENTROPY_RAND\"\n      exitCode: 2\n      variable: \"HAVE_SYSCTL\"\n      exitCode: 2\n      variable: \"HAVE_SYSCTL_ARND\"\n      exitCode: 2\n      variable: \"HAVE_SSE41\"\n      exitCode: 0\n      variable: \"HAVE_AVX2\"\n      exitCode: 0\n      variable: \"HAVE_X86_SHANI\"\n      exitCode: 0\n      variable: \"HAVE_ARM_SHANI\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WALL\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WEXTRA\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WGNU\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WCOVERED_SWITCH_DEFAULT\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WFORMAT__WFORMAT_SECURITY\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WVLA\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WSHADOW_FIELD\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WTHREAD_SAFETY\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WTHREAD_SAFETY_POINTER\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WLOOP_ANALYSIS\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WREDUNDANT_DECLS\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WUNUSED_MEMBER_FUNCTION\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WUNUSED_CONST_VARIABLE\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WUNUSED_EXCEPTION_PARAMETER\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WDATE_TIME\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WCONDITIONAL_UNINITIALIZED\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WDUPLICATED_BRANCHES\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WDUPLICATED_COND\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WLOGICAL_OP\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WOVERLOADED_VIRTUAL\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WSUGGEST_OVERRIDE\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WIMPLICIT_FALLTHROUGH\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WUNREACHABLE_CODE\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WDOCUMENTATION\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WSELF_ASSIGN\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WBIDI_CHARS_ANY\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WUNDEF\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WLEADING_WHITESPACE_SPACES\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WTRAILING_WHITESPACE_ANY\"\n      exitCode: 2\n      variable: \"CXX_SUPPORTS__WUNUSED_PARAMETER\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__FNO_EXTENDED_IDENTIFIERS\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__FMACRO_PREFIX_MAP_A_B\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__FSTACK_REUSE_NONE\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__FSTACK_REUSE_NONE\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__WSTACK_PROTECTOR\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__FSTACK_PROTECTOR_ALL\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__FSTACK_PROTECTOR_ALL\"\n      exitCode: 0\n      variable: \"CXX_SUPPORTS__FCF_PROTECTION_FULL\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__FCF_PROTECTION_FULL\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL___ENABLE_RELOC_SECTION\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL___DYNAMICBASE\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL___NXCOMPAT\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL___HIGH_ENTROPY_VA\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL__Z_RELRO\"\n      exitCode: 2\n      variable: \"LINKER_SUPPORTS__WL__Z_NOW\"\n      exitCode: 2\n      variable: \"LINKER_SUPPORTS__WL__Z_SEPARATE_CODE\"\n      exitCode: 2\n      variable: \"LINKER_SUPPORTS__WL___EXCLUDE_LIBS_ALL\"\n      exitCode: 0\n      variable: \"LINKER_SUPPORTS__WL__NO_EXPORTED_SYMBOLS\"\n      exitCode: 2\n      variable: \"HAVE_BUILTIN_PREFETCH\"\n      exitCode: 0\n      variable: \"HAVE_MM_PREFETCH\"\n      exitCode: 0\n      variable: \"HAVE_SSE42\"\n      exitCode: 0\n      variable: \"HAVE_ARM64_CRC32C\"\n      exitCode: 2\n      variable: \"HAVE_FULLFSYNC\"\n      exitCode: 2\n      variable: \"HAVE_CLMUL\"\n      exitCode: 0\n      variable: \"CMAKE_C_ABI_COMPILED\"\n      exitCode: 0\n      variable: \"HAVE_X86_64_ASM\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WALL\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__PEDANTIC\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WCAST_ALIGN\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WCAST_ALIGN_STRICT\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WCONDITIONAL_UNINITIALIZED\"\n      exitCode: 2\n      variable: \"C_SUPPORTS__WEXTRA\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WLEADING_WHITESPACE_SPACES\"\n      exitCode: 2\n      variable: \"C_SUPPORTS__WNESTED_EXTERNS\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WNO_LONG_LONG\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WNO_OVERLENGTH_STRINGS\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WNO_UNUSED_FUNCTION\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WRESERVED_IDENTIFIER\"\n      exitCode: 2\n      variable: \"C_SUPPORTS__WSHADOW\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WSTRICT_PROTOTYPES\"\n      exitCode: 0\n      variable: \"C_SUPPORTS__WTRAILING_WHITESPACE_ANY\"\n      exitCode: 2\n      variable: \"C_SUPPORTS__WUNDEF\"\n      exitCode: 0\n```\n\nBuilt and compared:\n`x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu powerpc64-linux-gnu powerpc64le-linux-gnu x86_64-w64-mingw32`\n\nLimitation: Did not perform any Mac builds.",
   "id": "r:5603936253",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#pullrequestreview-5603936253",
   "hash": "2e7b302e6aea5918",
   "edited": null
  },
  {
   "t": "2026-10-30T14:57:39Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "Concept ACK",
   "id": "c:6525823361",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6525823361",
   "hash": "e8334cc43879b73c",
   "edited": null
  },
  {
   "t": "2026-10-30T19:23:43Z",
   "kind": "comment",
   "who": "hodlinator",
   "assoc": "MEMBER",
   "text": "I wish there more result states than just compiled/didn't compile.\n\nIt would almost be worth it to have a CI task that randomly enabled otherwise disabled features and attempted building anyway in order to catch cases where the test program fails due to some new warning on a single platform, where the production code would complete the build if compiled *without* warnings as errors.",
   "id": "c:6531649064",
   "url": "https://github.com/bitcoin/bitcoin/pull/36554#issuecomment-6531649064",
   "hash": "c64820ea7b4ff76d",
   "edited": null
  }
 ],
 "labels_log": [
  {
   "t": "2026-10-16T13:29:12Z",
   "action": "labeled",
   "label": "Build system",
   "who": "hebasto"
  },
  {
   "t": "2026-10-19T14:14:11Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-10-19T15:16:29Z",
   "action": "unlabeled",
   "label": "CI failed",
   "who": "DrahtBot"
  }
 ],
 "state_log": [
  {
   "t": "2026-10-18T06:22:53Z",
   "kind": "milestoned",
   "who": "hebasto"
  },
  {
   "t": "2026-10-19T11:58:46Z",
   "kind": "convert_to_draft",
   "who": "hebasto"
  },
  {
   "t": "2026-10-19T13:16:41Z",
   "kind": "ready_for_review",
   "who": "hebasto"
  }
 ],
 "text_chars": 28973,
 "text_tokens_estimate": 7243,
 "changed_paths": [
  "CMakeLists.txt",
  "cmake/crc32c.cmake",
  "cmake/introspection.cmake",
  "cmake/minisketch.cmake",
  "cmake/module/CheckSourceCompilesWithFlags.cmake",
  "cmake/module/TestAppendRequiredLibraries.cmake"
 ],
 "files": [
  {
   "path": "CMakeLists.txt",
   "add": 4,
   "del": 2
  },
  {
   "path": "cmake/crc32c.cmake",
   "add": 5,
   "del": 5
  },
  {
   "path": "cmake/introspection.cmake",
   "add": 4,
   "del": 2
  },
  {
   "path": "cmake/minisketch.cmake",
   "add": 2,
   "del": 2
  },
  {
   "path": "cmake/module/CheckSourceCompilesWithFlags.cmake",
   "add": 4,
   "del": 2
  },
  {
   "path": "cmake/module/TestAppendRequiredLibraries.cmake",
   "add": 1,
   "del": 1
  }
 ],
 "test_lines": 0,
 "git": {
  "head": "5bb7c5646a7f11e910c620107ba873bb4ecb3f3f",
  "head_matches_backup": true,
  "base": "01b51c0f1fa8af242fc37891d666c3d940045d80",
  "patch_id": "090ef41aa37ba8f4",
  "commits": [
   {
    "sha": "cd3353c689",
    "subject": "cmake: Add `[[maybe_unused]]` annotation to atomic library check",
    "files": 1,
    "add": 1,
    "del": 1
   },
   {
    "sha": "53865a0add",
    "subject": "cmake: Initialize variables in ARMv8 SHA-NI check",
    "files": 1,
    "add": 3,
    "del": 1
   },
   {
    "sha": "89bc05fe83",
    "subject": "cmake, crc32c: Make SSE4.2 check warning-free",
    "files": 1,
    "add": 5,
    "del": 5
   },
   {
    "sha": "8ba6cb08df",
    "subject": "cmake, minisketch: Make CLMUL check warning-free",
    "files": 1,
    "add": 2,
    "del": 2
   },
   {
    "sha": "c4763b716d",
    "subject": "cmake: Make sanitizer and fuzzer checks warning-free",
    "files": 1,
    "add": 4,
    "del": 2
   },
   {
    "sha": "9ab42235c1",
    "subject": "cmake: Treat warnings as errors in `CheckSourceCompilesWithFlags`",
    "files": 1,
    "add": 4,
    "del": 2
   },
   {
    "sha": "5bb7c5646a",
    "subject": "cmake, crypto: Use `-msse4.1` instead of `-msse4` for x86 SHA-NI",
    "files": 1,
    "add": 1,
    "del": 1
   }
  ],
  "patch_truncated": false
 },
 "patch_id": "090ef41aa37ba8f4",
 "input_hash": "ded507a0f54bca25",
 "extracted_at": "2026-11-02T01:09:49+00:00"
}