mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-12 21:02:38 -03:00
4 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Pieter Wuille
|
763079a3f1 |
Squashed 'src/secp256k1/' changes from 21ffe4b22a9..bdf39000b9c
bdf39000b9c Merge bitcoin-core/secp256k1#1223: release: prepare for 0.3.0 b40adf23604 release: prepare for 0.3.0 90b513aadad Merge bitcoin-core/secp256k1#1229: cmake: Rename project to "libsecp256k1" 8be82d43628 cmake: Rename project to "libsecp256k1" ef4f8bd0259 Merge bitcoin-core/secp256k1#1227: readme: Use correct build type in CMake/Windows build instructions 756b61d451d readme: Use correct build type in CMake/Windows build instructions 3295aa149bd Merge bitcoin-core/secp256k1#1225: changelog: Add entry for CMake 92098d84cf7 changelog: Add entry for CMake df323b5c146 Merge bitcoin-core/secp256k1#1113: build: Add CMake-based build system e1eb33724c2 ci: Add "x86_64: Windows (VS 2022)" task 10602b0030e cmake: Export config files 5468d709644 build: Add CMake-based build system 6048e6c03e4 Merge bitcoin-core/secp256k1#1222: Remove redundant checks. eb8749fcd0f Merge bitcoin-core/secp256k1#1221: Update Changelog 5d8f53e3129 Remove redudent checks. 9d1b458d5fb Merge bitcoin-core/secp256k1#1217: Add secp256k1_fe_add_int function d232112fa7e Update Changelog 8962fc95bb0 Merge bitcoin-core/secp256k1#1218: Update overflow check 2ef1c9b3870 Update overflow check 57573187826 Merge bitcoin-core/secp256k1#1212: Prevent dead-store elimination when clearing secrets in examples b081f7e4cbf Add secp256k1_fe_add_int function 5660c137552 prevent optimization in algorithms 09b1d466db7 Merge bitcoin-core/secp256k1#979: Native jacobi symbol algorithm ce3cfc78a60 doc: Describe Jacobi calculation in safegcd_implementation.md 6be01036c8a Add secp256k1_fe_is_square_var function 1de2a01c2b2 Native jacobi symbol algorithm 04c6c1b1816 Make secp256k1_modinv64_det_check_pow2 support abs val 5fffb2c7af5 Make secp256k1_i128_check_pow2 support -(2^n) cbd25559343 Merge bitcoin-core/secp256k1#1209: build: Add SECP256K1_API_VAR to fix importing variables from DLLs 1b21aa51752 Merge bitcoin-core/secp256k1#1078: group: Save a normalize_to_zero in gej_add_ge e4330341bd6 ci: Shutdown wineserver whenever CI script exits 9a5a611a21f build: Suppress stupid MSVC linker warning 739c53b19a2 examples: Extend sig examples by call that uses static context 914276e4d27 build: Add SECP256K1_API_VAR to fix importing variables from DLLs 1cca7c1744b Merge bitcoin-core/secp256k1#1206: build: Add -Wreserved-identifier supported by clang 8c7e0fc1de0 build: Add -Wreserved-identifier supported by clang 8ebe5c52050 Merge bitcoin-core/secp256k1#1201: ci: Do not set git's `user.{email,name}` config options 5596ec5c2cf Merge bitcoin-core/secp256k1#1203: Do not link `bench` and `ctime_tests` to `COMMON_LIB` ef39721ccce Do not link `bench` and `ctime_tests` to `COMMON_LIB` 9b60e3148d8 ci: Do not set git's `user.{email,name}` config options e1817a6f54f Merge bitcoin-core/secp256k1#1199: ci: Minor improvements inspired by Bitcoin Core 1bff2005885 Merge bitcoin-core/secp256k1#1200: Drop no longer used Autoheader macros 9b7d18669dc Drop no longer used Autoheader macros c2415866c7a ci: Don't fetch git history 0ecf3188515 ci: Use remote pull/merge ref instead of local git merge 2b77240b3ba Merge bitcoin-core/secp256k1#1172: benchmarks: fix bench_scalar_split eb6bebaee39 scalar: restrict split_lambda args, improve doc and VERIFY_CHECKs 7f49aa7f2dc ci: add test job with -DVERIFY 620ba3d74be benchmarks: fix bench_scalar_split 5fbff5d348f Merge bitcoin-core/secp256k1#1170: contexts: Forbid destroying, cloning and randomizing the static context 233822d849d Merge bitcoin-core/secp256k1#1195: ctime_tests: improve output when CHECKMEM_RUNNING is not defined ad7433b1409 Merge bitcoin-core/secp256k1#1196: Drop no longer used variables from the build system e39d954f118 tests: Add CHECK_ILLEGAL(_VOID) macros and use in static ctx tests 2cd4e3c0a97 Drop no longer used `SECP_{LIBS,INCLUDE}` variables 613626f94c7 Drop no longer used `SECP_TEST_{LIBS,INCLUDE}` variables 61841fc9ee5 contexts: Forbid randomizing secp256k1_context_static 4b6df5e33e1 contexts: Forbid cloning/destroying secp256k1_context_static b1579cf5fb4 Merge bitcoin-core/secp256k1#1194: Ensure safety of ctz_debruijn implementation. 8f51229e034 ctime_tests: improve output when CHECKMEM_RUNNING is not defined d6ff738d5bb Ensure safety of ctz_debruijn implementation. a01a7d86dc2 Merge bitcoin-core/secp256k1#1192: Switch to exhaustive groups with small B coefficient a7a7bfaf3dc Merge bitcoin-core/secp256k1#1190: Make all non-API functions (except main) static f29a3270923 Merge bitcoin-core/secp256k1#1169: Add support for msan instead of valgrind (for memcheck and ctime test) ff8edf89e2e Merge bitcoin-core/secp256k1#1193: Add `noverify_tests` to `.gitignore` ce60785b265 Introduce SECP256K1_B macro for curve b coefficient 4934aa79958 Switch to exhaustive groups with small B coefficient d4a6b58df74 Add `noverify_tests` to `.gitignore` 88e80722d2a Merge bitcoin-core/secp256k1#1160: Makefile: add `-I$(top_srcdir)/{include,src}` to `CPPFLAGS` for precomputed 0f088ec1126 Rename CTIMETEST -> CTIMETESTS 74b026f05d5 Add runtime checking for DECLASSIFY flag 5e2e6fcfc0e Run ctime test in Linux MSan CI job 18974061a3f Make ctime tests building configurable 5048be17e93 Rename valgrind_ctime_test -> ctime_tests 6eed6c18ded Update error messages to suggest msan as well 8e11f89a685 Add support for msan integration to checkmem.h 8dc64079eb1 Add compile-time error to valgrind_ctime_test 0db05a770eb Abstract interactions with valgrind behind new checkmem.h 4f1a54e41d8 Move valgrind CPPFLAGS into SECP_CONFIG_DEFINES cc3b8a4f404 Merge bitcoin-core/secp256k1#1187: refactor: Rename global variables in tests 9a93f48f502 refactor: Rename STTC to STATIC_CTX in tests 3385a2648d7 refactor: Rename global variables to uppercase in tests e03ef865593 Make all non-API functions (except main) static cbe41ac138b Merge bitcoin-core/secp256k1#1188: tests: Add noverify_tests which is like tests but without VERIFY 203760023c6 tests: Add noverify_tests which is like tests but without VERIFY e862c4af0c5 Makefile: add -I$(top_srcdir)/src to CPPFLAGS for precomputed 0eb3000417f Merge bitcoin-core/secp256k1#1186: tests: Tidy context tests 39e8f0e3d7b refactor: Separate run_context_tests into static vs proper contexts a4a09379b1a tests: Clean up and improve run_context_tests() further fc90bb56956 refactor: Tidy up main() f32a36f620e tests: Don't use global context for context tests ce4f936c4fa tests: Tidy run_context_tests() by extracting functions 18e0db30cb4 tests: Don't recreate global context in scratch space test b19806122e9 tests: Use global copy of secp256k1_context_static instead of clone 2a39ac162e0 Merge bitcoin-core/secp256k1#1185: Drop `SECP_CONFIG_DEFINES` from examples 2f9ca284e2a Drop `SECP_CONFIG_DEFINES` from examples 31ed5386e84 Merge bitcoin-core/secp256k1#1183: Bugfix: pass SECP_CONFIG_DEFINES to bench compilation c0a555b2ae3 Bugfix: pass SECP_CONFIG_DEFINES to bench compilation 01b819a8c7d Merge bitcoin-core/secp256k1#1158: Add a secp256k1_i128_to_u64 function. eacad90f699 Merge bitcoin-core/secp256k1#1171: Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void) 3f57b9f7749 Merge bitcoin-core/secp256k1#1177: Some improvements to the changelog c30b889f17e Clarify that the ABI-incompatible versions are earlier 881fc33d0c1 Consistency in naming of modules 665ba77e793 Merge bitcoin-core/secp256k1#1178: Drop `src/libsecp256k1-config.h` 75d7b7f5bae Merge bitcoin-core/secp256k1#1154: ci: set -u in cirrus.sh to treat unset variables as an error 7a746882013 ci: add missing CFLAGS & CPPFLAGS variable to print_environment c2e0fdadebd ci: set -u in cirrus.sh to treat unset variables as an error 9c5a4d21bbe Do not define unused `HAVE_VALGRIND` macro ad8647f548c Drop no longer relevant files from `.gitignore` b627ba7050b Remove dependency on `src/libsecp256k1-config.h` 9ecf8149a19 Reduce font size in changelog 2dc133a67ff Add more changelog entries ac233e181a5 Add links to diffs to changelog cee8223ef6d Mention semantic versioning in changelog 9a8d65f07f1 Merge bitcoin-core/secp256k1#1174: release cleanup: bump version after 0.2.0 02ebc290f74 release cleanup: bump version after 0.2.0 b6b360efafc doc: improve message of cleanup commit a49e0940ad6 docs: Fix typo 2551cdac903 tests: Fix code formatting c635c1bfd54 Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void) cf66f2357c6 refactor: Add helper function secp256k1_context_is_proper() d2164752053 test secp256k1_i128_to_i64 4bc429019dc Add a secp256k1_i128_to_u64 function. e089eecc1e5 group: Further simply gej_add_ge ac71020ebe0 group: Save a normalize_to_zero in gej_add_ge git-subtree-dir: src/secp256k1 git-subtree-split: bdf39000b9c6a0818e7149ccb500873d079e6e85 |
||
Pieter Wuille
|
54245985fb |
Squashed 'src/secp256k1/' changes from 0b70241850..b19c000063
b19c000063 Merge #607: Use size_t shifts when computing a size_t 4d01bc2d9c Merge #606: travis: Remove unused sudo:false e6d01e9347 Use size_t shifts when computing a size_t 7667532bd7 travis: Remove unused sudo:false ee99f12f3d Merge #599: Switch x86_64 asm to use "i" instead of "n" for immediate values. d58bc93f2c Switch x86_64 asm to use "i" instead of "n" for immediate values. 05362ee042 Merge #597: Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build 83483869ac Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build aa15154a48 Merge #568: Fix integer overflow in ecmult_multi_var when n is large 2277af5ff0 Fix integer overflow in ecmult_multi_var when n is large 85d0e1bcce Merge #591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 14196379ec Merge #580: Add trivial ecmult_multi algorithm which does not require a scratch space a697d82da9 Add trivial ecmult_multi to the benchmark tool bade617417 Add trivial ecmult_multi algorithm. It is selected when no scratch space is given and just multiplies and adds the points. 5545e13dea Merge #584: configure: Use CFLAGS_FOR_BUILD when checking native compiler 20c5869df2 Merge #516: improvements to random seed in src/tests.c b76e45d5d6 Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 870a977644 Merge #562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse be40c4d0b5 Fixup for C90 mixed declarations. c71dd2c08f Merge #509: Fix algorithm selection in bench_ecmult 6492bf88cc Merge #518: Summarize build options after running configure 0e9ada1941 Merge #567: Correct order of libs returned on pkg-config --libs --static libsecp2… e96901a4b9 Merge #587: Make randomization of a non-signing context a noop 58df8d03ad Merge #511: Portability fix for the configure scripts generated 2ebdad772a Merge #552: Make constants static: 1c131affd3 Merge #551: secp256k1_fe_sqrt: Verify that the arguments don't alias. ba698f883b Merge #539: Assorted minor corrections 949e85b009 Merge #550: Optimize secp256k1_fe_normalize_weak calls. a34bcaadf1 Actually pass CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD to linker 2d5f4cebdc configure: Use CFLAGS_FOR_BUILD when checking native compiler b408c6a8b2 Merge #579: Use __GNUC_PREREQ for detecting __builtin_expect 6198375218 Make randomization of a non-signing context a noop c663397f46 Use __GNUC_PREREQ for detecting __builtin_expect e34ceb333b Merge #557: Eliminate scratch memory used when generating contexts b3bf5f99a3 ecmult_impl: expand comment to explain how effective affine interacts with everything efa783f8f0 Store z-ratios in the 'x' coord they'll recover ffd3b346fe add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points 84740acd2a ecmult_impl: save one fe_inv_var 47045270fa ecmult_impl: eliminate scratch memory used when generating context 7f7a2ed3a8 ecmult_gen_impl: eliminate scratch memory used when generating context 314a61d724 Merge #553: add static context object which has no capabilities 89a20a8945 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call. 1086fda4c1 Merge #354: [ECDH API change] Support custom hash function d3cb1f95eb Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse 40fde611bd prevent attempts to modify `secp256k1_context_no_precomp` ed7c08417a add static context object which has no capabilities 496c5b43b8 Make constants static: static const secp256k1_ge secp256k1_ge_const_g; static const int CURVE_B; bf8b86cc07 secp256k1_fe_sqrt: Verify that the arguments don't alias. 9bd89c836b Optimize secp256k1_fe_normalize_weak calls. Move secp256k1_fe_normalize_weak calls out of ECMULT_TABLE_GET_GE and ECMULT_TABLE_GET_GE_STORAGE and into secp256k1_ge_globalz_set_table_gej instead. 52ab96fedb clean dependendies in field_*_impl.h deff5edd42 Correct math typos in field_*.h 4efb3f8dd1 Add check that restrict pointers don't alias with all parameters. 1e6f1f5ad5 Merge #529: fix tests.c in the count == 0 case c8fbc3c397 [ECDH API change] Allow pass arbitrary data to hash function b00be65056 [ECDH API change] Support custom hash function 95e99f196f fix tests.c in the count == 0 case 452d8e4d2a Merge #523: scratch: add stack frame support 6fe50439ae scratch: add stack frame support 9bc2e26502 Merge #522: parameterize ecmult_const over input size 7c1b91ba4b parameterize ecmult_const over input size dbc3ddd5e2 Merge #513: Increase sparsity of pippenger fixed window naf representation 3965027c81 Summarize build options in configure script 0f0517369c Fix algorithm selection in bench_ecmult fb9271dcf0 Merge #510: add a couple missing `const`s to ecmult_pippenger_wnaf cd5f6028e5 Merge #515: Fix typo 09146ae854 Merge #512: secp256k1_ec_privkey_negate - fix documentation ec0a7b3ae3 Don't touch leading zeros in wnaf_fixed. 9e36d1bfe2 Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. 96f68a0afc Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. 8b3841c91d fix bug in fread() failure check cddef0c0be tests: add warning message when /dev/urandom fails 9b7c47a21e Fix typo 6dbb007869 Increase sparsity of pippenger fixed window naf representation 1646ace4d5 secp256k1_ec_privkey_negate - fix documentation 270f6c80db Portability fix for the configure scripts generated 9b3ff0309d add a couple missing `const`s to ecmult_pippenger_wnaf cd329dbc3e Merge #460: [build] Update ax_jni_include_dir.m4 macro 7f9c1a1565 Merge #498: tests: Avoid calling fclose(...) with an invalid argument f99aa8d4d3 Merge #499: tests: Make sure we get the requested number of bytes from /dev/urandom b549d3d5f7 Merge #472: [build] Set --enable-jni to no by default instead of auto. d333521516 Merge #494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS 2ef8ea5d21 Merge #495: Add bench_ecmult to .gitignore 82a96e4587 tests: Make sure we get the requested number of bytes from /dev/urandom 5aae5b5bb2 Avoid calling fclose(...) with an invalid argument cb32940df3 Add bench_ecmult to .gitignore 31abd3ab8d Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS c95f6f1360 Merge #487: fix tests typo, s/changed/unchanged fb46c83881 Merge #463: Reduce usage of hardcoded size constants 02f5001dfc Merge #490: Disambiguate bench functions and types 1f46d6089e Disambiguate bench functions and types f54c6c5083 Merge #480: Enable benchmark building by default c77fc08597 Merge #486: Add pippenger_wnaf for multi-multiplication d2f9c6b5dc Use more precise pippenger bucket windows 4c950bbeaf Save some additions per window in _pippenger_wnaf a58f543f5a Add flags for choosing algorithm in ecmult_multi benchmark 36b22c9337 Use scratch space dependent batching in ecmult_multi 355a38f113 Add pippenger_wnaf ecmult_multi bc65aa794e Add bench_ecmult dba5471b69 Add ecmult_multi tests 8c1c831bdb Generalize Strauss to support multiple points 548de42ecf add resizeable scratch space API 0e96cdc6b6 fix typo, s/changed/unchanged c7680e570f Reduce usage of hardcoded size constants 6ad5cdb42a Merge #479: Get rid of reserved _t in type names 7a78f60598 Print whether we're building benchmarks 4afec9f1ae Build benchmarks by default d1dc9dfc0a Get rid of reserved _t in type names 57752d28b3 [build] Set --enable-jni to no by default instead of auto. e7daa9b3c2 [build] Tweak JNI macro to warn instead of error for JNI not found. 5b22977922 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS git-subtree-dir: src/secp256k1 git-subtree-split: b19c000063be11018b4d1a6b0a85871ab9d0bdcf |
||
Wladimir J. van der Laan
|
b2135359b3 |
Squashed 'src/secp256k1/' changes from 6c527ec..7a49cac
|
||
Pieter Wuille
|
d48555b36a |
Squashed 'src/secp256k1/' content from commit ad2028f
git-subtree-dir: src/secp256k1
git-subtree-split:
|