Implementation notes: armeabi, berry2, crypto_dh/claus

Computer: berry2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_dh
Primitive: claus
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
815986832653 0 84985008 72393 12880cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
830362841889 0 84982040 72385 12880cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
840818062653 0 84983136 72393 12880cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
913211662606 0 84983016 72393 12880cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221

Compiler output

Implementation: crypto_dh/claus/openssl
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:25:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:25:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:28:39: error: incomplete definition of type 'struct dh_st'
keypair.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE openssl

Compiler output

Implementation: crypto_dh/claus/ntl
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `redc(_ntl_gbigint_body*, _ntl_gbigint_body*, long, unsigned long, _ntl_gbigint_body*)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_rem_struct_basic::eval(long*, _ntl_gbigint_body*, _ntl_tmp_vec*)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mod_1'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_reduce_struct_montgomery::eval(_ntl_gbigint_body**, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_crt_struct_basic::eval(_ntl_gbigint_body**, long const*, _ntl_tmp_vec*)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `gmod_simple(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_tdiv_qr'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_rem_struct_fast::eval(long*, _ntl_gbigint_body*, _ntl_tmp_vec*)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mod_1'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_rem_struct_medium::eval(long*, _ntl_gbigint_body*, _ntl_tmp_vec*)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mod_1'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_grshift(_ntl_gbigint_body*, long, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_rshift'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_glshift(_ntl_gbigint_body*, long, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_lshift'
try.cpp: /usr/bin/ld: /home/djb/supercop-20191221/supercop-data/berry2/armeabi/lib/libntl.a(lip.o): in function `_ntl_gadd(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_add_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sub_n'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ntl
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ntl
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ntl
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ntl

Compiler output

Implementation: crypto_dh/claus/gmp
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_claus.a(keypair.o): in function `crypto_dh_claus_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_claus.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: /usr/bin/ld: crypto_dh_claus.a(sharedsecret.o): in function `crypto_dh_claus_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE gmp
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE gmp

Compiler output

Implementation: crypto_dh/claus/gmp
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_claus.a(keypair.o): in function `crypto_dh_claus_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_claus.a(sharedsecret.o): in function `crypto_dh_claus_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE gmp

Compiler output

Implementation: crypto_dh/claus/gmp
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_claus.a(keypair.o): in function `crypto_dh_claus_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_claus.a(sharedsecret.o): in function `crypto_dh_claus_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE gmp

Compiler output

Implementation: crypto_dh/claus/openssl
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_dh_claus_openssl_keypair':
keypair.c: keypair.c:25:5: error: dereferencing pointer to incomplete type 'DH' {aka 'struct dh_st'}
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ^~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl