Implementation notes: amd64, speed2supercop, crypto_sign/ronald2048
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240808
Operation: crypto_sign
Primitive: ronald2048
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
3822228 | 3225 0 0 | 26436 968 1632 | T:opensslnew | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3822928 | 3389 0 0 | 24070 992 1568 | T:opensslnew | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3823808 | 2667 0 0 | 22324 960 1600 | T:opensslnew | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3825856 | 3145 0 0 | 26350 992 1568 | T:opensslnew | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3827632 | 3148 0 0 | 24084 968 1632 | T:opensslnew | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3829504 | 3229 0 0 | 24436 968 1632 | T:opensslnew | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3831260 | 3222 0 0 | 27886 992 1600 | T:opensslnew | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3831644 | 3222 0 0 | 28062 992 1600 | T:opensslnew | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
3835608 | 2908 0 0 | 24271 984 1632 | T:opensslnew | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240709 | 20240625 |
Compiler output
keypair.c: keypair.c:15:7: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c: r = RSA_generate_key(MODULUS_BYTES * 8,3,0,0);
keypair.c: ^
keypair.c: /usr/include/openssl/rsa.h:264:1: note: 'RSA_generate_key' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:260:49: note: expanded from macro 'OSSL_DEPRECATEDIN_0_9_8'
keypair.c: # define OSSL_DEPRECATEDIN_0_9_8 OSSL_DEPRECATED(0.9.8)
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:18:7: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
keypair.c: if (RSA_size(r) != MODULUS_BYTES) goto error;
keypair.c: ^
keypair.c: /usr/include/openssl/rsa.h:215:1: note: 'RSA_size' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:20:23: error: incomplete definition of type 'struct rsa_st'
keypair.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:openssl | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:openssl | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:openssl | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:openssl | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:openssl | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
Compiler output
keypair.c: keypair.c: In function 'crypto_sign_ronald2048_openssl_timingleaks_keypair':
keypair.c: keypair.c:15:3: warning: 'RSA_generate_key' is deprecated: Since OpenSSL 0.9.8 [-Wdeprecated-declarations]
keypair.c: 15 | r = RSA_generate_key(MODULUS_BYTES * 8,3,0,0);
keypair.c: | ^
keypair.c: In file included from keypair.c:2:
keypair.c: /usr/include/openssl/rsa.h:264:30: note: declared here
keypair.c: 264 | OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
keypair.c: | ^~~~~~~~~~~~~~~~
keypair.c: keypair.c:18:3: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 18 | if (RSA_size(r) != MODULUS_BYTES) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/rsa.h:215:27: note: declared here
keypair.c: 215 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
keypair.c: | ^~~~~~~~
keypair.c: In file included from /usr/include/openssl/asn1.h:36,
keypair.c: from /usr/include/openssl/rsa.h:21:
keypair.c: keypair.c:20:23: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.c: 20 | len = BN_num_bytes(r->n); if (len > MODULUS_BYTES) goto error;
keypair.c: | ^~
keypair.c: keypair.c:21:36: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.c: 21 | out += MODULUS_BYTES; BN_bn2bin(r->n,out - len);
keypair.c: | ^~
keypair.c: keypair.c:23:23: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.c: 23 | len = BN_num_bytes(r->e); if (len > MODULUS_BYTES) goto error;
keypair.c: | ^~
keypair.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:openssl | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:openssl | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:openssl | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:openssl | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Compiler output
keypair.c: keypair.c:18:7: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
keypair.c: r = RSA_new();
keypair.c: ^
keypair.c: /usr/include/openssl/rsa.h:212:1: note: 'RSA_new' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:26:8: warning: 'RSA_generate_key_ex' is deprecated [-Wdeprecated-declarations]
keypair.c: if (!RSA_generate_key_ex(r,MODULUS_BYTES*8,b,0)) { BN_free(b); goto error; }
keypair.c: ^
keypair.c: /usr/include/openssl/rsa.h:271:1: note: 'RSA_generate_key_ex' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:30:7: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
keypair.c: ...
shortmessagesigned.c: shortmessagesigned.c:16:12: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
shortmessagesigned.c: RSA *r = RSA_new();
shortmessagesigned.c: ^
shortmessagesigned.c: /usr/include/openssl/rsa.h:212:1: note: 'RSA_new' has been explicitly marked deprecated here
shortmessagesigned.c: OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
shortmessagesigned.c: ^
shortmessagesigned.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
shortmessagesigned.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
shortmessagesigned.c: ^
shortmessagesigned.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
shortmessagesigned.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
shortmessagesigned.c: ^
shortmessagesigned.c: shortmessagesigned.c:27:21: warning: 'RSA_set0_key' is deprecated [-Wdeprecated-declarations]
shortmessagesigned.c: if (!result) if (!RSA_set0_key(r,n,e,0)) result = -1;
shortmessagesigned.c: ^
shortmessagesigned.c: /usr/include/openssl/rsa.h:218:1: note: 'RSA_set0_key' has been explicitly marked deprecated here
shortmessagesigned.c: OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
shortmessagesigned.c: ^
shortmessagesigned.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
shortmessagesigned.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
shortmessagesigned.c: ^
shortmessagesigned.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
shortmessagesigned.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
shortmessagesigned.c: ^
shortmessagesigned.c: shortmessagesigned.c:29:20: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
shortmessagesigned.c: ...
signedshortmessage.c: signedshortmessage.c:24:12: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
signedshortmessage.c: RSA *r = RSA_new();
signedshortmessage.c: ^
signedshortmessage.c: /usr/include/openssl/rsa.h:212:1: note: 'RSA_new' has been explicitly marked deprecated here
signedshortmessage.c: OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
signedshortmessage.c: ^
signedshortmessage.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
signedshortmessage.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
signedshortmessage.c: ^
signedshortmessage.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
signedshortmessage.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
signedshortmessage.c: ^
signedshortmessage.c: signedshortmessage.c:46:21: warning: 'RSA_set0_key' is deprecated [-Wdeprecated-declarations]
signedshortmessage.c: if (!result) if (!RSA_set0_key(r,n,e,d)) result = -1;
signedshortmessage.c: ^
signedshortmessage.c: /usr/include/openssl/rsa.h:218:1: note: 'RSA_set0_key' has been explicitly marked deprecated here
signedshortmessage.c: OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
signedshortmessage.c: ^
signedshortmessage.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
signedshortmessage.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
signedshortmessage.c: ^
signedshortmessage.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
signedshortmessage.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
signedshortmessage.c: ^
signedshortmessage.c: signedshortmessage.c:48:21: warning: 'RSA_set0_factors' is deprecated [-Wdeprecated-declarations]
signedshortmessage.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:opensslnew | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:opensslnew | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:opensslnew | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:opensslnew | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:opensslnew | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
Compiler output
keypair.c: keypair.c: In function 'crypto_sign_ronald2048_opensslnew_timingleaks_keypair':
keypair.c: keypair.c:18:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 18 | r = RSA_new();
keypair.c: | ^
keypair.c: In file included from keypair.c:3:
keypair.c: /usr/include/openssl/rsa.h:212:28: note: declared here
keypair.c: 212 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
keypair.c: | ^~~~~~~
keypair.c: keypair.c:26:3: warning: 'RSA_generate_key_ex' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 26 | if (!RSA_generate_key_ex(r,MODULUS_BYTES*8,b,0)) { BN_free(b); goto error; }
keypair.c: | ^~
keypair.c: /usr/include/openssl/rsa.h:271:27: note: declared here
keypair.c: 271 | OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
keypair.c: | ^~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:30:3: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 30 | if (RSA_size(r) != MODULUS_BYTES) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/rsa.h:215:27: note: declared here
keypair.c: 215 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
keypair.c: | ^~~~~~~~
keypair.c: keypair.c:32:3: warning: 'RSA_get0_n' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 32 | x = RSA_get0_n(r);
keypair.c: | ^
keypair.c: /usr/include/openssl/rsa.h:243:37: note: declared here
keypair.c: 243 | OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_n(const RSA *d);
keypair.c: ...
shortmessagesigned.c: shortmessagesigned.c:10:17: warning: argument 1 of type 'unsigned char[245]' with mismatched bound [-Warray-parameter=]
shortmessagesigned.c: 10 | unsigned char m[SHORTMESSAGE_BYTES],unsigned long long *mlen,
shortmessagesigned.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
shortmessagesigned.c: In file included from shortmessagesigned.c:7:
shortmessagesigned.c: short.h:9:31: note: previously declared as 'unsigned char *'
shortmessagesigned.c: 9 | extern int shortmessagesigned(unsigned char *,unsigned long long *,
shortmessagesigned.c: | ^~~~~~~~~~~~~~~
shortmessagesigned.c: shortmessagesigned.c:11:23: warning: argument 3 of type 'const unsigned char[256]' with mismatched bound [-Warray-parameter=]
shortmessagesigned.c: 11 | const unsigned char sm[SIGNATURE_BYTES],const unsigned long long smlen,
shortmessagesigned.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
shortmessagesigned.c: short.h:10:3: note: previously declared as 'const unsigned char *'
shortmessagesigned.c: 10 | const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
shortmessagesigned.c: | ^~~~~~~~~~~~~~~~~~~~~
shortmessagesigned.c: shortmessagesigned.c:12:23: warning: argument 5 of type 'const unsigned char[256]' with mismatched bound [-Warray-parameter=]
shortmessagesigned.c: 12 | const unsigned char pk[PUBLICKEY_BYTES],const unsigned long long pklen
shortmessagesigned.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
shortmessagesigned.c: short.h:10:44: note: previously declared as 'const unsigned char *'
shortmessagesigned.c: 10 | const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
shortmessagesigned.c: | ^~~~~~~~~~~~~~~~~~~~~
shortmessagesigned.c: shortmessagesigned.c: In function 'crypto_sign_ronald2048_opensslnew_timingleaks_shortmessagesigned':
shortmessagesigned.c: shortmessagesigned.c:16:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortmessagesigned.c: 16 | RSA *r = RSA_new();
shortmessagesigned.c: | ^~~
shortmessagesigned.c: In file included from shortmessagesigned.c:4:
shortmessagesigned.c: /usr/include/openssl/rsa.h:212:28: note: declared here
shortmessagesigned.c: ...
signedshortmessage.c: signedshortmessage.c:10:17: warning: argument 1 of type 'unsigned char[256]' with mismatched bound [-Warray-parameter=]
signedshortmessage.c: 10 | unsigned char sm[SIGNATURE_BYTES],unsigned long long *smlen,
signedshortmessage.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
signedshortmessage.c: In file included from signedshortmessage.c:7:
signedshortmessage.c: short.h:7:31: note: previously declared as 'unsigned char *'
signedshortmessage.c: 7 | extern int signedshortmessage(unsigned char *,unsigned long long *,
signedshortmessage.c: | ^~~~~~~~~~~~~~~
signedshortmessage.c: signedshortmessage.c:11:23: warning: argument 3 of type 'const unsigned char[245]' with mismatched bound [-Warray-parameter=]
signedshortmessage.c: 11 | const unsigned char m[SHORTMESSAGE_BYTES],const unsigned long long mlen,
signedshortmessage.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
signedshortmessage.c: short.h:8:3: note: previously declared as 'const unsigned char *'
signedshortmessage.c: 8 | const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
signedshortmessage.c: | ^~~~~~~~~~~~~~~~~~~~~
signedshortmessage.c: signedshortmessage.c:12:23: warning: argument 5 of type 'const unsigned char[2048]' with mismatched bound [-Warray-parameter=]
signedshortmessage.c: 12 | const unsigned char sk[SECRETKEY_BYTES],const unsigned long long sklen
signedshortmessage.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
signedshortmessage.c: short.h:8:44: note: previously declared as 'const unsigned char *'
signedshortmessage.c: 8 | const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
signedshortmessage.c: | ^~~~~~~~~~~~~~~~~~~~~
signedshortmessage.c: signedshortmessage.c: In function 'crypto_sign_ronald2048_opensslnew_timingleaks_signedshortmessage':
signedshortmessage.c: signedshortmessage.c:24:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signedshortmessage.c: 24 | RSA *r = RSA_new();
signedshortmessage.c: | ^~~
signedshortmessage.c: In file included from signedshortmessage.c:4:
signedshortmessage.c: /usr/include/openssl/rsa.h:212:28: note: declared here
signedshortmessage.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:opensslnew | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:opensslnew | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:opensslnew | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:opensslnew | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |