You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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#893, resolves#692 (and also resolvesbitcoin/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 (#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 #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 (#988 (comment))
- [ ] (separate PR:) Document the backwards-compatible API changes made in this PR and in #956.
- [ ] Maybe deprecate the static context
ACKs for top commit:
sipa:
ACK 7dfcece
robot-dreams:
ACK 7dfcece (based on range-diff between 56284c7 and 7dfcece)
Tree-SHA512: 6efb3f36f05efe3b79bbd877881fe1409f71fd6488d24c811b2e77d9f053bed78670dd1dcbb42ad780458a51c4ffa36de9cd6567271b22041dc7a122ceb677c5
0 commit comments