diff options
author | Matt Johnston <matt@ucc.asn.au> | 2006-03-08 13:22:52 +0000 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2006-03-08 13:22:52 +0000 |
commit | 2481693cf23dba90c693762a528d2923cde9c9cc (patch) | |
tree | 26730439ecf0977978aa6a000f62f0c3c9144e2e | |
parent | 1c5fda515f96c27d4e3b732d887f418453f1cb14 (diff) |
* Changes imported from Dropbear 0.47.
* bn_mp_clear.c is changed so that some vars are volatile,
so that the compiler won't optimise away
--HG--
branch : libtommath-dropbear
extra : convert_revision : 6c790cad5a7fa866ad062cb3a0c279f7ba788583
-rw-r--r-- | Makefile.in (renamed from makefile) | 20 | ||||
-rw-r--r-- | bn.ilg | 6 | ||||
-rw-r--r-- | bn.ind | 82 | ||||
-rw-r--r-- | bn.pdf | bin | 337204 -> 0 bytes | |||
-rw-r--r-- | bn_mp_clear.c | 11 | ||||
-rw-r--r-- | poster.pdf | bin | 40821 -> 0 bytes | |||
-rw-r--r-- | tommath.pdf | bin | 1160406 -> 0 bytes | |||
-rw-r--r-- | tommath_class.h | 6 |
8 files changed, 26 insertions, 99 deletions
@@ -5,16 +5,22 @@ #version of library VERSION=0.35 -CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare +VPATH=@srcdir@ +srcdir=@srcdir@ + +# Dropbear takes flags from the toplevel makefile +CFLAGS += -I$(srcdir) + +#CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare #for speed -CFLAGS += -O3 -funroll-all-loops +#CFLAGS += -O3 -funroll-all-loops #for size #CFLAGS += -Os #x86 optimizations [should be valid for any GCC install though] -CFLAGS += -fomit-frame-pointer +#CFLAGS += -fomit-frame-pointer #debug #CFLAGS += -g3 @@ -67,7 +73,7 @@ bn_mp_to_signed_bin_n.o bn_mp_to_unsigned_bin_n.o libtommath.a: $(OBJECTS) $(AR) $(ARFLAGS) libtommath.a $(OBJECTS) - ranlib libtommath.a + $(RANLIB) libtommath.a #make a profiled library (takes a while!!!) # @@ -146,10 +152,10 @@ pretty: clean: rm -f *.bat *.pdf *.o *.a *.obj *.lib *.exe *.dll etclib/*.o demo/demo.o test ltmtest mpitest mtest/mtest mtest/mtest.exe \ - *.idx *.toc *.log *.aux *.dvi *.lof *.ind *.ilg *.ps *.log *.s mpi.c *.da *.dyn *.dpi tommath.tex `find -type f | grep [~] | xargs` *.lo *.la + *.idx *.toc *.log *.aux *.dvi *.lof *.ind *.ilg *.ps *.log *.s mpi.c *.da *.dyn *.dpi tommath.tex *.lo *.la rm -rf .libs - cd etc ; make clean - cd pics ; make clean + cd etc && make clean + cd pics && make clean zipup: clean manual poster docs perl gen.pl ; mv mpi.c pre_gen/ ; \ @@ -1,6 +0,0 @@ -This is makeindex, version 2.14 [02-Oct-2002] (kpathsea + Thai support). -Scanning input file bn.idx....done (79 entries accepted, 0 rejected). -Sorting entries....done (511 comparisons). -Generating output file bn.ind....done (82 lines written, 0 warnings). -Output written in bn.ind. -Transcript written in bn.ilg. @@ -1,82 +0,0 @@ -\begin{theindex} - - \item mp\_add, \hyperpage{29} - \item mp\_add\_d, \hyperpage{52} - \item mp\_and, \hyperpage{29} - \item mp\_clear, \hyperpage{11} - \item mp\_clear\_multi, \hyperpage{12} - \item mp\_cmp, \hyperpage{24} - \item mp\_cmp\_d, \hyperpage{25} - \item mp\_cmp\_mag, \hyperpage{23} - \item mp\_div, \hyperpage{30} - \item mp\_div\_2, \hyperpage{26} - \item mp\_div\_2d, \hyperpage{28} - \item mp\_div\_d, \hyperpage{52} - \item mp\_dr\_reduce, \hyperpage{40} - \item mp\_dr\_setup, \hyperpage{40} - \item MP\_EQ, \hyperpage{22} - \item mp\_error\_to\_string, \hyperpage{10} - \item mp\_expt\_d, \hyperpage{43} - \item mp\_exptmod, \hyperpage{43} - \item mp\_exteuclid, \hyperpage{51} - \item mp\_gcd, \hyperpage{51} - \item mp\_get\_int, \hyperpage{20} - \item mp\_grow, \hyperpage{16} - \item MP\_GT, \hyperpage{22} - \item mp\_init, \hyperpage{11} - \item mp\_init\_copy, \hyperpage{13} - \item mp\_init\_multi, \hyperpage{12} - \item mp\_init\_set, \hyperpage{21} - \item mp\_init\_set\_int, \hyperpage{21} - \item mp\_init\_size, \hyperpage{14} - \item mp\_int, \hyperpage{10} - \item mp\_invmod, \hyperpage{52} - \item mp\_jacobi, \hyperpage{52} - \item mp\_lcm, \hyperpage{51} - \item mp\_lshd, \hyperpage{28} - \item MP\_LT, \hyperpage{22} - \item MP\_MEM, \hyperpage{9} - \item mp\_mod, \hyperpage{35} - \item mp\_mod\_d, \hyperpage{52} - \item mp\_montgomery\_calc\_normalization, \hyperpage{38} - \item mp\_montgomery\_reduce, \hyperpage{37} - \item mp\_montgomery\_setup, \hyperpage{37} - \item mp\_mul, \hyperpage{31} - \item mp\_mul\_2, \hyperpage{26} - \item mp\_mul\_2d, \hyperpage{28} - \item mp\_mul\_d, \hyperpage{52} - \item mp\_n\_root, \hyperpage{44} - \item mp\_neg, \hyperpage{29} - \item MP\_NO, \hyperpage{9} - \item MP\_OKAY, \hyperpage{9} - \item mp\_or, \hyperpage{29} - \item mp\_prime\_fermat, \hyperpage{45} - \item mp\_prime\_is\_divisible, \hyperpage{45} - \item mp\_prime\_is\_prime, \hyperpage{46} - \item mp\_prime\_miller\_rabin, \hyperpage{45} - \item mp\_prime\_next\_prime, \hyperpage{46} - \item mp\_prime\_rabin\_miller\_trials, \hyperpage{46} - \item mp\_prime\_random, \hyperpage{47} - \item mp\_prime\_random\_ex, \hyperpage{47} - \item mp\_radix\_size, \hyperpage{49} - \item mp\_read\_radix, \hyperpage{49} - \item mp\_read\_unsigned\_bin, \hyperpage{50} - \item mp\_reduce, \hyperpage{36} - \item mp\_reduce\_2k, \hyperpage{41} - \item mp\_reduce\_2k\_setup, \hyperpage{41} - \item mp\_reduce\_setup, \hyperpage{36} - \item mp\_rshd, \hyperpage{28} - \item mp\_set, \hyperpage{19} - \item mp\_set\_int, \hyperpage{20} - \item mp\_shrink, \hyperpage{15} - \item mp\_sqr, \hyperpage{33} - \item mp\_sub, \hyperpage{29} - \item mp\_sub\_d, \hyperpage{52} - \item mp\_to\_unsigned\_bin, \hyperpage{50} - \item mp\_toradix, \hyperpage{49} - \item mp\_unsigned\_bin\_size, \hyperpage{50} - \item MP\_VAL, \hyperpage{9} - \item mp\_xor, \hyperpage{29} - \item MP\_YES, \hyperpage{9} - -\end{theindex} Binary files differdiff --git a/bn_mp_clear.c b/bn_mp_clear.c index 5342648..1dc053b 100644 --- a/bn_mp_clear.c +++ b/bn_mp_clear.c @@ -19,14 +19,17 @@ void mp_clear (mp_int * a) { - int i; + volatile mp_digit *p; + int len; /* only do anything if a hasn't been freed previously */ if (a->dp != NULL) { /* first zero the digits */ - for (i = 0; i < a->used; i++) { - a->dp[i] = 0; - } + len = a->alloc; + p = a->dp; + while (len--) { + *p++ = 0; + } /* free ram */ XFREE(a->dp); diff --git a/poster.pdf b/poster.pdf Binary files differdeleted file mode 100644 index 4c3e365..0000000 --- a/poster.pdf +++ /dev/null diff --git a/tommath.pdf b/tommath.pdf Binary files differdeleted file mode 100644 index c486d29..0000000 --- a/tommath.pdf +++ /dev/null diff --git a/tommath_class.h b/tommath_class.h index 6d05b7b..9faf627 100644 --- a/tommath_class.h +++ b/tommath_class.h @@ -992,3 +992,9 @@ #else #define LTM_LAST #endif + +/* Dropbear doesn't need these. */ +#undef BN_MP_KARATSUBA_MUL_C +#undef BN_MP_KARATSUBA_SQR_C +#undef BN_MP_TOOM_MUL_C +#undef BN_MP_TOOM_SQR_C |