Update secp256k1 subtree to latest master #34412

pull fanquake wants to merge 2 commits into bitcoin:master from fanquake:secp256k1_subtree_update changing 37 files +328 −218
  1. fanquake commented at 4:07 pm on January 26, 2026: member
  2. DrahtBot commented at 4:07 pm on January 26, 2026: contributor

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

    Code Coverage & Benchmarks

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

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK sedited, hebasto, w0xlt

    If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.

    LLM Linter (✨ experimental)

    Possible places where named args for integral literals may be used (e.g. func(x, /*named_arg=*/0) in C++, and func(x, named_arg=0) in Python):

    • secp256k1_gej_double_var(&d, a, NULL) in src/secp256k1/src/ecmult_impl.h
    • secp256k1_gej_double_var(r, r, NULL) in src/secp256k1/src/ecmult_impl.h
    • secp256k1_gej_add_ge_var(&buckets[buc], &buckets[buc], &pt[point_state.input_pos], NULL) in src/secp256k1/src/ecmult_impl.h
    • secp256k1_gej_add_ge_var(&buckets[buc], &buckets[buc], &tmp, NULL) in src/secp256k1/src/ecmult_impl.h
    • secp256k1_gej_add_var(&running_sum, &running_sum, &buckets[buc], NULL) in src/secp256k1/src/ecmult_impl.h

    2026-01-27 09:58:37

  3. Squashed 'src/secp256k1/' changes from d543c0d917..14e56970cb
    14e56970cb Merge bitcoin-core/secp256k1#1794: ecmult: Use size_t for array indices
    c7a52400d6 Merge bitcoin-core/secp256k1#1809: release cleanup: bump version after 0.7.1
    ae7eb729c0 release cleanup: bump version after 0.7.1
    1a53f4961f Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1
    20a209f11c release: prepare for 0.7.1
    c4b6a81a60 changelog: update in preparation for the v0.7.1 release
    ebb35882da Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS
    c09215f7af bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS
    471e3a130d Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants
    29ac4d8491 sage: verify Eisenstein integer connection for GLV constants
    4721e077b4 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult
    bd5ced1fe1 doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult
    47eb70959a ecmult: Use size_t for array indices in _odd_multiplies_table
    bb1d199de5 ecmult: Use size_t for array indices into tables
    2d9137ce9d Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules
    f9a944ff2d Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake
    0406cfc4d1 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake
    8d445730ec Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1
    aa2a39c1a7 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages
    540fec8ae9 Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases
    d822b29021 test: split monolithic ellswift test into independent cases
    ae00c552df Add VERIFY_CHECKs that flags are 0 or 1
    5c75183344 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize
    be5e4f02fd Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL
    3daab83a60 refactor: remove ret from secp256k1_ec_pubkey_serialize
    8bcda186d2 test: Add non-NULL checks for "pointer of array" API functions
    5a08c1bcdc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL
    3b5b03f301 doc/bench: Added cmake build options to bench error messages
    e7f7083b53 Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants
    b6c2a3cd77 Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30%
    f5e815f430 remove secp256k1_eckey_pubkey_serialize function
    0d3659c547 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig)
    adb76f82ea use new `_eckey_pubkey_serialize{33,65}` functions in public API
    fc7458ca3e introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions
    c8206b1ce6 Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job
    f252da7e6e ci: Use Python virtual environment in "x86_64-macos-native" job
    115b135fe8 Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value
    2f73e5281d group: Avoid using infinity field directly in other modules
    153eea20c2 bench: Use `ALIGNMENT` macro instead of hardcoded value
    26166c4f5f ecmult_multi: reduce strauss memory usage by 30%
    7a2fff85e8 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0
    43e7b115f7 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image
    8bc50b72ff ci: Switch to macOS 15 Sequoia Intel-based image
    c09519f0e3 ci: Drop workaround for Valgrind older than 3.20.0
    
    git-subtree-dir: src/secp256k1
    git-subtree-split: 14e56970cba37ffe4ee992c1e08707a16e22e345
    2fccbea3c8
  4. Update secp256k1 subtree to latest master 26fbe10873
  5. fanquake force-pushed on Jan 27, 2026
  6. fanquake marked this as ready for review on Jan 27, 2026
  7. sedited approved
  8. sedited commented at 12:54 pm on January 27, 2026: contributor
    ACK 26fbe10873e727c5f345a6130e819772a321d924
  9. hebasto commented at 5:07 pm on January 27, 2026: member

    My Guix build:

     0$ uname -m && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     1aarch64
     2704413b776726e62cdb84b9aae9bc8a4f6f1ca2e4e77e1caf8c22caa2f594dc0  guix-build-26fbe10873e7/output/aarch64-linux-gnu/SHA256SUMS.part
     380c7f3208936ae18c3433c8e4e9fc6ae36b6bbb1de8abe68326a89078d8251e7  guix-build-26fbe10873e7/output/aarch64-linux-gnu/bitcoin-26fbe10873e7-aarch64-linux-gnu-debug.tar.gz
     48fd8a6691d0b7cd82eb53af75055c43d44c08dbafcd0153c5187a31914b40b97  guix-build-26fbe10873e7/output/aarch64-linux-gnu/bitcoin-26fbe10873e7-aarch64-linux-gnu.tar.gz
     5287e92fef81cb6b55c35a40945f5585626535cf9a9b8e46ebb269ac356438929  guix-build-26fbe10873e7/output/arm-linux-gnueabihf/SHA256SUMS.part
     644aea62976142cdb2df3cb754f44d0271d9e3496e36c7f0f55a0145c3261bbec  guix-build-26fbe10873e7/output/arm-linux-gnueabihf/bitcoin-26fbe10873e7-arm-linux-gnueabihf-debug.tar.gz
     7784aaa151311f0ca46a0f47027b0312eb60f39af1328f34e1f17779cf463517f  guix-build-26fbe10873e7/output/arm-linux-gnueabihf/bitcoin-26fbe10873e7-arm-linux-gnueabihf.tar.gz
     8ebd6e8f3486a9709471141a16581fdcd547e23c6b532e51ff1c8d771b0528a42  guix-build-26fbe10873e7/output/arm64-apple-darwin/SHA256SUMS.part
     9760b9c9f9930f6dd3d3c08a28085e557c32bf4450a2c32077b42ce94913bdb5e  guix-build-26fbe10873e7/output/arm64-apple-darwin/bitcoin-26fbe10873e7-arm64-apple-darwin-codesigning.tar.gz
    104cb4647f30ba2469f13459ab408d77f1a8e63cf9079f5b04cdac61fbd817a9f2  guix-build-26fbe10873e7/output/arm64-apple-darwin/bitcoin-26fbe10873e7-arm64-apple-darwin-unsigned.tar.gz
    114dd0d1fa10dd181eb69b5a214cbc2b6fb033594e54ed23f2e5c88f9e3303e7da  guix-build-26fbe10873e7/output/arm64-apple-darwin/bitcoin-26fbe10873e7-arm64-apple-darwin-unsigned.zip
    121d6bdb9cc08715e1db06b821744cbf4e9806bb4b0739fff5a9c0a1e74130bc7d  guix-build-26fbe10873e7/output/dist-archive/bitcoin-26fbe10873e7.tar.gz
    13d8cc6ebb4b7e4598eef808d488bfb80cd4daceaf848b9991f9bdb27378350167  guix-build-26fbe10873e7/output/powerpc64-linux-gnu/SHA256SUMS.part
    1467d3fb867c46f1731b21cda5ec022cdfd584353920f80d8b61233727fe9cb23a  guix-build-26fbe10873e7/output/powerpc64-linux-gnu/bitcoin-26fbe10873e7-powerpc64-linux-gnu-debug.tar.gz
    151c8299f8b533f2d20ee64517da7006c6d5a0f24ca508aca1266a63a87b53e0f3  guix-build-26fbe10873e7/output/powerpc64-linux-gnu/bitcoin-26fbe10873e7-powerpc64-linux-gnu.tar.gz
    16f40fc8f46a114efa56231a8de37b6f35e127b2dcb98bd13cd2d12377e321b750  guix-build-26fbe10873e7/output/riscv64-linux-gnu/SHA256SUMS.part
    17da5bd39ad76b6d2dc5e660c43968d17cd0373dd4ec957dc5fb28f760e99ca0c2  guix-build-26fbe10873e7/output/riscv64-linux-gnu/bitcoin-26fbe10873e7-riscv64-linux-gnu-debug.tar.gz
    18711d4c62443fb526a465d79c55ffe684da92f4a3e50147804e39a24b1a035afb  guix-build-26fbe10873e7/output/riscv64-linux-gnu/bitcoin-26fbe10873e7-riscv64-linux-gnu.tar.gz
    194f93c2191efe3b68440dfe866c9a8ad5e6bce34aa8bcf2ad008c5b78190734ba  guix-build-26fbe10873e7/output/x86_64-apple-darwin/SHA256SUMS.part
    20cc789ec028671266e712b02b6fbe30c917679a39daad28dc25f248babe1cebf0  guix-build-26fbe10873e7/output/x86_64-apple-darwin/bitcoin-26fbe10873e7-x86_64-apple-darwin-codesigning.tar.gz
    2124926d56e5572248e4a82b0ae94173a9d464b1588ab953f54f1c5eae5e1fa033  guix-build-26fbe10873e7/output/x86_64-apple-darwin/bitcoin-26fbe10873e7-x86_64-apple-darwin-unsigned.tar.gz
    22758682fcdd597bc3ce93d348dd82779e4ecc131349715ce2b38e4e972b15b8af  guix-build-26fbe10873e7/output/x86_64-apple-darwin/bitcoin-26fbe10873e7-x86_64-apple-darwin-unsigned.zip
    23d567104d5df6de0054f89e3d427e04834ad850d40fc9fb728356e9830f6b8497  guix-build-26fbe10873e7/output/x86_64-linux-gnu/SHA256SUMS.part
    24dfdf3505697786572058a86ef4ba4e7545d820ca10c29a6609547d1e2dafb679  guix-build-26fbe10873e7/output/x86_64-linux-gnu/bitcoin-26fbe10873e7-x86_64-linux-gnu-debug.tar.gz
    252a34a7ab8f4773eb4299f67b0d9955017ed639305c7ff8914a7f4874144b59fd  guix-build-26fbe10873e7/output/x86_64-linux-gnu/bitcoin-26fbe10873e7-x86_64-linux-gnu.tar.gz
    26f4f2f37cfbe308ae44347c426fb5d4e30f2b7026726184c8a336c37c0cd2cd9b  guix-build-26fbe10873e7/output/x86_64-w64-mingw32/SHA256SUMS.part
    277297ca3c5267f2ea3774065589bc318813c8a707fce7a89ee58e5e5971168aa8  guix-build-26fbe10873e7/output/x86_64-w64-mingw32/bitcoin-26fbe10873e7-win64-codesigning.tar.gz
    28f375620b872efeff27cf55a5e9938a64d6bc7655179eac40c7bcd1dcb37afbf6  guix-build-26fbe10873e7/output/x86_64-w64-mingw32/bitcoin-26fbe10873e7-win64-debug.zip
    2955c11f3836adba955ccde60b36d9b597912222f475ac1125ae7e8daa6a83c4b0  guix-build-26fbe10873e7/output/x86_64-w64-mingw32/bitcoin-26fbe10873e7-win64-setup-unsigned.exe
    30681c284e589e1649d5b251fdf1e8d0f0cd1bf773922600e7841c6759a62bfe7b  guix-build-26fbe10873e7/output/x86_64-w64-mingw32/bitcoin-26fbe10873e7-win64-unsigned.zip
    
  10. hebasto approved
  11. hebasto commented at 5:09 pm on January 27, 2026: member
    ACK 26fbe10873e727c5f345a6130e819772a321d924.
  12. sipa commented at 9:26 pm on January 27, 2026: member
    Master, or the just-released 0.7.1?
  13. fanquake commented at 10:02 pm on January 27, 2026: member
    Master.
  14. fanquake merged this on Jan 28, 2026
  15. fanquake closed this on Jan 28, 2026

  16. fanquake deleted the branch on Jan 28, 2026
  17. achow101 commented at 7:12 pm on January 28, 2026: member

    This introduced new warnings on GCC 15.2.1:

     0In file included from /home/ava/bitcoin/bitcoin/experimentation/src/pubkey.cpp:9:
     1/home/ava/bitcoin/bitcoin/experimentation/src/secp256k1/include/secp256k1.h:352:84: error: trailing whitespace [-Werror=trailing-whitespace=]
     2  352 |  *  has been configured with --enable-external-default-callbacks (GNU Autotools) or
     3In file included from /home/ava/bitcoin/bitcoin/experimentation/src/secp256k1/include/secp256k1_ellswift.h:4,
     4                 from /home/ava/bitcoin/bitcoin/experimentation/src/pubkey.cpp:10:
     5/home/ava/bitcoin/bitcoin/experimentation/src/secp256k1/include/secp256k1.h:352:84: error: trailing whitespace [-Werror=trailing-whitespace=]
     6  352 |  *  has been configured with --enable-external-default-callbacks (GNU Autotools) or
     7cc1plus: all warnings being treated as errors
     8make[2]: *** [src/CMakeFiles/bitcoin_consensus.dir/build.make:163: src/CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.o] Error 1
     9make[1]: *** [CMakeFiles/Makefile2:1004: src/CMakeFiles/bitcoin_consensus.dir/all] Error 2
    10make[1]: *** Waiting for unfinished jobs....
    
  18. hebasto commented at 8:17 pm on January 28, 2026: member

    This introduced new warnings on GCC 15.2.1:

     0In file included from /home/ava/bitcoin/bitcoin/experimentation/src/pubkey.cpp:9:
     1/home/ava/bitcoin/bitcoin/experimentation/src/secp256k1/include/secp256k1.h:352:84: error: trailing whitespace [-Werror=trailing-whitespace=]
     2  352 |  *  has been configured with --enable-external-default-callbacks (GNU Autotools) or
     3In file included from /home/ava/bitcoin/bitcoin/experimentation/src/secp256k1/include/secp256k1_ellswift.h:4,
     4                 from /home/ava/bitcoin/bitcoin/experimentation/src/pubkey.cpp:10:
     5/home/ava/bitcoin/bitcoin/experimentation/src/secp256k1/include/secp256k1.h:352:84: error: trailing whitespace [-Werror=trailing-whitespace=]
     6  352 |  *  has been configured with --enable-external-default-callbacks (GNU Autotools) or
     7cc1plus: all warnings being treated as errors
     8make[2]: *** [src/CMakeFiles/bitcoin_consensus.dir/build.make:163: src/CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.o] Error 1
     9make[1]: *** [CMakeFiles/Makefile2:1004: src/CMakeFiles/bitcoin_consensus.dir/all] Error 2
    10make[1]: *** Waiting for unfinished jobs....
    

    See https://github.com/bitcoin-core/secp256k1/pull/1813.


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-03-15 15:13 UTC

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