Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge bitcoin-core/secp256k1#988: Make signing table fully static
7dfcece build: Remove #undef hack for ASM in the precomputation programs (Tim Ruffing) bb36fe9 ci: Test `make precomp` (Tim Ruffing) d94a37a build: Remove CC_FOR_BUILD stuff (Tim Ruffing) ad63bb4 build: Prebuild and distribute ecmult_gen table (Tim Ruffing) ac49361 prealloc: Get rid of manual memory management for prealloc contexts (Tim Ruffing) 6573c08 ecmult_gen: Tidy precomputed file and save space (Tim Ruffing) 5eba83f ecmult_gen: Precompute tables for all values of ECMULT_GEN_PREC_BITS (Tim Ruffing) fdb33dd refactor: Make PREC_BITS a parameter of ecmult_gen_build_prec_table (Tim Ruffing) a4875e3 refactor: Move default callbacks to util.h (Tim Ruffing) 4c94c55 doc: Remove obsolete hint for valgrind stack size (Tim Ruffing) 5106226 exhaustive_tests: Fix with ecmult_gen table with custom generator (Tim Ruffing) e1a7653 refactor: Make generator a parameter of ecmult_gen_create_prec_table (Tim Ruffing) 9ad09f6 refactor: Rename program that generates static ecmult_gen table (Tim Ruffing) 8ae18f1 refactor: Rename file that contains static ecmult_gen table (Tim Ruffing) 00d2fa1 ecmult_gen: Make code consistent with comment (Tim Ruffing) 3b0c218 ecmult_gen: Simplify ecmult_gen context after making table static (Tim Ruffing) e43ba02 refactor: Decouple table generation and ecmult_gen context (Tim Ruffing) 22dc2c0 ecmult_gen: Move table creation to new file and force static prec (Tim Ruffing) Pull request description: This resolves bitcoin#893, resolves bitcoin#692 (and also resolves bitcoin#22854). - [x] Extract table generation to separate function in separate file (to be used by generation script and exhaustive tests) - [x] Tidy up - [x] Remove code that deals with non-static tables - [x] Make functions that need ecmult_gen not depend on signing context - [x] Rename stuff to make it fit the new structure and consistent with how we hande verification tables (bitcoin#956) - [x] Fix exhaustive tests - [x] Make table generation function take generator as input - [x] Overwrite the static tables with a table with custom generator in exhaustive tests - [x] Overhaul script that generates table files - [x] Make table generation function take PREC_BITS as input (I have some code already, just not yet in this branch) - [x] Change generation script to generate three tables (for all three values of ECMULT_GEN_PREC_BITS) - [x] Ship pre-built tables - [x] Add pregenerated table file to repo - [x] Remove generation of table file from build process (like in bitcoin#956) - [x] Remove left-over stuff (e.g., detecting a compiler running on the build machine) from build system - [x] Final cleanups (copyright headers, commit, messages, etc.) - [ ] (separate PR:) Make sure link-time optimization remove corresponding static tables (and code) when no signing/verifcation function is called - [ ] (separate PR:) Compile precomputation as a separate object file and link it (bitcoin-core/secp256k1#988 (comment)) - [ ] (separate PR:) Document the backwards-compatible API changes made in this PR and in bitcoin#956. - [ ] Maybe deprecate the static context ACKs for top commit: sipa: ACK 7dfcece robot-dreams: ACK 7dfcece (based on range-diff between 56284c7d44c0ed46e636588bfbf6c403b7dfa6c1 and 7dfcece) Tree-SHA512: 6efb3f36f05efe3b79bbd877881fe1409f71fd6488d24c811b2e77d9f053bed78670dd1dcbb42ad780458a51c4ffa36de9cd6567271b22041dc7a122ceb677c5
- Loading branch information