Implementation notes: amd64, colossus7, crypto_dh/claus

Computer: colossus7
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20210125
Operation: crypto_dh
Primitive: claus

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.cpp: keypair.cpp:1:10: fatal error: 'cryptopp/dh.h' file not found
keypair.cpp: #include <cryptopp/dh.h>
keypair.cpp: ^~~~~~~~~~~~~~~
keypair.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:cryptopp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_claus.a(keypair.o): in function `crypto_dh_claus_gmp_timingleaks_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_timingleaks':
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: 3, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_claus.a(keypair.o): in function `crypto_dh_claus_gmp_timingleaks_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_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(keypair.o): in function `__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(char const*)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc[_ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc]+0xa): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: crypto_dh_claus.a(sharedsecret.o): in function `crypto_dh_claus_gmp_timingleaks':
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: ...

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

Compiler output

Implementation: T:ntl
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/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-20210125/supercop-data/colossus7/amd64/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-20210125/supercop-data/colossus7/amd64/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_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: /usr/bin/ld: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gsub(_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: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gsubpos(_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: /home/djb/supercop-20210125/supercop-data/colossus7/amd64/lib/libntl.a(lip.o): in function `_ntl_gmul(_ntl_gbigint_body*, _ntl_gbigint_body*, _ntl_gbigint_body**)':
try.cpp: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sqr'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_sqr'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_addmul_1'
try.cpp: /usr/bin/ld: lip.cpp:(.text+0x...): undefined reference to `__gmpn_mul'
try.cpp: ...

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:2:10: fatal error: 'openssl/bn.h' file not found
keypair.c: #include <openssl/bn.h>
keypair.c: ^~~~~~~~~~~~~~
keypair.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew