commit e9e430403cb70e18ae3c22e47d24c189be8e492c Author: Nick Mathewson nickm@torproject.org Date: Mon Mar 25 10:07:41 2013 -0400
Fix two dump bugs in "whether we can use curve25519-donna-c64" test
Dumb bug 1: == has higher precedence than &.
Dumb bug 2: the main() function in an AC_RUN_IFELSE test is expected to return 0 on success, not 1. --- changes/bug8587 | 5 +++++ configure.ac | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/changes/bug8587 b/changes/bug8587 new file mode 100644 index 0000000..84d2f1e --- /dev/null +++ b/changes/bug8587 @@ -0,0 +1,5 @@ + o Minor bugfixes (build): + - Build Tor correctly on 32-bit platforms where the compiler can build + but not run code using the "uint128_t" construction. Fixes bug 8587; + bugfix on 0.2.4.8-alpha. + diff --git a/configure.ac b/configure.ac index ed452cb..8a79653 100644 --- a/configure.ac +++ b/configure.ac @@ -667,10 +667,11 @@ if test x$enable_curve25519 != xno; then uint64_t a = ((uint64_t)2000000000) * 1000000000; uint64_t b = ((uint64_t)1234567890) << 24; uint128_t c = ((uint128_t)a) * b; - return ((uint64_t)(c>>96)) == 522859 && - ((uint64_t)(c>>64))&0xffffffffL == 3604448702L && - ((uint64_t)(c>>32))&0xffffffffL == 2351960064L && - ((uint64_t)(c))&0xffffffffL == 0; + int ok = ((uint64_t)(c>>96)) == 522859 && + (((uint64_t)(c>>64))&0xffffffffL) == 3604448702L && + (((uint64_t)(c>>32))&0xffffffffL) == 2351960064L && + (((uint64_t)(c))&0xffffffffL) == 0; + return !ok; ])], [tor_cv_can_use_curve25519_donna_c64=yes], [tor_cv_can_use_curve25519_donna_c64=no], @@ -682,10 +683,11 @@ if test x$enable_curve25519 != xno; then uint64_t a = ((uint64_t)2000000000) * 1000000000; uint64_t b = ((uint64_t)1234567890) << 24; uint128_t c = ((uint128_t)a) * b; - return ((uint64_t)(c>>96)) == 522859 && - ((uint64_t)(c>>64))&0xffffffffL == 3604448702L && - ((uint64_t)(c>>32))&0xffffffffL == 2351960064L && - ((uint64_t)(c))&0xffffffffL == 0; + int ok = ((uint64_t)(c>>96)) == 522859 && + (((uint64_t)(c>>64))&0xffffffffL) == 3604448702L && + (((uint64_t)(c>>32))&0xffffffffL) == 2351960064L && + (((uint64_t)(c))&0xffffffffL) == 0; + return !ok; ])], [tor_cv_can_use_curve25519_donna_c64=cross], [tor_cv_can_use_curve25519_donna_c64=no])])])
tor-commits@lists.torproject.org