0001-Build-test-bn_mp_set_double-c-on-more-platforms.patch 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. From 4e90f3185aea9160c28f3eaec5625b67fc0f67db Mon Sep 17 00:00:00 2001
  2. From: Daniel Green <ddgreen@gmail.com>
  3. Date: Sun, 9 Feb 2020 11:06:53 -0500
  4. Subject: [PATCH] Build+test bn_mp_set_double.c on more platforms
  5. Not all platforms/environments/architectures that support enough of
  6. IEEE 754 for the purposes of mp_set_double() actually support enough
  7. to legitimately define __STDC_IEC_559__, so only relying on that is
  8. too strict. Fixes https://github.com/libtom/libtommath/issues/159
  9. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  10. [Retrieved (and backported) from:
  11. https://github.com/libtom/libtommath/commit/4e90f3185aea9160c28f3eaec5625b67fc0f67db]
  12. ---
  13. demo/test.c | 2 +-
  14. bn_mp_set_double.c | 2 +-
  15. 2 files changed, 2 insertions(+), 2 deletions(-)
  16. diff --git a/demo/test.c b/demo/test.c
  17. index 998f14b3..f719709d 100644
  18. --- a/demo/test.c
  19. +++ b/demo/test.c
  20. @@ -522,7 +522,7 @@ static int test_mp_invmod(void)
  21. }
  22. -#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559)
  23. +#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) || defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) || defined(__i386__) || defined(_M_X86) || defined(__aarch64__) || defined(__arm__)
  24. static int test_mp_set_double(void)
  25. {
  26. int i;
  27. diff --git a/mp_set_double.c b/mp_set_double.c
  28. index 78550c8f..cdc644d9 100644
  29. --- a/bn_mp_set_double.c
  30. +++ b/bn_mp_set_double.c
  31. @@ -3,7 +3,7 @@
  32. /* LibTomMath, multiple-precision integer library -- Tom St Denis */
  33. /* SPDX-License-Identifier: Unlicense */
  34. -#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559)
  35. +#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) || defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) || defined(__i386__) || defined(_M_X86) || defined(__aarch64__) || defined(__arm__)
  36. mp_err mp_set_double(mp_int *a, double b)
  37. {
  38. uint64_t frac;