-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Update src/secp256k1 subtree to upstream release v0.3.0 #27230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
bdf3900 Merge bitcoin-core/secp256k1#1223: release: prepare for 0.3.0 b40adf2 release: prepare for 0.3.0 90b513a Merge bitcoin-core/secp256k1#1229: cmake: Rename project to "libsecp256k1" 8be82d4 cmake: Rename project to "libsecp256k1" ef4f8bd Merge bitcoin-core/secp256k1#1227: readme: Use correct build type in CMake/Windows build instructions 756b61d readme: Use correct build type in CMake/Windows build instructions 3295aa1 Merge bitcoin-core/secp256k1#1225: changelog: Add entry for CMake 92098d8 changelog: Add entry for CMake df323b5 Merge bitcoin-core/secp256k1#1113: build: Add CMake-based build system e1eb337 ci: Add "x86_64: Windows (VS 2022)" task 10602b0 cmake: Export config files 5468d70 build: Add CMake-based build system 6048e6c Merge bitcoin-core/secp256k1#1222: Remove redundant checks. eb8749f Merge bitcoin-core/secp256k1#1221: Update Changelog 5d8f53e Remove redudent checks. 9d1b458 Merge bitcoin-core/secp256k1#1217: Add secp256k1_fe_add_int function d232112 Update Changelog 8962fc9 Merge bitcoin-core/secp256k1#1218: Update overflow check 2ef1c9b Update overflow check 5757318 Merge bitcoin-core/secp256k1#1212: Prevent dead-store elimination when clearing secrets in examples b081f7e Add secp256k1_fe_add_int function 5660c13 prevent optimization in algorithms 09b1d46 Merge bitcoin-core/secp256k1#979: Native jacobi symbol algorithm ce3cfc7 doc: Describe Jacobi calculation in safegcd_implementation.md 6be0103 Add secp256k1_fe_is_square_var function 1de2a01 Native jacobi symbol algorithm 04c6c1b Make secp256k1_modinv64_det_check_pow2 support abs val 5fffb2c Make secp256k1_i128_check_pow2 support -(2^n) cbd2555 Merge bitcoin-core/secp256k1#1209: build: Add SECP256K1_API_VAR to fix importing variables from DLLs 1b21aa5 Merge bitcoin-core/secp256k1#1078: group: Save a normalize_to_zero in gej_add_ge e433034 ci: Shutdown wineserver whenever CI script exits 9a5a611 build: Suppress stupid MSVC linker warning 739c53b examples: Extend sig examples by call that uses static context 914276e build: Add SECP256K1_API_VAR to fix importing variables from DLLs 1cca7c1 Merge bitcoin-core/secp256k1#1206: build: Add -Wreserved-identifier supported by clang 8c7e0fc build: Add -Wreserved-identifier supported by clang 8ebe5c5 Merge bitcoin-core/secp256k1#1201: ci: Do not set git's `user.{email,name}` config options 5596ec5 Merge bitcoin-core/secp256k1#1203: Do not link `bench` and `ctime_tests` to `COMMON_LIB` ef39721 Do not link `bench` and `ctime_tests` to `COMMON_LIB` 9b60e31 ci: Do not set git's `user.{email,name}` config options e1817a6 Merge bitcoin-core/secp256k1#1199: ci: Minor improvements inspired by Bitcoin Core 1bff200 Merge bitcoin-core/secp256k1#1200: Drop no longer used Autoheader macros 9b7d186 Drop no longer used Autoheader macros c241586 ci: Don't fetch git history 0ecf318 ci: Use remote pull/merge ref instead of local git merge 2b77240 Merge bitcoin-core/secp256k1#1172: benchmarks: fix bench_scalar_split eb6beba scalar: restrict split_lambda args, improve doc and VERIFY_CHECKs 7f49aa7 ci: add test job with -DVERIFY 620ba3d benchmarks: fix bench_scalar_split 5fbff5d Merge bitcoin-core/secp256k1#1170: contexts: Forbid destroying, cloning and randomizing the static context 233822d Merge bitcoin-core/secp256k1#1195: ctime_tests: improve output when CHECKMEM_RUNNING is not defined ad7433b Merge bitcoin-core/secp256k1#1196: Drop no longer used variables from the build system e39d954 tests: Add CHECK_ILLEGAL(_VOID) macros and use in static ctx tests 2cd4e3c Drop no longer used `SECP_{LIBS,INCLUDE}` variables 613626f Drop no longer used `SECP_TEST_{LIBS,INCLUDE}` variables 61841fc contexts: Forbid randomizing secp256k1_context_static 4b6df5e contexts: Forbid cloning/destroying secp256k1_context_static b1579cf Merge bitcoin-core/secp256k1#1194: Ensure safety of ctz_debruijn implementation. 8f51229 ctime_tests: improve output when CHECKMEM_RUNNING is not defined d6ff738 Ensure safety of ctz_debruijn implementation. a01a7d8 Merge bitcoin-core/secp256k1#1192: Switch to exhaustive groups with small B coefficient a7a7bfa Merge bitcoin-core/secp256k1#1190: Make all non-API functions (except main) static f29a327 Merge bitcoin-core/secp256k1#1169: Add support for msan instead of valgrind (for memcheck and ctime test) ff8edf8 Merge bitcoin-core/secp256k1#1193: Add `noverify_tests` to `.gitignore` ce60785 Introduce SECP256K1_B macro for curve b coefficient 4934aa7 Switch to exhaustive groups with small B coefficient d4a6b58 Add `noverify_tests` to `.gitignore` 88e8072 Merge bitcoin-core/secp256k1#1160: Makefile: add `-I$(top_srcdir)/{include,src}` to `CPPFLAGS` for precomputed 0f088ec Rename CTIMETEST -> CTIMETESTS 74b026f Add runtime checking for DECLASSIFY flag 5e2e6fc Run ctime test in Linux MSan CI job 1897406 Make ctime tests building configurable 5048be1 Rename valgrind_ctime_test -> ctime_tests 6eed6c1 Update error messages to suggest msan as well 8e11f89 Add support for msan integration to checkmem.h 8dc6407 Add compile-time error to valgrind_ctime_test 0db05a7 Abstract interactions with valgrind behind new checkmem.h 4f1a54e Move valgrind CPPFLAGS into SECP_CONFIG_DEFINES cc3b8a4 Merge bitcoin-core/secp256k1#1187: refactor: Rename global variables in tests 9a93f48 refactor: Rename STTC to STATIC_CTX in tests 3385a26 refactor: Rename global variables to uppercase in tests e03ef86 Make all non-API functions (except main) static cbe41ac Merge bitcoin-core/secp256k1#1188: tests: Add noverify_tests which is like tests but without VERIFY 2037600 tests: Add noverify_tests which is like tests but without VERIFY e862c4a Makefile: add -I$(top_srcdir)/src to CPPFLAGS for precomputed 0eb3000 Merge bitcoin-core/secp256k1#1186: tests: Tidy context tests 39e8f0e refactor: Separate run_context_tests into static vs proper contexts a4a0937 tests: Clean up and improve run_context_tests() further fc90bb5 refactor: Tidy up main() f32a36f tests: Don't use global context for context tests ce4f936 tests: Tidy run_context_tests() by extracting functions 18e0db3 tests: Don't recreate global context in scratch space test b198061 tests: Use global copy of secp256k1_context_static instead of clone 2a39ac1 Merge bitcoin-core/secp256k1#1185: Drop `SECP_CONFIG_DEFINES` from examples 2f9ca28 Drop `SECP_CONFIG_DEFINES` from examples 31ed538 Merge bitcoin-core/secp256k1#1183: Bugfix: pass SECP_CONFIG_DEFINES to bench compilation c0a555b Bugfix: pass SECP_CONFIG_DEFINES to bench compilation 01b819a Merge bitcoin-core/secp256k1#1158: Add a secp256k1_i128_to_u64 function. eacad90 Merge bitcoin-core/secp256k1#1171: Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void) 3f57b9f Merge bitcoin-core/secp256k1#1177: Some improvements to the changelog c30b889 Clarify that the ABI-incompatible versions are earlier 881fc33 Consistency in naming of modules 665ba77 Merge bitcoin-core/secp256k1#1178: Drop `src/libsecp256k1-config.h` 75d7b7f Merge bitcoin-core/secp256k1#1154: ci: set -u in cirrus.sh to treat unset variables as an error 7a74688 ci: add missing CFLAGS & CPPFLAGS variable to print_environment c2e0fda ci: set -u in cirrus.sh to treat unset variables as an error 9c5a4d2 Do not define unused `HAVE_VALGRIND` macro ad8647f Drop no longer relevant files from `.gitignore` b627ba7 Remove dependency on `src/libsecp256k1-config.h` 9ecf814 Reduce font size in changelog 2dc133a Add more changelog entries ac233e1 Add links to diffs to changelog cee8223 Mention semantic versioning in changelog 9a8d65f Merge bitcoin-core/secp256k1#1174: release cleanup: bump version after 0.2.0 02ebc29 release cleanup: bump version after 0.2.0 b6b360e doc: improve message of cleanup commit a49e094 docs: Fix typo 2551cda tests: Fix code formatting c635c1b Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void) cf66f23 refactor: Add helper function secp256k1_context_is_proper() d216475 test secp256k1_i128_to_i64 4bc4290 Add a secp256k1_i128_to_u64 function. e089eec group: Further simply gej_add_ge ac71020 group: Save a normalize_to_zero in gej_add_ge git-subtree-dir: src/secp256k1 git-subtree-split: bdf3900
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
Concept ACK cc @jonasnick too |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK e5c7fcb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK e5c7fcb
… v0.3.0 763079a Squashed 'src/secp256k1/' changes from 21ffe4b..bdf3900 (Pieter Wuille) Pull request description: This updates the libsecp256k1 subtree to [v0.3.0](https://github.com/bitcoin-core/secp256k1/releases/tag/v0.3.0). I don't believe there are code changes that are particularly important to Bitcoin Core, apart from the added CMake build system support. ACKs for top commit: jonasnick: ACK e5c7fcb fanquake: ACK e5c7fcb Tree-SHA512: eda42e44d6d4ae43e9fab8a15854e41c8d9e14b645945039dbc35402bec501d73caa5d293264bd03ec6a7fe4919b9a725560f1831a58a6364dc6edaf259145a0
…k1 up to 0.3.0 d9b54c4 msvc: Cleanup after upgrading libsecp256k1 up to 0.3.0 (Hennadii Stepanov) Pull request description: libsecp256k1 [v0.3.0](https://github.com/bitcoin-core/secp256k1/blob/master/CHANGELOG.md#030---2023-03-08): > Removed the configuration header `src/libsecp256k1-config.h`. This PR removed the code that has been unused since bitcoin/bitcoin#27230. The `USE_ASM_X86_64` is now undefined explicitly (but actually it seems a bit redundant). The `ECMULT_GEN_PREC_BITS` and `ECMULT_WINDOW_SIZE` macros are defined by the source code to their defaults. --- Considering the upcoming CMake-based build system, these changes have a low-priority. ACKs for top commit: fanquake: ACK d9b54c4 Tree-SHA512: f279aeee1da57af5fdc4bd4f2000f1fea4180895f0e5b576545092a8318c756d36192f09a0cb0929cef74ed384c46777d5e6b6f92f4542b308e984e4abf473dc
backport: merge bitcoin#27479, bitcoin#27230, bitcoin#25251, partial bitcoin#22934, bitcoin#23383, bitcoin#24792, bitcoin#26691, bitcoin#27445 (secp256k1 update)
This updates the libsecp256k1 subtree to v0.3.0. I don't believe there are code changes that are particularly important to Bitcoin Core, apart from the added CMake build system support.