ci: Use clang-snapshot in "MSan" job#1750
ci: Use clang-snapshot in "MSan" job#1750real-or-random merged 2 commits intobitcoin-core:masterfrom
Conversation
|
c7119a3 to
f2c48c7
Compare
Added a commit to silence the |
|
I think that's a Clang bug.
So yes, we're passing a const pointer to an uninitialized portion of memory, which is typically pointless: the callee can't read it (UB) and it is not allowed to write it either. But Are you willing to report this upstream? On our side, I think there are some nicer options:
I tend to 3. It's perhaps the most complex option, but also the most future-proof? |
I agree with your analysis. That's why I chose to suppress the warning rather than take another approach.
That was my initial approach, but I didn’t manage to implement it properly. Could you suggest your patch? |
Can you try this in #if defined(__has_feature)
# if __has_feature(memory_sanitizer)
# include <sanitizer/msan_interface.h>
# define SECP256K1_CHECKMEM_ENABLED 1
# if defined(__clang__)
# define SECP256K1_CHECKMEM_UNDEFINE(p, len) do { \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wuninitialized-const-pointer\"") \
__msan_allocated_memory((p), (len)); \
_Pragma("clang diagnostic pop") \
} while(0)
# else
# define SECP256K1_CHECKMEM_UNDEFINE(p, len) __msan_allocated_memory((p), (len))
# endif
# define SECP256K1_CHECKMEM_DEFINE(p, len) __msan_unpoison((p), (len))
# define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) __msan_unpoison((p), (len))
# define SECP256K1_CHECKMEM_CHECK(p, len) __msan_check_mem_is_initialized((p), (len))
# define SECP256K1_CHECKMEM_RUNNING() (1)
# endif
#endif
Would you be willing to report it upstream? Perhaps it will be fixed before the release of clang 21 and then we'll be able to drop this workaround. |
Thanks! Taken. UPD.
https://github.com/llvm/llvm-project/releases/tag/llvmorg-21.1.1 |
f2c48c7 to
d6832a1
Compare
|
The feedback from @real-or-random has been addressed. |
Indeed. If I read correctly, clang has always supported it. https://clang.llvm.org/c_status.html |
d6832a1 to
7ca890d
Compare
real-or-random
left a comment
There was a problem hiding this comment.
This PR is nice because it's an alternative to the Valgrind tests on clang-snapshot. That is, we can run the constant-time tests on clang-snapshot without Valgrind support.
.github/workflows/ci.yml
Outdated
| MUSIG: 'yes' | ||
| ELLSWIFT: 'yes' | ||
| CC: 'clang' | ||
| CC: 'clang-snapshot' |
There was a problem hiding this comment.
Now that I think about it, why not run these three CI jobs on both clang and clang-snapshot?
7ca890d to
ed9ea88
Compare
|
Rebased to resolve a conflict with the merged #1756 and taken @real-or-random's suggestion. |
real-or-random
left a comment
There was a problem hiding this comment.
utACK ed9ea88 but let's see if CI succeeds
"Old" clang doesn't understand "-Wuninitialized-const-pointer"... |
ed9ea88 to
a8676a6
Compare
Co-authored-by: Tim Ruffing <me@real-or-random.org>
a8676a6 to
53585f9
Compare
It's green now :) |
d543c0d917 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd96 Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a339384 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d014804e ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a1f ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc107d ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da199 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93df ci: Bump `actions/checkout` version 574c2f3080 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93b7 ci: Use clang-snapshot in "MSan" job 6894c964f3 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f63a Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c35897 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177ca0 ci: Bump `docker/build-push-action` version b2a95a420f ci: Drop `tags` input for `docker/build-push-action` 122014edb3 ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce56 test: add --log option to display tests execution 95b9953ea4 test: Add option to display all available tests 953f7b0088 test: support running specific tests/modules targets 0302c1a3d7 test: add --help for command-line options 9ec3bfe22d test: adapt modules to the new test infrastructure 48789dafc2 test: introduce (mini) unit test framework baa265429f Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585fea docs: Improve API docs of _context_set_illegal_callback 895f53d1cf docs: Clarify that callback can be called more than once de6af6ae35 Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 5817885153 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078aa build: Fix warnings in x86_64 assembly check 10dab907e7 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed2d bench: improve context creation in ECDH benchmark 7321bdf27b doc: clarify API doc of `secp256k1_ecdsa_recover` return value b475654302 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce703863 refactor: move 'gettime_i64()' to tests_common.h 0c91c56041 test: introduce group order byte-array constant for deduplication 88be4e8d86 Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952cb Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a5f Split memclear into two versions 4985ac0f89 Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134a7 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38bfc doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad2e Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb35 Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f80 Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8cf Rename and clear var containing k or -k 960ba5f9c6 Use size_t instead of int for RFC6979 outlen copy 737912430d ci: Add more tests for clang-cl 7379a5bed3 doc: Recommend clang-cl when building on Windows f36afb8b3d Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c91 tests: refactor tagged hash tests d2dcf52091 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1bf docs: fix broken link to eprint cache.pdf paper d599714147 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def51e doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce5936 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf41 doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3ea autotools, docs: Adjust help string for `--enable-coverage` option e523e4f90e Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff168 chore(ci): Fix typo in Dockerfile comment 74b8068c5d Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a88 test: update wycheproof test vectors 20e3b44746 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d907a Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b22957 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648ca0 Fix typos and spellings 9ea54c69b7 tests: update Wycheproof files git-subtree-dir: src/secp256k1 git-subtree-split: d543c0d917a76a201578948701cc30ef336e0fe6
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 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 d543c0d917 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd96 Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a339384 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d014804e ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a1f ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc107d ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da199 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93df ci: Bump `actions/checkout` version 574c2f3080 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93b7 ci: Use clang-snapshot in "MSan" job 6894c964f3 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f63a Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c35897 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177ca0 ci: Bump `docker/build-push-action` version b2a95a420f ci: Drop `tags` input for `docker/build-push-action` 122014edb3 ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce56 test: add --log option to display tests execution 95b9953ea4 test: Add option to display all available tests 953f7b0088 test: support running specific tests/modules targets 0302c1a3d7 test: add --help for command-line options 9ec3bfe22d test: adapt modules to the new test infrastructure 48789dafc2 test: introduce (mini) unit test framework baa265429f Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585fea docs: Improve API docs of _context_set_illegal_callback 895f53d1cf docs: Clarify that callback can be called more than once de6af6ae35 Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 5817885153 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078aa build: Fix warnings in x86_64 assembly check 10dab907e7 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed2d bench: improve context creation in ECDH benchmark 7321bdf27b doc: clarify API doc of `secp256k1_ecdsa_recover` return value b475654302 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce703863 refactor: move 'gettime_i64()' to tests_common.h 0c91c56041 test: introduce group order byte-array constant for deduplication 88be4e8d86 Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952cb Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a5f Split memclear into two versions 4985ac0f89 Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134a7 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38bfc doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad2e Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb35 Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f80 Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8cf Rename and clear var containing k or -k 960ba5f9c6 Use size_t instead of int for RFC6979 outlen copy 737912430d ci: Add more tests for clang-cl 7379a5bed3 doc: Recommend clang-cl when building on Windows f36afb8b3d Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c91 tests: refactor tagged hash tests d2dcf52091 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1bf docs: fix broken link to eprint cache.pdf paper d599714147 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def51e doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce5936 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf41 doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3ea autotools, docs: Adjust help string for `--enable-coverage` option e523e4f90e Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff168 chore(ci): Fix typo in Dockerfile comment 74b8068c5d Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a88 test: update wycheproof test vectors 20e3b44746 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d907a Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b22957 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648ca0 Fix typos and spellings 9ea54c69b7 tests: update Wycheproof files git-subtree-dir: src/secp256k1 git-subtree-split: 1a53f4961f337b4d166c25fce72ef0dc88806618
1a53f496 Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f1 release: prepare for 0.7.1 c4b6a81a changelog: update in preparation for the v0.7.1 release ebb35882 Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7 bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 471e3a13 Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d84 sage: verify Eisenstein integer connection for GLV constants 4721e077 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1f doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 2d9137ce Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730 Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8a Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b290 test: split monolithic ellswift test into independent cases ae00c552 Add VERIFY_CHECKs that flags are 0 or 1 5c751833 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02 Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f3 doc/bench: Added cmake build options to bench error messages e7f7083b Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants b6c2a3cd Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f4 remove secp256k1_eckey_pubkey_serialize function 0d3659c5 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82 use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions c8206b1c Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job f252da7e ci: Use Python virtual environment in "x86_64-macos-native" job 115b135f Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value 2f73e528 group: Avoid using infinity field directly in other modules 153eea20 bench: Use `ALIGNMENT` macro instead of hardcoded value 26166c4f ecmult_multi: reduce strauss memory usage by 30% 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952 Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a Split memclear into two versions 4985ac0f Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38b doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8 Rename and clear var containing k or -k 960ba5f9 Use size_t instead of int for RFC6979 outlen copy 73791243 ci: Add more tests for clang-cl 7379a5be doc: Recommend clang-cl when building on Windows f36afb8b Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c tests: refactor tagged hash tests d2dcf520 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1 docs: fix broken link to eprint cache.pdf paper d5997141 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def5 doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce59 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3 autotools, docs: Adjust help string for `--enable-coverage` option e523e4f9 Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff1 chore(ci): Fix typo in Dockerfile comment 74b8068c Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a test: update wycheproof test vectors 20e3b447 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d90 Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b229 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648c Fix typos and spellings 9ea54c69 tests: update Wycheproof files b9313c6e Merge bitcoin-core/secp256k1#1708: release cleanup: bump version after 0.7.0 7ab8b0cc release cleanup: bump version after 0.7.0 git-subtree-dir: Vendor/secp256k1 git-subtree-split: 1a53f4961f337b4d166c25fce72ef0dc88806618
1a53f496 Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f1 release: prepare for 0.7.1 c4b6a81a changelog: update in preparation for the v0.7.1 release ebb35882 Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7 bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 471e3a13 Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d84 sage: verify Eisenstein integer connection for GLV constants 4721e077 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1f doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 2d9137ce Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730 Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8a Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b290 test: split monolithic ellswift test into independent cases ae00c552 Add VERIFY_CHECKs that flags are 0 or 1 5c751833 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02 Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f3 doc/bench: Added cmake build options to bench error messages e7f7083b Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants b6c2a3cd Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f4 remove secp256k1_eckey_pubkey_serialize function 0d3659c5 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82 use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions c8206b1c Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job f252da7e ci: Use Python virtual environment in "x86_64-macos-native" job 115b135f Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value 2f73e528 group: Avoid using infinity field directly in other modules 153eea20 bench: Use `ALIGNMENT` macro instead of hardcoded value 26166c4f ecmult_multi: reduce strauss memory usage by 30% 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952 Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a Split memclear into two versions 4985ac0f Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38b doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8 Rename and clear var containing k or -k 960ba5f9 Use size_t instead of int for RFC6979 outlen copy 73791243 ci: Add more tests for clang-cl 7379a5be doc: Recommend clang-cl when building on Windows f36afb8b Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c tests: refactor tagged hash tests d2dcf520 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1 docs: fix broken link to eprint cache.pdf paper d5997141 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def5 doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce59 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3 autotools, docs: Adjust help string for `--enable-coverage` option e523e4f9 Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff1 chore(ci): Fix typo in Dockerfile comment 74b8068c Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a test: update wycheproof test vectors 20e3b447 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d90 Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b229 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648c Fix typos and spellings 9ea54c69 tests: update Wycheproof files b9313c6e Merge bitcoin-core/secp256k1#1708: release cleanup: bump version after 0.7.0 7ab8b0cc release cleanup: bump version after 0.7.0 git-subtree-dir: Vendor/secp256k1 git-subtree-split: 1a53f4961f337b4d166c25fce72ef0dc88806618
1a53f496 Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f1 release: prepare for 0.7.1 c4b6a81a changelog: update in preparation for the v0.7.1 release ebb35882 Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7 bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 471e3a13 Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d84 sage: verify Eisenstein integer connection for GLV constants 4721e077 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1f doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 2d9137ce Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730 Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8a Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b290 test: split monolithic ellswift test into independent cases ae00c552 Add VERIFY_CHECKs that flags are 0 or 1 5c751833 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02 Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f3 doc/bench: Added cmake build options to bench error messages e7f7083b Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants b6c2a3cd Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f4 remove secp256k1_eckey_pubkey_serialize function 0d3659c5 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82 use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions c8206b1c Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job f252da7e ci: Use Python virtual environment in "x86_64-macos-native" job 115b135f Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value 2f73e528 group: Avoid using infinity field directly in other modules 153eea20 bench: Use `ALIGNMENT` macro instead of hardcoded value 26166c4f ecmult_multi: reduce strauss memory usage by 30% 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952 Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a Split memclear into two versions 4985ac0f Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38b doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8 Rename and clear var containing k or -k 960ba5f9 Use size_t instead of int for RFC6979 outlen copy 73791243 ci: Add more tests for clang-cl 7379a5be doc: Recommend clang-cl when building on Windows f36afb8b Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c tests: refactor tagged hash tests d2dcf520 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1 docs: fix broken link to eprint cache.pdf paper d5997141 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def5 doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce59 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3 autotools, docs: Adjust help string for `--enable-coverage` option e523e4f9 Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff1 chore(ci): Fix typo in Dockerfile comment 74b8068c Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a test: update wycheproof test vectors 20e3b447 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d90 Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b229 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648c Fix typos and spellings 9ea54c69 tests: update Wycheproof files b9313c6e Merge bitcoin-core/secp256k1#1708: release cleanup: bump version after 0.7.0 7ab8b0cc release cleanup: bump version after 0.7.0 git-subtree-dir: Vendor/secp256k1 git-subtree-split: 1a53f4961f337b4d166c25fce72ef0dc88806618
1a53f496 Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f1 release: prepare for 0.7.1 c4b6a81a changelog: update in preparation for the v0.7.1 release ebb35882 Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7 bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 471e3a13 Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d84 sage: verify Eisenstein integer connection for GLV constants 4721e077 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1f doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 2d9137ce Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730 Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8a Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b290 test: split monolithic ellswift test into independent cases ae00c552 Add VERIFY_CHECKs that flags are 0 or 1 5c751833 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02 Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f3 doc/bench: Added cmake build options to bench error messages e7f7083b Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants b6c2a3cd Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f4 remove secp256k1_eckey_pubkey_serialize function 0d3659c5 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82 use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions c8206b1c Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job f252da7e ci: Use Python virtual environment in "x86_64-macos-native" job 115b135f Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value 2f73e528 group: Avoid using infinity field directly in other modules 153eea20 bench: Use `ALIGNMENT` macro instead of hardcoded value 26166c4f ecmult_multi: reduce strauss memory usage by 30% 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952 Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a Split memclear into two versions 4985ac0f Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38b doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8 Rename and clear var containing k or -k 960ba5f9 Use size_t instead of int for RFC6979 outlen copy 73791243 ci: Add more tests for clang-cl 7379a5be doc: Recommend clang-cl when building on Windows f36afb8b Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c tests: refactor tagged hash tests d2dcf520 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1 docs: fix broken link to eprint cache.pdf paper d5997141 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def5 doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce59 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3 autotools, docs: Adjust help string for `--enable-coverage` option e523e4f9 Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff1 chore(ci): Fix typo in Dockerfile comment 74b8068c Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a test: update wycheproof test vectors 20e3b447 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d90 Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b229 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648c Fix typos and spellings 9ea54c69 tests: update Wycheproof files b9313c6e Merge bitcoin-core/secp256k1#1708: release cleanup: bump version after 0.7.0 7ab8b0cc release cleanup: bump version after 0.7.0 git-subtree-dir: Vendor/secp256k1 git-subtree-split: 1a53f4961f337b4d166c25fce72ef0dc88806618
* chore: clean stale extractions for secp256k1 * Squashed 'Vendor/secp256k1/' content from commit a660a497 git-subtree-dir: Vendor/secp256k1 git-subtree-split: a660a4976efe880bae7982ee410b9e0dc59ac983 * Squashed 'Vendor/secp256k1/' changes from a660a497..1a53f496 1a53f496 Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f1 release: prepare for 0.7.1 c4b6a81a changelog: update in preparation for the v0.7.1 release ebb35882 Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7 bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 471e3a13 Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d84 sage: verify Eisenstein integer connection for GLV constants 4721e077 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1f doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 2d9137ce Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730 Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8a Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b290 test: split monolithic ellswift test into independent cases ae00c552 Add VERIFY_CHECKs that flags are 0 or 1 5c751833 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02 Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f3 doc/bench: Added cmake build options to bench error messages e7f7083b Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants b6c2a3cd Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f4 remove secp256k1_eckey_pubkey_serialize function 0d3659c5 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82 use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions c8206b1c Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job f252da7e ci: Use Python virtual environment in "x86_64-macos-native" job 115b135f Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value 2f73e528 group: Avoid using infinity field directly in other modules 153eea20 bench: Use `ALIGNMENT` macro instead of hardcoded value 26166c4f ecmult_multi: reduce strauss memory usage by 30% 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 36e76952 Merge bitcoin-core/secp256k1#1738: check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 399b582a Split memclear into two versions 4985ac0f Merge bitcoin-core/secp256k1#1737: doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 7ebaa134 check-abi: remove support for obsolete CMake library output location (src/libsecp256k1.so) 806de38b doc: mention ctx requirement for `_ellswift_create` (not secp256k1_context_static) 03fb60ad Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows d93380fb Merge bitcoin-core/secp256k1#1731: schnorrsig: Securely clear buf containing k or its negation 8113671f Merge bitcoin-core/secp256k1#1729: hash: Use size_t instead of int for RFC6979 outlen copy 325d65a8 Rename and clear var containing k or -k 960ba5f9 Use size_t instead of int for RFC6979 outlen copy 73791243 ci: Add more tests for clang-cl 7379a5be doc: Recommend clang-cl when building on Windows f36afb8b Merge bitcoin-core/secp256k1#1725: tests: refactor tagged hash verification 5153cf1c tests: refactor tagged hash tests d2dcf520 Merge bitcoin-core/secp256k1#1726: docs: fix broken link to Tromer's cache.pdf paper 489a43d1 docs: fix broken link to eprint cache.pdf paper d5997141 Merge bitcoin-core/secp256k1#1722: docs: Exclude modules' `bench_impl.h` headers from coverage report 0458def5 doc: Add `--gcov-ignore-parse-errors=all` option to `gcovr` invocations 1aecce59 doc: Add `--merge-mode-functions=separate` option to `gcovr` invocations 106a7cbf doc: Exclude modules' `bench_impl.h` headers from coverage report a9e955d3 autotools, docs: Adjust help string for `--enable-coverage` option e523e4f9 Merge bitcoin-core/secp256k1#1720: chore(ci): Fix typo in Dockerfile comment 24ba8ff1 chore(ci): Fix typo in Dockerfile comment 74b8068c Merge bitcoin-core/secp256k1#1717: test: update wycheproof test vectors c25c3c8a test: update wycheproof test vectors 20e3b447 Merge bitcoin-core/secp256k1#1688: cmake: Avoid contaminating parent project's cache with `BUILD_SHARED_LIBS` 2c076d90 Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof 7b07b229 cmake: Avoid contaminating parent project's cache with BUILD_SHARED_LIBS 5433648c Fix typos and spellings 9ea54c69 tests: update Wycheproof files b9313c6e Merge bitcoin-core/secp256k1#1708: release cleanup: bump version after 0.7.0 7ab8b0cc release cleanup: bump version after 0.7.0 git-subtree-dir: Vendor/secp256k1 git-subtree-split: 1a53f4961f337b4d166c25fce72ef0dc88806618 * chore(deps): update subtree secp256k1 to v0.7.1 * refactor: remove unit test framework files Remove unit_test.c and unit_test.h which are no longer needed after the test infrastructure refactoring. These files provided the mini unit test framework that has been replaced by the new test infrastructure. --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: csjones <csjones@users.noreply.github.com>
…50, 1719, 1734, 1759, 1758 7111d36 modules, tests: Port bitcoin-core/secp256k1#1734 to zkp-specific code (DarkWindman) 7699fe9 modules: Port bitcoin-core/secp256k1#1735 to zkp-specific code (DarkWindman) c09519f ci: Drop workaround for Valgrind older than 3.20.0 (Hennadii Stepanov) 8bc50b7 ci: Switch to macOS 15 Sequoia Intel-based image (Hennadii Stepanov) 2f4546c test: add --log option to display tests execution (furszy) 95b9953 test: Add option to display all available tests (furszy) 953f7b0 test: support running specific tests/modules targets (furszy) 0302c1a test: add --help for command-line options (furszy) 9ec3bfe test: adapt modules to the new test infrastructure (furszy) 48789da test: introduce (mini) unit test framework (furszy) 9cce703 refactor: move 'gettime_i64()' to tests_common.h (furszy) 15d0148 ci: Drop default for `inputs.command` in `run-in-docker-action` (Hennadii Stepanov) 1decc49 ci: Use YAML anchor and aliases for repeated "CI script" steps (Hennadii Stepanov) dff1bc1 ci, refactor: Generalize use of `matrix.configuration.env_vars` (Hennadii Stepanov) 4b644da ci: Use YAML anchor and aliases for repeated "Print logs" steps (Hennadii Stepanov) a889cd9 ci: Bump `actions/checkout` version (Hennadii Stepanov) 574c2f3 ci: Use YAML anchor and aliases for repeated "Checkout" steps (Hennadii Stepanov) 53585f9 ci: Use clang-snapshot in "MSan" job (Hennadii Stepanov) 6894c96 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan (Hennadii Stepanov) f163c35 ci: Set `DEBIAN_FRONTEND=noninteractive` (Hennadii Stepanov) 70ae177 ci: Bump `docker/build-push-action` version (Hennadii Stepanov) b2a95a4 ci: Drop `tags` input for `docker/build-push-action` (Hennadii Stepanov) 122014e ci: Add `scope` parameter to `cache-{to,from}` options (Hennadii Stepanov) 4d90585 docs: Improve API docs of _context_set_illegal_callback (Tim Ruffing) 895f53d docs: Clarify that callback can be called more than once (Tim Ruffing) dfe284e bench: improve context creation in ECDH benchmark (Sebastian Falbesoner) ab56007 build: Fix warnings in x86_64 assembly check (Hennadii Stepanov) 7321bdf doc: clarify API doc of `secp256k1_ecdsa_recover` return value (Jonas Nick) 0c91c56 test: introduce group order byte-array constant for deduplication (Sebastian Falbesoner) 399b582 Split memclear into two versions (John Moffett) Pull request description: Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 This PR can be recreated with `./contrib/sync-upstream.sh -b master range 7a2fff8`. Tips: * Use `git show --remerge-diff <pr-branch>` to show the conflict resolution in the merge commit. * Use `git read-tree --reset -u <pr-branch>` to replay these resolutions during the conflict resolution stage when recreating the PR branch locally. Be aware that this may discard your index as well as the uncommitted changes and untracked files in your worktree. ACKs for top commit: real-or-random: ACK 7111d36 Tree-SHA512: 9f8fd21eee9ad3b7ea8d688f79783a43baffdeafb6b313372761ce368a24219a83c430c49070413f9972813ae03adde9a8660abfe4b0893b3700e241a81e5b13
56751a4c Merge BlockstreamResearch/secp256k1-zkp#331: Upstream PRs 1735, 1745, 1741, 1749, 1748, 1727, 1756, 1750, 1719, 1734, 1759, 1758 7111d365 modules, tests: Port bitcoin-core/secp256k1#1734 to zkp-specific code 7699fe9a modules: Port bitcoin-core/secp256k1#1735 to zkp-specific code f1e52fac Merge commits '88be4e8d b4756543 10dab907 58178851 de6af6ae baa26542 2b7337f6 a44a3393 f44c1ebd d543c0d9 43e7b115 7a2fff85 ' into temp-merge-1758 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 399b582a Split memclear into two versions git-subtree-dir: Vendor/secp256k1-zkp git-subtree-split: 56751a4cf069b48ec8562b81dedff7e306679d59
* chore: clean stale extractions for secp256k1-zkp * Squashed 'Vendor/secp256k1-zkp/' changes from 42ae776d..56751a4c 56751a4c Merge BlockstreamResearch/secp256k1-zkp#331: Upstream PRs 1735, 1745, 1741, 1749, 1748, 1727, 1756, 1750, 1719, 1734, 1759, 1758 7111d365 modules, tests: Port bitcoin-core/secp256k1#1734 to zkp-specific code 7699fe9a modules: Port bitcoin-core/secp256k1#1735 to zkp-specific code f1e52fac Merge commits '88be4e8d b4756543 10dab907 58178851 de6af6ae baa26542 2b7337f6 a44a3393 f44c1ebd d543c0d9 43e7b115 7a2fff85 ' into temp-merge-1758 7a2fff85 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72 ci: Switch to macOS 15 Sequoia Intel-based image c09519f0 ci: Drop workaround for Valgrind older than 3.20.0 d543c0d9 Merge bitcoin-core/secp256k1#1734: Introduce (mini) unit test framework f44c1ebd Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors a44a3393 Merge bitcoin-core/secp256k1#1750: ci: Use clang-snapshot in "MSan" job 15d01480 ci: Drop default for `inputs.command` in `run-in-docker-action` 1decc49a ci: Use YAML anchor and aliases for repeated "CI script" steps dff1bc10 ci, refactor: Generalize use of `matrix.configuration.env_vars` 4b644da1 ci: Use YAML anchor and aliases for repeated "Print logs" steps a889cd93 ci: Bump `actions/checkout` version 574c2f30 ci: Use YAML anchor and aliases for repeated "Checkout" steps 53585f93 ci: Use clang-snapshot in "MSan" job 6894c964 Fix Clang 21+ `-Wuninitialized-const-pointer` warning when using MSan 2b7337f6 Merge bitcoin-core/secp256k1#1756: ci: Fix image caching and apply other improvements f163c358 ci: Set `DEBIAN_FRONTEND=noninteractive` 70ae177c ci: Bump `docker/build-push-action` version b2a95a42 ci: Drop `tags` input for `docker/build-push-action` 122014ed ci: Add `scope` parameter to `cache-{to,from}` options 2f4546ce test: add --log option to display tests execution 95b9953e test: Add option to display all available tests 953f7b00 test: support running specific tests/modules targets 0302c1a3 test: add --help for command-line options 9ec3bfe2 test: adapt modules to the new test infrastructure 48789daf test: introduce (mini) unit test framework baa26542 Merge bitcoin-core/secp256k1#1727: docs: Clarify that callback can be called more than once 4d90585f docs: Improve API docs of _context_set_illegal_callback 895f53d1 docs: Clarify that callback can be called more than once de6af6ae Merge bitcoin-core/secp256k1#1748: bench: improve context creation in ECDH benchmark 58178851 Merge bitcoin-core/secp256k1#1749: build: Fix warnings in x86_64 assembly check ab560078 build: Fix warnings in x86_64 assembly check 10dab907 Merge bitcoin-core/secp256k1#1741: doc: clarify API doc of `secp256k1_ecdsa_recover` return value dfe284ed bench: improve context creation in ECDH benchmark 7321bdf2 doc: clarify API doc of `secp256k1_ecdsa_recover` return value b4756543 Merge bitcoin-core/secp256k1#1745: test: introduce group order byte-array constant for deduplication 9cce7038 refactor: move 'gettime_i64()' to tests_common.h 0c91c560 test: introduce group order byte-array constant for deduplication 88be4e8d Merge bitcoin-core/secp256k1#1735: musig: Invalidate secnonce in secp256k1_musig_partial_sign 399b582a Split memclear into two versions git-subtree-dir: Vendor/secp256k1-zkp git-subtree-split: 56751a4cf069b48ec8562b81dedff7e306679d59 * chore(deps): update subtree secp256k1-zkp to 56751a4c --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
In Bitcoin Core, the "MSan" CI jobs use the latest tagged Clang available from http://apt.llvm.org.
This PR applies similar changes and switches the "MSan" CI jobs to clang-snapshot.
This exposes problematic code that was reported in bitcoin/bitcoin#33284.