Implementation notes: amd64, sectionthirtyone, crypto_hash/shavite3256

Computer: sectionthirtyone
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: shavite3256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2221142214 0 055129 776 808sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
2569545176 0 058272 776 752sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
2661144437 0 056808 776 736sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
2734866851 192 077231 992 808no-saltgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
2819716901 0 029912 776 752sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
2859179163 192 092073 984 752new-aes-roundclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
2866613581 0 023961 776 808sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
2873227187 192 037567 992 808low-memgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
2926720318 192 033360 1000 808lower-memgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
2933218859 192 031761 984 752lower-memclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
2937830043 192 042953 984 752low-memclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
3055168101 192 077187 976 736no-saltclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
3181771923 192 081346 976 776new-aes-roundgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4059038161 0 048497 776 808sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4292476334 192 089376 1000 808no-saltgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4313835391 0 044732 752 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4718229182 192 042224 1000 808low-memgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4758713961 0 024297 776 808sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4774616173 0 029280 776 752sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
4779817998 0 030913 776 808sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4835712351 0 021692 752 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
4866916454 0 028840 776 736sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
4953442693 0 051930 768 736sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
4976816901 0 029912 776 752sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5013682270 192 095312 1000 808new-aes-roundgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5060045824 0 058808 776 752sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5074138909 0 049281 776 808sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5079013276 0 022522 768 736sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5101918859 192 031761 984 752lower-memclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5207827163 192 036243 976 736low-memclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5220045824 0 058808 776 752sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5298918419 192 030801 984 736lower-memclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5366279163 192 092073 984 752new-aes-roundclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5406315842 192 024963 976 736lower-memclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5451575931 192 089041 984 752no-saltclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5464872083 192 082463 992 808new-aes-roundgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5480976702 192 087111 992 808new-aes-roundgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5520225325 192 034738 976 776low-memgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5524666971 192 076386 976 776no-saltgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5528374913 192 084019 976 736new-aes-roundclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5545672915 192 085297 984 736no-saltclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5572229619 192 042001 984 736low-memclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5610981395 192 093777 984 736new-aes-roundclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5616570911 192 081319 992 808no-saltgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5694930043 192 042953 984 752low-memclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5723071499 192 084409 984 752no-saltclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5773184299 192 097409 984 752new-aes-roundclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5839371499 192 084409 984 752no-saltclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5860219739 192 032841 984 752lower-memclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
5879427428 192 037831 992 808low-memgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
5927616931 192 027311 992 808lower-memgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
6068231339 192 044449 984 752low-memclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
6139215790 192 025218 976 776lower-memgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
6821716949 192 027367 992 808lower-memgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
10053618102 192 031168 1000 8088-bitgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
19735414803 192 025207 992 8088-bitgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
21426926763 192 039609 984 7528-bitclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
21781728083 192 041145 984 7528-bitclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
23097214916 192 024027 976 7368-bitclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
24579930099 192 042457 984 7368-bitclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
25814526763 192 039609 984 7528-bitclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011020191221
53939714710 192 025143 992 8088-bitgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221
62828912781 192 022218 976 7768-bitgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011020191221

Compiler output

Implementation: crypto_hash/shavite3256/8-bit
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
SHAvite3.c: In file included from SHAvite3.c:11:
SHAvite3.c: ./portable.h:109:2: warning: NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!! [-W#warnings]
SHAvite3.c: #warning NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!!
SHAvite3.c: ^
SHAvite3.c: ./portable.h:510:1: warning: '/*' within block comment [-Wcomment]
SHAvite3.c: /* "x++" is passed as an argument, thus increasing x 4 times instead of one */
SHAvite3.c: ^
SHAvite3.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 25, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt

Compiler output

Implementation: crypto_hash/shavite3256/aes-instruct
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:4:
hash.c: In file included from ./SHA3api_ref.h:17:
hash.c: ./compress.h:99:9: error: invalid operand for instruction
hash.c: asm ("movaps xmm0, [SHAVITE_PTXT]");
hash.c: ^
hash.c: <inline asm>:1:15: note: instantiated into assembly here
hash.c: movaps xmm0, [SHAVITE_PTXT]
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:4:
hash.c: In file included from ./SHA3api_ref.h:17:
hash.c: ./compress.h:100:9: error: invalid operand for instruction
hash.c: asm ("movaps xmm1, [SHAVITE_PTXT+16]");
hash.c: ^
hash.c: <inline asm>:1:15: note: instantiated into assembly here
hash.c: movaps xmm1, [SHAVITE_PTXT+16]
hash.c: ^~~~~~~~~~~~~~~~~
hash.c: In file included from hash.c:4:
hash.c: In file included from ./SHA3api_ref.h:17:
hash.c: ./compress.h:101:9: error: invalid operand for instruction
hash.c: asm ("movaps xmm3, [SHAVITE_CNTS]");
hash.c: ^
hash.c: <inline asm>:1:15: note: instantiated into assembly here
hash.c: movaps xmm3, [SHAVITE_CNTS]
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:4:
hash.c: ...

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

Compiler output

Implementation: crypto_hash/shavite3256/8-bit
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
SHAvite3.c: In file included from SHAvite3.c:11:
SHAvite3.c: portable.h:109:2: warning: #warning NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!! [-Wcpp]
SHAvite3.c: #warning NEITHER NESSIE_LITTLE_ENDIAN NOR NESSIE_BIG_ENDIAN ARE DEFINED!!!!!
SHAvite3.c: ^~~~~~~

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit low-mem lower-mem new-aes-round no-salt

Compiler output

Implementation: crypto_hash/shavite3256/aes-instruct
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_hash_shavite3256.a(hash.o): relocation R_X86_64_32S against symbol `SHAVITE_PTXT' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

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

Namespace violations

Implementation: crypto_hash/shavite3256/8-bit
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
SHAvite3.o Compress256 T
SHAvite3.o Compress512 T
SHAvite3.o DblGF2 T
SHAvite3.o E256 T
SHAvite3.o E512 T
SHAvite3.o Final T
SHAvite3.o Hash T
SHAvite3.o IV_224 D
SHAvite3.o IV_256 D
SHAvite3.o IV_384 D
SHAvite3.o IV_512 D
SHAvite3.o Init T
SHAvite3.o MixColumns T
SHAvite3.o Update T
SHAvite3.o f T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 8-bit
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE 8-bit

Namespace violations

Implementation: crypto_hash/shavite3256/low-mem
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
SHAvite3.o Compress256 T
SHAvite3.o Compress512 T
SHAvite3.o E256 T
SHAvite3.o E512 T
SHAvite3.o Final T
SHAvite3.o Hash T
SHAvite3.o IV_224 D
SHAvite3.o IV_256 D
SHAvite3.o IV_384 D
SHAvite3.o IV_512 D
SHAvite3.o Init T
SHAvite3.o Update T

Number of similar (compiler,implementation) pairs: 36, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE low-mem lower-mem new-aes-round no-salt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE low-mem lower-mem new-aes-round no-salt

Namespace violations

Implementation: crypto_hash/shavite3256/sphlib
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
shavite.o sph_shavite224 T
shavite.o sph_shavite224_addbits_and_close T
shavite.o sph_shavite224_close T
shavite.o sph_shavite224_init T
shavite.o sph_shavite256 T
shavite.o sph_shavite256_addbits_and_close T
shavite.o sph_shavite256_close T
shavite.o sph_shavite256_init T
shavite.o sph_shavite384 T
shavite.o sph_shavite384_addbits_and_close T
shavite.o sph_shavite384_close T
shavite.o sph_shavite384_init T
shavite.o sph_shavite512 T
shavite.o sph_shavite512_addbits_and_close T
shavite.o sph_shavite512_close T
shavite.o sph_shavite512_init T

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib sphlib-small
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib sphlib-small
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib sphlib-small
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib sphlib-small
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib sphlib-small
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib sphlib-small
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib sphlib-small
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib sphlib-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib sphlib-small