Update secp256k1 subtree to latest master #35564

pull fanquake wants to merge 2 commits into bitcoin:master from fanquake:update_secp_subtree changing 25 files +257 −90
  1. Squashed 'src/secp256k1/' changes from 7262adb4b4..bd0287d650
    bd0287d650 Merge bitcoin-core/secp256k1#1859: field: force-inline 5x52 mul and sqr
    fdcf2d41e2 Merge bitcoin-core/secp256k1#1865: test: enable -Wunused-function in test suite (Fix #1831)
    b2d2bd362d Merge bitcoin-core/secp256k1#1860: cmake: Emulate Libtool's behavior on NetBSD and OpenBSD
    87bec430bf Merge bitcoin-core/secp256k1#1867: test: musig: fix dead "aggnonce encodes two points at infinity" check
    71fcd8410e field: force-inline 5x52 mul and sqr
    a77dacad9a test: enable -Wunused-function in test suite (Fix #1831)
    aea86bc350 Merge bitcoin-core/secp256k1#1864: test: refactor: simplify tests by using `_ecmult_gen_ge` helper, add test
    2ee79e77e6 test: add unit test for `_ecmult_gen_ge`
    d7125e517d test: musig: fix dead "aggnonce encodes two points at infinity" check
    1eab757207 cmake: Fix shared library versioning on OpenBSD
    a401c5145a cmake: Fix shared library versioning on NetBSD
    8a0f4002c7 cmake, refactor: Improve documenting in `SetLibtoolAbiVersion` module
    acf2084aa7 cmake, refactor: Introduce `SetLibtoolAbiVersion` module
    0f4a7e6bf9 Merge bitcoin-core/secp256k1#1855: bench: add internal benchmark for `secp256k1_fe_normalize_var`
    ca68daf8e1 test: refactor: simplify tests by using `_ecmult_gen_ge` helper
    13db747f2b Merge bitcoin-core/secp256k1#1861: refactor: introduce `_ecmult_gen_ge` helper (preventing accidental gej leaks)
    9e017e5062 refactor: rename `_ecmult_gen` -> `_ecmult_gen_gej` for consistency
    a3296d5e23 refactor: introduce `_ecmult_gen_ge` helper (preventing accidental gej leaks)
    c63062380f Merge bitcoin-core/secp256k1#1852: Add exhaustive test for ECDH module
    240578eef5 bench: add internal benchmark for `secp256k1_fe_normalize_var`
    5698e66c64 Add exhaustive test for ECDH module
    a39093de15 Merge bitcoin-core/secp256k1#1851: doc: correct API docs for ECDSA signing out-params (s/array/signature object/)
    8363a2d8d1 Merge bitcoin-core/secp256k1#1854: tests: compare full MuSig aggregate nonce
    af1fdd1215 tests: compare full MuSig aggregate nonce
    40a0d874a6 doc: correct API docs for ECDSA signing out-params (s/array/signature object/)
    b11340b3ce Merge bitcoin-core/secp256k1#1849: musig: always clear out secret key in `secp256k1_musig_nonce_gen_counter`
    8479eafa57 musig: always clear out secret key in `secp256k1_musig_nonce_gen_counter`
    c1a9e4fe64 Merge bitcoin-core/secp256k1#1848: ci: Bump GCC snapshot major version to 17
    3cca6451a2 ci: Bump GCC snapshot major version to 17
    ea174fe045 Merge bitcoin-core/secp256k1#1846: ci: Replace `ilammy/msvc-dev-cmd` with manual MSVC setup
    285cb788e9 ci: Replace `ilammy/msvc-dev-cmd` with manual MSVC setup
    
    git-subtree-dir: src/secp256k1
    git-subtree-split: bd0287d650c24dc41e0362675a9f6a49ee952def
    1f3f0a4e22
  2. Update secp256k1 subtree to latest upstream 9caae50682
  3. DrahtBot commented at 4:42 PM on June 18, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35564.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK theStack, hebasto, sedited, andrewtoth
    Concept ACK real-or-random

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. theStack approved
  5. theStack commented at 11:37 PM on June 18, 2026: contributor

    ACK 9caae506829db8a05e09e0606bc5d0cbc1bdc434

    The impact of https://github.com/bitcoin-core/secp256k1/pull/1859 can be shown by comparing the script verification benchmark results (run via $ ./build/bin/bench_bitcoin -filter=VerifyScript.*.) with and without the subtree update. Results on my arm64 machine using GCC 14.2.0:

    master: | ns/script | script/s | err% | ins/script | cyc/script | IPC | bra/script | miss% | total | benchmark |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:---------- | 23,866.86 | 41,899.09 | 0.1% | 343,078.71 | 80,835.85 | 4.244 | 7,446.05 | 0.4% | 0.01 | VerifyScriptP2TR_KeyPath | 43,677.61 | 22,895.03 | 0.2% | 619,812.32 | 147,962.68 | 4.189 | 13,771.09 | 1.0% | 0.01 | VerifyScriptP2TR_ScriptPath | 23,690.12 | 42,211.68 | 0.1% | 341,185.71 | 80,359.23 | 4.246 | 8,716.05 | 0.6% | 0.01 | VerifyScriptP2WPKH

    PR branch:

    | ns/script | script/s | err% | ins/script | cyc/script | IPC | bra/script | miss% | total | benchmark |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:---------- | 21,097.94 | 47,397.99 | 0.2% | 324,487.62 | 71,517.53 | 4.537 | 5,194.04 | 0.3% | 0.01 | VerifyScriptP2TR_KeyPath | 39,245.96 | 25,480.33 | 0.1% | 589,206.16 | 133,102.79 | 4.427 | 9,972.08 | 0.3% | 0.01 | VerifyScriptP2TR_ScriptPath | 20,939.74 | 47,756.07 | 0.1% | 323,100.62 | 71,000.21 | 4.551 | 6,528.04 | 0.1% | 0.01 | VerifyScriptP2WPKH

    (PR description nit: https://github.com/bitcoin-core/secp256k1/pull/1861 is missing in the list)

  6. hebasto commented at 11:20 AM on June 19, 2026: member

    ACK 9caae506829db8a05e09e0606bc5d0cbc1bdc434.

    My Guix build:

    aarch64
    dcbc3a9c83b0671bbb7c11695d618068fed8ee0274528db5a7d5c970cf5d8eb3  guix-build-9caae506829d/output/aarch64-linux-gnu/SHA256SUMS.part
    27d282a21085a220803d92842f787b32dde56a07160cd1a0dee3287f9086413e  guix-build-9caae506829d/output/aarch64-linux-gnu/bitcoin-9caae506829d-aarch64-linux-gnu-debug.tar.gz
    ba012231d33a5601712f384e47497ea72c641ccc494e0dfdd990a7acf43d53ad  guix-build-9caae506829d/output/aarch64-linux-gnu/bitcoin-9caae506829d-aarch64-linux-gnu.tar.gz
    ce591947f1102a4755e02c66744dbdfd2a8d29c20813a25a56958094af0a221f  guix-build-9caae506829d/output/arm-linux-gnueabihf/SHA256SUMS.part
    52500fafdce8d9af87deba45c88df6b041c3c376c21041a6c75053bf8aa70f54  guix-build-9caae506829d/output/arm-linux-gnueabihf/bitcoin-9caae506829d-arm-linux-gnueabihf-debug.tar.gz
    c7df1905f9b4b6fab8504a9b9bbaf40b6bea44913568c292ecacdc3d9ec077d8  guix-build-9caae506829d/output/arm-linux-gnueabihf/bitcoin-9caae506829d-arm-linux-gnueabihf.tar.gz
    f8602711c4845e827c1ae88603e917df63787c323bfc2e24ccca1d72811d0e45  guix-build-9caae506829d/output/arm64-apple-darwin/SHA256SUMS.part
    1bab13c7b15e24fcf71a0d0f7792ea5edb77be8912cee3361fa565da5c3e95ee  guix-build-9caae506829d/output/arm64-apple-darwin/bitcoin-9caae506829d-arm64-apple-darwin-codesigning.tar.gz
    abbfd3bb2d06856b78c661ce5eb86ecf35afc8d395313c9f5d6dd46117da3f86  guix-build-9caae506829d/output/arm64-apple-darwin/bitcoin-9caae506829d-arm64-apple-darwin-unsigned.tar.gz
    26fa92386ae18f501173a374f037e4f9c50d9f2c9ab2b54c234035934aac0e41  guix-build-9caae506829d/output/arm64-apple-darwin/bitcoin-9caae506829d-arm64-apple-darwin-unsigned.zip
    4f34bfb6636c7364cf1710234f34ebe6f359937cea1df1a7b61f4b52083474e4  guix-build-9caae506829d/output/dist-archive/bitcoin-9caae506829d.tar.gz
    9fa1c2fbe3e6df23835e94bbecebd049f4d17fdf2f6b90f3ed0b955d8f798202  guix-build-9caae506829d/output/powerpc64-linux-gnu/SHA256SUMS.part
    7ccea1aa30b2abc463c3bf8c0407706758bea20c235a9ae5ad62ad9a08ed69b5  guix-build-9caae506829d/output/powerpc64-linux-gnu/bitcoin-9caae506829d-powerpc64-linux-gnu-debug.tar.gz
    0bb3e994389525bcb1004d8fac0ef10e3d78942c075671ba1a90aa10b8e35e2a  guix-build-9caae506829d/output/powerpc64-linux-gnu/bitcoin-9caae506829d-powerpc64-linux-gnu.tar.gz
    dcf0aeed393b47f1c91c95da12bbf1e834289a04119151647b65894f234031bf  guix-build-9caae506829d/output/riscv64-linux-gnu/SHA256SUMS.part
    444672cc2ec28b9ea272d799764864c8abb1598f6524b2d9e55fd33af4dfd823  guix-build-9caae506829d/output/riscv64-linux-gnu/bitcoin-9caae506829d-riscv64-linux-gnu-debug.tar.gz
    ca9e4f7366e229566c909705add08c699039dbb19556399b7fcd67477d5f682e  guix-build-9caae506829d/output/riscv64-linux-gnu/bitcoin-9caae506829d-riscv64-linux-gnu.tar.gz
    c40b32920964787b3599bfb08cc7ddd11358c7bd3350b722e8279af733b2f2bb  guix-build-9caae506829d/output/x86_64-apple-darwin/SHA256SUMS.part
    e7899c1e8891b3fc0720e65406a76281d0d8a9b98b3cfaf4c0510547e078a5f7  guix-build-9caae506829d/output/x86_64-apple-darwin/bitcoin-9caae506829d-x86_64-apple-darwin-codesigning.tar.gz
    6db5abef7bdb23893d57bdbed4fd13281843c15ef80f2f9b59dac002f7736eff  guix-build-9caae506829d/output/x86_64-apple-darwin/bitcoin-9caae506829d-x86_64-apple-darwin-unsigned.tar.gz
    6c745762bc92c8dd9eb8f84df888b1451187293c07727685cae48e4501f918ab  guix-build-9caae506829d/output/x86_64-apple-darwin/bitcoin-9caae506829d-x86_64-apple-darwin-unsigned.zip
    83ff4372c876d84d42d45508b791bbafe899b7b0d86ccca73478919feec4357b  guix-build-9caae506829d/output/x86_64-linux-gnu/SHA256SUMS.part
    411ec64c6d8bf7e1f66cffa0f3d76aadb84a92beca71584b13d187db2b280d4a  guix-build-9caae506829d/output/x86_64-linux-gnu/bitcoin-9caae506829d-x86_64-linux-gnu-debug.tar.gz
    0ae44405e840adf1fd47291025f07043da892145f9fbd205cf18bf464846981c  guix-build-9caae506829d/output/x86_64-linux-gnu/bitcoin-9caae506829d-x86_64-linux-gnu.tar.gz
    5c8d98f982ae30e1392fdc494e268b895b052964b4c4f76328852c9596758538  guix-build-9caae506829d/output/x86_64-w64-mingw32/SHA256SUMS.part
    ad05b4ee541a6ad764dad89bda2e52626b69717bd5c77bebedfbe06b5a50b7ee  guix-build-9caae506829d/output/x86_64-w64-mingw32/bitcoin-9caae506829d-win64-codesigning.tar.gz
    28b66cf12d0d5675bb5f151b2de04ca04e3c02c62aa78c97f547a5e8781bb3a9  guix-build-9caae506829d/output/x86_64-w64-mingw32/bitcoin-9caae506829d-win64-debug.zip
    13245d3ba27faeb31f61edb00dc7a17868879f8ed708a380d1949ca5dde69d47  guix-build-9caae506829d/output/x86_64-w64-mingw32/bitcoin-9caae506829d-win64-setup-unsigned.exe
    f9300e5a2bf06e3e958684d66d1b3ebfd90d543aa52b00fe690409988a1b607f  guix-build-9caae506829d/output/x86_64-w64-mingw32/bitcoin-9caae506829d-win64-unsigned.zip
    
  7. fanquake commented at 2:29 PM on June 19, 2026: member
  8. real-or-random commented at 2:43 PM on June 19, 2026: contributor

    Concept ACK -- there's no particular reason not to update to this specific commit

  9. sedited approved
  10. sedited commented at 7:24 PM on June 19, 2026: contributor

    ACK 9caae506829db8a05e09e0606bc5d0cbc1bdc434

  11. DrahtBot requested review from real-or-random on Jun 19, 2026
  12. andrewtoth approved
  13. andrewtoth commented at 7:50 PM on June 19, 2026: contributor

    ACK 9caae506829db8a05e09e0606bc5d0cbc1bdc434

    $ test/lint/git-subtree-check.sh -r src/secp256k1
    src/secp256k1 in HEAD currently refers to tree 4db707ee545a4085f3dec07c5348c1c94f9bbb0d
    src/secp256k1 in HEAD was last updated in commit 1f3f0a4e2200dbf84a7ca0cae2b0073dfcb5013a (tree 4db707ee545a4085f3dec07c5348c1c94f9bbb0d)
    src/secp256k1 in HEAD was last updated to upstream commit bd0287d650c24dc41e0362675a9f6a49ee952def (tree 4db707ee545a4085f3dec07c5348c1c94f9bbb0d)
    GOOD
    
  14. sedited merged this on Jun 19, 2026
  15. sedited closed this on Jun 19, 2026

  16. fanquake deleted the branch on Jun 19, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-06-20 23:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me