Import some patches from libsecp256k1. Highlights:
- Use GCC inline assembly instead of YASM (lower dependencies, faster)
- Do large precomputations on the heap (to avoid stack overflows).
- Check results of malloc.
Import some patches from libsecp256k1. Highlights:
3545627 Merge pull request #118
6a9901e Merge pull request #137
376b28b Merge pull request #128
1728806 Merge pull request #138
a5759c5 Check return value of malloc
39bd94d Variable time normalize
ad86bdf Merge pull request #140
54b768c Another redundant secp256k1_fe_normalize
69dcaab Merge pull request #139
1c29f2e Remove redundant secp256k1_fe_normalize from secp256k1_gej_add_ge_var.
2b9388b Remove unused secp256k1_fe_inv_all
f461b76 Allocate precomputation arrays on the heap
b2c9681 Make {mul,sqr}_inner use the same argument order as {mul,sqr}
6793505 Convert YASM code into inline assembly
f048615 Rewrite field assembly to match the C version
3ce74b1 Tweak precomputed table size for G
git-subtree-dir: src/secp256k1
git-subtree-split: 3545627acb6059832834569829e97fb469933b29I can't reproduce this.
Tried:
./configure --prefix=/home/pw/git/bitcoin/depends/x86_64-unknown-linux-gnu/ --enable-glibc-back-compat
make check
All works fine, and:
valgrind ./src/bitcoin-tx - <src/test/data/blanktx.hex
(the test which segfaults in Travis) also gives 0 errors.
Closing until bug fixed in secp256k1 repo.