summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclStrToD.c2
-rw-r--r--generic/tclStubInit.c24
-rw-r--r--generic/tclTomMath.decls14
-rw-r--r--generic/tclTomMathDecls.h38
-rw-r--r--generic/tclTomMathInterface.c5
-rw-r--r--generic/tclZipfs.c38
-rw-r--r--unix/Makefile.in5
-rw-r--r--unix/tclUnixFile.c3
-rw-r--r--win/Makefile.in1
-rw-r--r--win/makefile.vc1
10 files changed, 61 insertions, 70 deletions
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index 2b59913..348b0eb 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -4321,7 +4321,7 @@ TclInitDoubleConversion(void)
for (i=0; i<8; ++i) {
mp_sqr(pow5+i, pow5+i+1);
}
- mp_init_set_int(pow5_13, 1220703125);
+ mp_init_ul(pow5_13, 1220703125);
for (i = 1; i < 5; ++i) {
mp_init(pow5_13 + i);
mp_sqr(pow5_13 + i - 1, pow5_13 + i);
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 8ab015f..ddc7fb2 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -64,22 +64,13 @@ MP_GET_MAG(mp_get_mag_ull, Tcl_WideUInt)
mp_err TclBN_mp_set_int(mp_int *a, unsigned long i)
{
- TclBN_mp_set_ul(a, i);
+ mp_set_ul(a, i);
return MP_OKAY;
}
-mp_err TclBN_mp_init_set_int(mp_int *a, unsigned long i)
-{
- mp_err result = mp_init(a);
- if (result == MP_OKAY) {
- TclBN_mp_set_ul(a, i);
- }
- return result;
-}
-
static mp_err TclBN_mp_set_long(mp_int *a, unsigned long i)
{
- TclBN_mp_set_ul(a, i);
+ mp_set_ul(a, i);
return MP_OKAY;
}
@@ -175,9 +166,6 @@ static int exprIntObj(Tcl_Interp *interp, Tcl_Obj*expr, int *ptr){
#endif /* __CYGWIN__ */
-#undef TclBN_mp_unsigned_bin_size
-#define TclBN_mp_unsigned_bin_size (int (*)(const mp_int *a)) mp_ubin_size
-
/*
* WARNING: The contents of this file is automatically generated by the
* tools/genStubs.tcl script. Any modifications to the function declarations
@@ -625,7 +613,7 @@ const TclTomMathStubs tclTomMathStubs = {
0, /* 44 */
0, /* 45 */
0, /* 46 */
- TclBN_mp_unsigned_bin_size, /* 47 */
+ 0, /* 47 */
TclBN_mp_xor, /* 48 */
TclBN_mp_zero, /* 49 */
0, /* 50 */
@@ -639,8 +627,8 @@ const TclTomMathStubs tclTomMathStubs = {
0, /* 58 */
0, /* 59 */
0, /* 60 */
- TclBN_mp_init_set_int, /* 61 */
- TclBN_mp_set_int, /* 62 */
+ TclBN_mp_init_ul, /* 61 */
+ TclBN_mp_set_ul, /* 62 */
TclBN_mp_cnt_lsb, /* 63 */
0, /* 64 */
0, /* 65 */
@@ -648,7 +636,7 @@ const TclTomMathStubs tclTomMathStubs = {
0, /* 67 */
TclBN_mp_set_ull, /* 68 */
TclBN_mp_get_mag_ull, /* 69 */
- TclBN_mp_set_ul, /* 70 */
+ 0, /* 70 */
TclBN_mp_get_mag_ul, /* 71 */
TclBN_mp_isodd, /* 72 */
0, /* 73 */
diff --git a/generic/tclTomMath.decls b/generic/tclTomMath.decls
index 753ebca..74ccd22 100644
--- a/generic/tclTomMath.decls
+++ b/generic/tclTomMath.decls
@@ -168,9 +168,10 @@ declare 43 {
#declare 46 {
# mp_err TclBN_mp_toradix_n(const mp_int *a, char *str, int radix, int maxlen)
#}
-declare 47 {
- int TclBN_mp_unsigned_bin_size(const mp_int *a)
-}
+# Removed in 9.0
+#declare 47 {deprecated {Use mp_ubin_size}} {
+# int TclBN_mp_unsigned_bin_size(const mp_int *a)
+#}
declare 48 {
mp_err TclBN_mp_xor(const mp_int *a, const mp_int *b, mp_int *c)
}
@@ -178,10 +179,10 @@ declare 49 {
void TclBN_mp_zero(mp_int *a)
}
declare 61 {
- mp_err TclBN_mp_init_set_int(mp_int *a, unsigned long i)
+ mp_err TclBN_mp_init_ul(mp_int *a, unsigned long i)
}
declare 62 {
- mp_err TclBN_mp_set_int(mp_int *a, unsigned long i)
+ void TclBN_mp_set_ul(mp_int *a, unsigned long i)
}
declare 63 {
int TclBN_mp_cnt_lsb(const mp_int *a)
@@ -213,9 +214,6 @@ declare 68 {
declare 69 {
Tcl_WideUInt TclBN_mp_get_mag_ull(const mp_int *a)
}
-declare 70 {
- void TclBN_mp_set_ul(mp_int *a, unsigned long i)
-}
declare 71 {
unsigned long TclBN_mp_get_mag_ul(const mp_int *a)
}
diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h
index 20fa442..dd86c9d 100644
--- a/generic/tclTomMathDecls.h
+++ b/generic/tclTomMathDecls.h
@@ -90,8 +90,9 @@
#define mp_init_copy TclBN_mp_init_copy
#define mp_init_multi TclBN_mp_init_multi
#define mp_init_set TclBN_mp_init_set
-#define mp_init_set_int TclBN_mp_init_set_int
+#define mp_init_set_int(a,i) TclBN_mp_init_ul(a,(unsigned int)(i))
#define mp_init_size TclBN_mp_init_size
+#define mp_init_ul TclBN_mp_init_ul
#define mp_karatsuba_mul TclBN_mp_karatsuba_mul
#define s_mp_karatsuba_mul TclBN_mp_karatsuba_mul
#define mp_karatsuba_sqr TclBN_mp_karatsuba_sqr
@@ -110,7 +111,7 @@
#define mp_read_radix TclBN_mp_read_radix
#define mp_rshd TclBN_mp_rshd
#define mp_set TclBN_mp_set
-#define mp_set_int TclBN_mp_set_int
+#define mp_set_int(a,b) (TclBN_mp_set_ul((a),((unsigned int)(b))),MP_OKAY)
#define mp_set_long(a,b) (TclBN_mp_set_ul((a),(b)),MP_OKAY)
#define mp_set_long_long(a,b) (TclBN_mp_set_ull((a),(b)),MP_OKAY)
#define mp_set_ul TclBN_mp_set_ul
@@ -136,7 +137,6 @@
#define mp_to_radix TclBN_mp_to_radix
#define mp_to_ubin TclBN_mp_to_ubin
#define mp_ubin_size TclBN_mp_ubin_size
-#define mp_unsigned_bin_size TclBN_mp_unsigned_bin_size
#define mp_xor TclBN_mp_xor
#define mp_zero TclBN_mp_zero
#define s_mp_add TclBN_s_mp_add
@@ -296,8 +296,7 @@ EXTERN mp_err TclBN_mp_sub_d(const mp_int *a, mp_digit b,
/* Slot 44 is reserved */
/* Slot 45 is reserved */
/* Slot 46 is reserved */
-/* 47 */
-EXTERN int TclBN_mp_unsigned_bin_size(const mp_int *a);
+/* Slot 47 is reserved */
/* 48 */
EXTERN mp_err TclBN_mp_xor(const mp_int *a, const mp_int *b,
mp_int *c);
@@ -315,9 +314,9 @@ EXTERN void TclBN_mp_zero(mp_int *a);
/* Slot 59 is reserved */
/* Slot 60 is reserved */
/* 61 */
-EXTERN mp_err TclBN_mp_init_set_int(mp_int *a, unsigned long i);
+EXTERN mp_err TclBN_mp_init_ul(mp_int *a, unsigned long i);
/* 62 */
-EXTERN mp_err TclBN_mp_set_int(mp_int *a, unsigned long i);
+EXTERN void TclBN_mp_set_ul(mp_int *a, unsigned long i);
/* 63 */
EXTERN int TclBN_mp_cnt_lsb(const mp_int *a);
/* Slot 64 is reserved */
@@ -328,8 +327,7 @@ EXTERN int TclBN_mp_cnt_lsb(const mp_int *a);
EXTERN void TclBN_mp_set_ull(mp_int *a, Tcl_WideUInt i);
/* 69 */
EXTERN Tcl_WideUInt TclBN_mp_get_mag_ull(const mp_int *a);
-/* 70 */
-EXTERN void TclBN_mp_set_ul(mp_int *a, unsigned long i);
+/* Slot 70 is reserved */
/* 71 */
EXTERN unsigned long TclBN_mp_get_mag_ul(const mp_int *a);
/* 72 */
@@ -401,7 +399,7 @@ typedef struct TclTomMathStubs {
void (*reserved44)(void);
void (*reserved45)(void);
void (*reserved46)(void);
- int (*tclBN_mp_unsigned_bin_size) (const mp_int *a); /* 47 */
+ void (*reserved47)(void);
mp_err (*tclBN_mp_xor) (const mp_int *a, const mp_int *b, mp_int *c); /* 48 */
void (*tclBN_mp_zero) (mp_int *a); /* 49 */
void (*reserved50)(void);
@@ -415,8 +413,8 @@ typedef struct TclTomMathStubs {
void (*reserved58)(void);
void (*reserved59)(void);
void (*reserved60)(void);
- mp_err (*tclBN_mp_init_set_int) (mp_int *a, unsigned long i); /* 61 */
- mp_err (*tclBN_mp_set_int) (mp_int *a, unsigned long i); /* 62 */
+ mp_err (*tclBN_mp_init_ul) (mp_int *a, unsigned long i); /* 61 */
+ void (*tclBN_mp_set_ul) (mp_int *a, unsigned long i); /* 62 */
int (*tclBN_mp_cnt_lsb) (const mp_int *a); /* 63 */
void (*reserved64)(void);
void (*reserved65)(void);
@@ -424,7 +422,7 @@ typedef struct TclTomMathStubs {
void (*reserved67)(void);
void (*tclBN_mp_set_ull) (mp_int *a, Tcl_WideUInt i); /* 68 */
Tcl_WideUInt (*tclBN_mp_get_mag_ull) (const mp_int *a); /* 69 */
- void (*tclBN_mp_set_ul) (mp_int *a, unsigned long i); /* 70 */
+ void (*reserved70)(void);
unsigned long (*tclBN_mp_get_mag_ul) (const mp_int *a); /* 71 */
mp_bool (*tclBN_mp_isodd) (const mp_int *a); /* 72 */
void (*reserved73)(void);
@@ -540,8 +538,7 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
/* Slot 44 is reserved */
/* Slot 45 is reserved */
/* Slot 46 is reserved */
-#define TclBN_mp_unsigned_bin_size \
- (tclTomMathStubsPtr->tclBN_mp_unsigned_bin_size) /* 47 */
+/* Slot 47 is reserved */
#define TclBN_mp_xor \
(tclTomMathStubsPtr->tclBN_mp_xor) /* 48 */
#define TclBN_mp_zero \
@@ -557,10 +554,10 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
/* Slot 58 is reserved */
/* Slot 59 is reserved */
/* Slot 60 is reserved */
-#define TclBN_mp_init_set_int \
- (tclTomMathStubsPtr->tclBN_mp_init_set_int) /* 61 */
-#define TclBN_mp_set_int \
- (tclTomMathStubsPtr->tclBN_mp_set_int) /* 62 */
+#define TclBN_mp_init_ul \
+ (tclTomMathStubsPtr->tclBN_mp_init_ul) /* 61 */
+#define TclBN_mp_set_ul \
+ (tclTomMathStubsPtr->tclBN_mp_set_ul) /* 62 */
#define TclBN_mp_cnt_lsb \
(tclTomMathStubsPtr->tclBN_mp_cnt_lsb) /* 63 */
/* Slot 64 is reserved */
@@ -571,8 +568,7 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
(tclTomMathStubsPtr->tclBN_mp_set_ull) /* 68 */
#define TclBN_mp_get_mag_ull \
(tclTomMathStubsPtr->tclBN_mp_get_mag_ull) /* 69 */
-#define TclBN_mp_set_ul \
- (tclTomMathStubsPtr->tclBN_mp_set_ul) /* 70 */
+/* Slot 70 is reserved */
#define TclBN_mp_get_mag_ul \
(tclTomMathStubsPtr->tclBN_mp_get_mag_ul) /* 71 */
#define TclBN_mp_isodd \
diff --git a/generic/tclTomMathInterface.c b/generic/tclTomMathInterface.c
index 55530ab..eb012e4 100644
--- a/generic/tclTomMathInterface.c
+++ b/generic/tclTomMathInterface.c
@@ -112,11 +112,12 @@ TclInitBignumFromWideInt(
Tcl_WideInt v) /* Initial value */
{
if (mp_init(a) != MP_OKAY) {
- Tcl_Panic("initialization failure in TclInitBignumFromWideInt");
+ wipanic:
+ Tcl_Panic("initialization failure in TclInitBignumFromWideInt");
}
if (v < (Tcl_WideInt)0) {
mp_set_ull(a, (Tcl_WideUInt)(-v));
- mp_neg(a, a);
+ if (mp_neg(a, a) != MP_OKAY) goto wipanic;
} else {
mp_set_ull(a, (Tcl_WideUInt)v);
}
diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c
index caf9359..9135eae 100644
--- a/generic/tclZipfs.c
+++ b/generic/tclZipfs.c
@@ -277,13 +277,15 @@ static struct {
Tcl_HashTable zipHash; /* Mount to ZipFile mapping */
} ZipFS = {
0, 0, 0, DEFAULT_WRITE_MAX_SIZE, 0,
+ {0,{0,0,0,0},0,0,0,0,0,0,0,0,0},
+ {0,{0,0,0,0},0,0,0,0,0,0,0,0,0}
};
/*
* For password rotation.
*/
-static const char pwrot[16] =
+static const char pwrot[17] =
"\x00\x80\x40\xC0\x20\xA0\x60\xE0"
"\x10\x90\x50\xD0\x30\xB0\x70\xF0";
@@ -1873,7 +1875,7 @@ TclZipfs_Unmount(
static int
ZipFSMountObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -1907,7 +1909,7 @@ ZipFSMountObjCmd(
static int
ZipFSMountBufferObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -1959,7 +1961,7 @@ ZipFSMountBufferObjCmd(
static int
ZipFSRootObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -1986,7 +1988,7 @@ ZipFSRootObjCmd(
static int
ZipFSUnmountObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2017,7 +2019,7 @@ ZipFSUnmountObjCmd(
static int
ZipFSMkKeyObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2796,7 +2798,7 @@ ZipFSMkZipOrImgObjCmd(
static int
ZipFSMkZipObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2816,7 +2818,7 @@ ZipFSMkZipObjCmd(
static int
ZipFSLMkZipObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2853,7 +2855,7 @@ ZipFSLMkZipObjCmd(
static int
ZipFSMkImgObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2874,7 +2876,7 @@ ZipFSMkImgObjCmd(
static int
ZipFSLMkImgObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2911,7 +2913,7 @@ ZipFSLMkImgObjCmd(
static int
ZipFSCanonicalObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -2967,7 +2969,7 @@ ZipFSCanonicalObjCmd(
static int
ZipFSExistsObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -3020,7 +3022,7 @@ ZipFSExistsObjCmd(
static int
ZipFSInfoObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -3070,7 +3072,7 @@ ZipFSInfoObjCmd(
static int
ZipFSListObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -3267,7 +3269,7 @@ TclZipfs_TclLibrary(void)
static int
ZipFSTclLibraryObjCmd(
- void *clientData, /* Not used. */
+ void *dummy, /* Not used. */
Tcl_Interp *interp, /* Current interpreter. */
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
@@ -3302,7 +3304,7 @@ ZipFSTclLibraryObjCmd(
static int
ZipChannelClose(
void *instanceData,
- Tcl_Interp *interp) /* Current interpreter. */
+ Tcl_Interp *dummy) /* Current interpreter. */
{
ZipChannel *info = instanceData;
@@ -4152,7 +4154,7 @@ ZipFSFilesystemSeparatorProc(
static int
ZipFSMatchInDirectoryProc(
- Tcl_Interp *interp, /* Current interpreter. */
+ Tcl_Interp *dummy, /* Current interpreter. */
Tcl_Obj *result,
Tcl_Obj *pathPtr,
const char *pattern,
@@ -4342,7 +4344,7 @@ ZipFSMatchInDirectoryProc(
static int
ZipFSPathInFilesystemProc(
Tcl_Obj *pathPtr,
- void **clientDataPtr)
+ void **dummy)
{
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
diff --git a/unix/Makefile.in b/unix/Makefile.in
index b21d81e..0e0249e 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -329,7 +329,7 @@ TOMMATH_OBJS = bn_s_mp_reverse.o bn_s_mp_mul_digs_fast.o \
bn_mp_div_2d.o bn_mp_div_3.o bn_mp_exch.o bn_mp_expt_u32.o \
bn_s_mp_get_bit.o bn_mp_get_mag_ul.o bn_mp_grow.o bn_mp_init.o \
bn_mp_init_copy.o bn_mp_init_multi.o bn_mp_init_set.o \
- bn_mp_init_size.o bn_s_mp_karatsuba_mul.o \
+ bn_mp_init_size.o bn_mp_init_ul.o bn_s_mp_karatsuba_mul.o \
bn_s_mp_karatsuba_sqr.o bn_s_mp_balance_mul.o bn_mp_isodd.o \
bn_mp_lshd.o bn_mp_mod.o bn_mp_mod_2d.o bn_mp_mul.o bn_mp_mul_2.o \
bn_mp_mul_2d.o bn_mp_mul_d.o bn_mp_neg.o bn_mp_or.o \
@@ -1635,6 +1635,9 @@ bn_mp_init_set.o: $(TOMMATH_DIR)/bn_mp_init_set.c $(MATHHDRS)
bn_mp_init_size.o:$(TOMMATH_DIR)/bn_mp_init_size.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_size.c
+bn_mp_init_ul.o:$(TOMMATH_DIR)/bn_mp_init_ul.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_init_ul.c
+
bn_s_mp_karatsuba_mul.o: $(TOMMATH_DIR)/bn_s_mp_karatsuba_mul.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_karatsuba_mul.c
diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c
index 3589253..0cc4031 100644
--- a/unix/tclUnixFile.c
+++ b/unix/tclUnixFile.c
@@ -270,7 +270,8 @@ TclpMatchInDirectory(
Tcl_Encoding encoding = Tcl_GetEncoding(interp ,NULL);
Tcl_DStringInit(&dsOrig);
- dirName = TclGetStringFromObj(fileNamePtr, &dirLength);
+ dirName = TclGetString(fileNamePtr);
+ dirLength = fileNamePtr->length;
Tcl_DStringAppend(&dsOrig, dirName, dirLength);
/*
diff --git a/win/Makefile.in b/win/Makefile.in
index d5968d2..0c6aa93 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -387,6 +387,7 @@ TOMMATH_OBJS = \
bn_mp_init_multi.${OBJEXT} \
bn_mp_init_set.${OBJEXT} \
bn_mp_init_size.${OBJEXT} \
+ bn_mp_init_ul.${OBJEXT} \
bn_mp_isodd.${OBJEXT} \
bn_mp_lshd.${OBJEXT} \
bn_mp_mod.${OBJEXT} \
diff --git a/win/makefile.vc b/win/makefile.vc
index a756164..a34b611 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -341,6 +341,7 @@ TOMMATHOBJS = \
$(TMP_DIR)\bn_mp_init_multi.obj \
$(TMP_DIR)\bn_mp_init_set.obj \
$(TMP_DIR)\bn_mp_init_size.obj \
+ $(TMP_DIR)\bn_mp_init_ul.obj \
$(TMP_DIR)\bn_mp_isodd.obj \
$(TMP_DIR)\bn_mp_lshd.obj \
$(TMP_DIR)\bn_mp_mod.obj \