mirror of https://github.com/wolfSSL/wolfssl.git
commit
31e37ea5df
13
configure.ac
13
configure.ac
|
@ -1645,6 +1645,19 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# STACK usage logging
|
||||||
|
AC_ARG_ENABLE([stacklog],
|
||||||
|
[AS_HELP_STRING([--enable-stacklog],[Enable stack logging (default: disabled)])],
|
||||||
|
[ ENABLED_STACKLOG=$enableval ],
|
||||||
|
[ ENABLED_STACKLOG=no ]
|
||||||
|
)
|
||||||
|
|
||||||
|
if test "$ENABLED_STACKLOG" = "yes"
|
||||||
|
then
|
||||||
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_STACK_LOG -finstrument-functions"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
AC_ARG_ENABLE([rsa],
|
AC_ARG_ENABLE([rsa],
|
||||||
|
|
|
@ -8679,6 +8679,8 @@ int ProcessPeerCerts(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
||||||
(void)sizeof(args_test);
|
(void)sizeof(args_test);
|
||||||
#elif defined(WOLFSSL_NONBLOCK_OCSP)
|
#elif defined(WOLFSSL_NONBLOCK_OCSP)
|
||||||
ProcPeerCertArgs* args = ssl->nonblockarg;
|
ProcPeerCertArgs* args = ssl->nonblockarg;
|
||||||
|
#elif defined(WOLFSSL_SMALL_STACK)
|
||||||
|
ProcPeerCertArgs* args = NULL;
|
||||||
#else
|
#else
|
||||||
ProcPeerCertArgs args[1];
|
ProcPeerCertArgs args[1];
|
||||||
#endif
|
#endif
|
||||||
|
@ -8707,6 +8709,12 @@ int ProcessPeerCerts(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ssl->nonblockarg == NULL) /* new args */
|
if (ssl->nonblockarg == NULL) /* new args */
|
||||||
|
#elif defined(WOLFSSL_SMALL_STACK)
|
||||||
|
args = (ProcPeerCertArgs*)XMALLOC(
|
||||||
|
sizeof(ProcPeerCertArgs), ssl->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
if (args == NULL) {
|
||||||
|
ERROR_OUT(MEMORY_E, exit_ppc);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/* Reset state */
|
/* Reset state */
|
||||||
|
@ -9837,9 +9845,12 @@ exit_ppc:
|
||||||
|
|
||||||
FreeProcPeerCertArgs(ssl, args);
|
FreeProcPeerCertArgs(ssl, args);
|
||||||
|
|
||||||
#if !defined(WOLFSSL_ASYNC_CRYPT) && defined(WOLFSSL_NONBLOCK_OCSP)
|
#if defined(WOLFSSL_ASYNC_CRYPT)
|
||||||
|
#elif defined(WOLFSSL_NONBLOCK_OCSP)
|
||||||
XFREE(args, ssl->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(args, ssl->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
ssl->nonblockarg = NULL;
|
ssl->nonblockarg = NULL;
|
||||||
|
#elif defined(WOLFSSL_SMALL_STACK)
|
||||||
|
XFREE(args, ssl->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FreeKeyExchange(ssl);
|
FreeKeyExchange(ssl);
|
||||||
|
|
|
@ -1074,3 +1074,22 @@ void xfree(void *p, void* heap, int type, const char* func, const char* file,
|
||||||
}
|
}
|
||||||
#endif /* WOLFSSL_MEMORY_LOG */
|
#endif /* WOLFSSL_MEMORY_LOG */
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_STACK_LOG
|
||||||
|
/* Note: this code only works with GCC using -finstrument-functions. */
|
||||||
|
void __attribute__((no_instrument_function))
|
||||||
|
__cyg_profile_func_enter(void *func, void *caller)
|
||||||
|
{
|
||||||
|
register void* sp asm("sp");
|
||||||
|
fprintf(stderr, "ENTER: %016lx %p\n", (size_t)func, sp);
|
||||||
|
(void)caller;
|
||||||
|
}
|
||||||
|
|
||||||
|
void __attribute__((no_instrument_function))
|
||||||
|
__cyg_profile_func_exit(void *func, void *caller)
|
||||||
|
{
|
||||||
|
register void* sp asm("sp");
|
||||||
|
fprintf(stderr, "EXIT: %016lx %p\n", (size_t)func, sp);
|
||||||
|
(void)caller;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -19185,7 +19185,6 @@ static void sp_256_div2_8(sp_digit* r, sp_digit* a, sp_digit* m)
|
||||||
static void sp_256_proj_point_dbl_8(sp_point* r, sp_point* p, sp_digit* t)
|
static void sp_256_proj_point_dbl_8(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*8;
|
sp_digit* t2 = t + 2*8;
|
||||||
sp_digit* x;
|
sp_digit* x;
|
||||||
|
@ -19195,7 +19194,8 @@ static void sp_256_proj_point_dbl_8(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
|
|
||||||
/* When infinity don't double point passed in - constant time. */
|
/* When infinity don't double point passed in - constant time. */
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -19372,7 +19372,6 @@ static void sp_256_proj_point_add_8(sp_point* r, sp_point* p, sp_point* q,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*8;
|
sp_digit* t2 = t + 2*8;
|
||||||
sp_digit* t3 = t + 4*8;
|
sp_digit* t3 = t + 4*8;
|
||||||
|
@ -19399,8 +19398,8 @@ static void sp_256_proj_point_add_8(sp_point* r, sp_point* p, sp_point* q,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -19596,7 +19595,6 @@ static void sp_256_proj_point_dbl_n_8(sp_point* r, sp_point* p, int n,
|
||||||
sp_digit* t)
|
sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* w = t;
|
sp_digit* w = t;
|
||||||
sp_digit* a = t + 2*8;
|
sp_digit* a = t + 2*8;
|
||||||
sp_digit* b = t + 4*8;
|
sp_digit* b = t + 4*8;
|
||||||
|
@ -19608,7 +19606,8 @@ static void sp_256_proj_point_dbl_n_8(sp_point* r, sp_point* p, int n,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -19672,7 +19671,6 @@ static void sp_256_proj_point_add_qz1_8(sp_point* r, sp_point* p,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*8;
|
sp_digit* t2 = t + 2*8;
|
||||||
sp_digit* t3 = t + 4*8;
|
sp_digit* t3 = t + 4*8;
|
||||||
|
@ -19692,8 +19690,8 @@ static void sp_256_proj_point_add_qz1_8(sp_point* r, sp_point* p,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
|
|
@ -13408,7 +13408,6 @@ static void sp_256_div2_4(sp_digit* r, sp_digit* a, sp_digit* m)
|
||||||
static void sp_256_proj_point_dbl_4(sp_point* r, sp_point* p, sp_digit* t)
|
static void sp_256_proj_point_dbl_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* x;
|
sp_digit* x;
|
||||||
|
@ -13418,7 +13417,8 @@ static void sp_256_proj_point_dbl_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
|
|
||||||
/* When infinity don't double point passed in - constant time. */
|
/* When infinity don't double point passed in - constant time. */
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -13483,7 +13483,6 @@ static void sp_256_proj_point_dbl_n_4(sp_point* r, sp_point* p, int n,
|
||||||
sp_digit* t)
|
sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* w = t;
|
sp_digit* w = t;
|
||||||
sp_digit* a = t + 2*4;
|
sp_digit* a = t + 2*4;
|
||||||
sp_digit* b = t + 4*4;
|
sp_digit* b = t + 4*4;
|
||||||
|
@ -13495,7 +13494,8 @@ static void sp_256_proj_point_dbl_n_4(sp_point* r, sp_point* p, int n,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -13568,7 +13568,6 @@ static void sp_256_proj_point_add_4(sp_point* r, sp_point* p, sp_point* q,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* t3 = t + 4*4;
|
sp_digit* t3 = t + 4*4;
|
||||||
|
@ -13595,8 +13594,8 @@ static void sp_256_proj_point_add_4(sp_point* r, sp_point* p, sp_point* q,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -13998,7 +13997,6 @@ static void sp_256_proj_point_add_qz1_4(sp_point* r, sp_point* p,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* t3 = t + 4*4;
|
sp_digit* t3 = t + 4*4;
|
||||||
|
@ -14018,8 +14016,8 @@ static void sp_256_proj_point_add_qz1_4(sp_point* r, sp_point* p,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
|
|
@ -8504,7 +8504,6 @@ static void sp_256_div2_10(sp_digit* r, sp_digit* a, sp_digit* m)
|
||||||
static void sp_256_proj_point_dbl_10(sp_point* r, sp_point* p, sp_digit* t)
|
static void sp_256_proj_point_dbl_10(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*10;
|
sp_digit* t2 = t + 2*10;
|
||||||
sp_digit* x;
|
sp_digit* x;
|
||||||
|
@ -8514,7 +8513,8 @@ static void sp_256_proj_point_dbl_10(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
|
|
||||||
/* When infinity don't double point passed in - constant time. */
|
/* When infinity don't double point passed in - constant time. */
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -8594,7 +8594,6 @@ static void sp_256_proj_point_add_10(sp_point* r, sp_point* p, sp_point* q,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*10;
|
sp_digit* t2 = t + 2*10;
|
||||||
sp_digit* t3 = t + 4*10;
|
sp_digit* t3 = t + 4*10;
|
||||||
|
@ -8621,8 +8620,8 @@ static void sp_256_proj_point_add_10(sp_point* r, sp_point* p, sp_point* q,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -9018,7 +9017,6 @@ static void sp_256_proj_point_dbl_n_10(sp_point* r, sp_point* p, int n,
|
||||||
sp_digit* t)
|
sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* w = t;
|
sp_digit* w = t;
|
||||||
sp_digit* a = t + 2*10;
|
sp_digit* a = t + 2*10;
|
||||||
sp_digit* b = t + 4*10;
|
sp_digit* b = t + 4*10;
|
||||||
|
@ -9030,7 +9028,8 @@ static void sp_256_proj_point_dbl_n_10(sp_point* r, sp_point* p, int n,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -9094,7 +9093,6 @@ static void sp_256_proj_point_add_qz1_10(sp_point* r, sp_point* p,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*10;
|
sp_digit* t2 = t + 2*10;
|
||||||
sp_digit* t3 = t + 4*10;
|
sp_digit* t3 = t + 4*10;
|
||||||
|
@ -9114,8 +9112,8 @@ static void sp_256_proj_point_add_qz1_10(sp_point* r, sp_point* p,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
|
|
@ -7727,7 +7727,6 @@ static void sp_256_div2_5(sp_digit* r, sp_digit* a, sp_digit* m)
|
||||||
static void sp_256_proj_point_dbl_5(sp_point* r, sp_point* p, sp_digit* t)
|
static void sp_256_proj_point_dbl_5(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*5;
|
sp_digit* t2 = t + 2*5;
|
||||||
sp_digit* x;
|
sp_digit* x;
|
||||||
|
@ -7737,7 +7736,8 @@ static void sp_256_proj_point_dbl_5(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
|
|
||||||
/* When infinity don't double point passed in - constant time. */
|
/* When infinity don't double point passed in - constant time. */
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -7816,7 +7816,6 @@ static void sp_256_proj_point_add_5(sp_point* r, sp_point* p, sp_point* q,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*5;
|
sp_digit* t2 = t + 2*5;
|
||||||
sp_digit* t3 = t + 4*5;
|
sp_digit* t3 = t + 4*5;
|
||||||
|
@ -7843,8 +7842,8 @@ static void sp_256_proj_point_add_5(sp_point* r, sp_point* p, sp_point* q,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -8240,7 +8239,6 @@ static void sp_256_proj_point_dbl_n_5(sp_point* r, sp_point* p, int n,
|
||||||
sp_digit* t)
|
sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* w = t;
|
sp_digit* w = t;
|
||||||
sp_digit* a = t + 2*5;
|
sp_digit* a = t + 2*5;
|
||||||
sp_digit* b = t + 4*5;
|
sp_digit* b = t + 4*5;
|
||||||
|
@ -8252,7 +8250,8 @@ static void sp_256_proj_point_dbl_n_5(sp_point* r, sp_point* p, int n,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -8316,7 +8315,6 @@ static void sp_256_proj_point_add_qz1_5(sp_point* r, sp_point* p,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*5;
|
sp_digit* t2 = t + 2*5;
|
||||||
sp_digit* t3 = t + 4*5;
|
sp_digit* t3 = t + 4*5;
|
||||||
|
@ -8336,8 +8334,8 @@ static void sp_256_proj_point_add_qz1_5(sp_point* r, sp_point* p,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
|
|
@ -28686,7 +28686,6 @@ SP_NOINLINE static void sp_256_div2_4(sp_digit* r, sp_digit* a, sp_digit* m)
|
||||||
static void sp_256_proj_point_dbl_4(sp_point* r, sp_point* p, sp_digit* t)
|
static void sp_256_proj_point_dbl_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* x;
|
sp_digit* x;
|
||||||
|
@ -28696,7 +28695,8 @@ static void sp_256_proj_point_dbl_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
|
|
||||||
/* When infinity don't double point passed in - constant time. */
|
/* When infinity don't double point passed in - constant time. */
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -28761,7 +28761,6 @@ static void sp_256_proj_point_dbl_n_4(sp_point* r, sp_point* p, int n,
|
||||||
sp_digit* t)
|
sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* w = t;
|
sp_digit* w = t;
|
||||||
sp_digit* a = t + 2*4;
|
sp_digit* a = t + 2*4;
|
||||||
sp_digit* b = t + 4*4;
|
sp_digit* b = t + 4*4;
|
||||||
|
@ -28773,7 +28772,8 @@ static void sp_256_proj_point_dbl_n_4(sp_point* r, sp_point* p, int n,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -28846,7 +28846,6 @@ static void sp_256_proj_point_add_4(sp_point* r, sp_point* p, sp_point* q,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* t3 = t + 4*4;
|
sp_digit* t3 = t + 4*4;
|
||||||
|
@ -28873,8 +28872,8 @@ static void sp_256_proj_point_add_4(sp_point* r, sp_point* p, sp_point* q,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -29708,7 +29707,6 @@ static void sp_256_map_avx2_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
static void sp_256_proj_point_dbl_avx2_4(sp_point* r, sp_point* p, sp_digit* t)
|
static void sp_256_proj_point_dbl_avx2_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* x;
|
sp_digit* x;
|
||||||
|
@ -29718,7 +29716,8 @@ static void sp_256_proj_point_dbl_avx2_4(sp_point* r, sp_point* p, sp_digit* t)
|
||||||
|
|
||||||
/* When infinity don't double point passed in - constant time. */
|
/* When infinity don't double point passed in - constant time. */
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -29783,7 +29782,6 @@ static void sp_256_proj_point_dbl_n_avx2_4(sp_point* r, sp_point* p, int n,
|
||||||
sp_digit* t)
|
sp_digit* t)
|
||||||
{
|
{
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* w = t;
|
sp_digit* w = t;
|
||||||
sp_digit* a = t + 2*4;
|
sp_digit* a = t + 2*4;
|
||||||
sp_digit* b = t + 4*4;
|
sp_digit* b = t + 4*4;
|
||||||
|
@ -29795,7 +29793,8 @@ static void sp_256_proj_point_dbl_n_avx2_4(sp_point* r, sp_point* p, int n,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity]->x;
|
x = rp[p->infinity]->x;
|
||||||
y = rp[p->infinity]->y;
|
y = rp[p->infinity]->y;
|
||||||
z = rp[p->infinity]->z;
|
z = rp[p->infinity]->z;
|
||||||
|
@ -29856,7 +29855,6 @@ static void sp_256_proj_point_add_avx2_4(sp_point* r, sp_point* p, sp_point* q,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* t3 = t + 4*4;
|
sp_digit* t3 = t + 4*4;
|
||||||
|
@ -29883,8 +29881,8 @@ static void sp_256_proj_point_add_avx2_4(sp_point* r, sp_point* p, sp_point* q,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -30217,7 +30215,6 @@ static void sp_256_proj_point_add_qz1_4(sp_point* r, sp_point* p,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* t3 = t + 4*4;
|
sp_digit* t3 = t + 4*4;
|
||||||
|
@ -30237,8 +30234,8 @@ static void sp_256_proj_point_add_qz1_4(sp_point* r, sp_point* p,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
@ -30610,7 +30607,6 @@ static void sp_256_proj_point_add_qz1_avx2_4(sp_point* r, sp_point* p,
|
||||||
{
|
{
|
||||||
sp_point* ap[2];
|
sp_point* ap[2];
|
||||||
sp_point* rp[2];
|
sp_point* rp[2];
|
||||||
sp_point tp;
|
|
||||||
sp_digit* t1 = t;
|
sp_digit* t1 = t;
|
||||||
sp_digit* t2 = t + 2*4;
|
sp_digit* t2 = t + 2*4;
|
||||||
sp_digit* t3 = t + 4*4;
|
sp_digit* t3 = t + 4*4;
|
||||||
|
@ -30630,8 +30626,8 @@ static void sp_256_proj_point_add_qz1_avx2_4(sp_point* r, sp_point* p,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rp[0] = r;
|
rp[0] = r;
|
||||||
rp[1] = &tp;
|
rp[1] = (sp_point*)t;
|
||||||
XMEMSET(&tp, 0, sizeof(tp));
|
XMEMSET(rp[1], 0, sizeof(sp_point));
|
||||||
x = rp[p->infinity | q->infinity]->x;
|
x = rp[p->infinity | q->infinity]->x;
|
||||||
y = rp[p->infinity | q->infinity]->y;
|
y = rp[p->infinity | q->infinity]->y;
|
||||||
z = rp[p->infinity | q->infinity]->z;
|
z = rp[p->infinity | q->infinity]->z;
|
||||||
|
|
Loading…
Reference in New Issue