Implementation notes: aarch64, pi4b, crypto_dh/ed448goldilocks

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240808
Operation: crypto_dh
Primitive: ed448goldilocks

Checksum failure


e21a908e50081483c253fed14699efd1f77499d42c3c6fcf08607b884bbfaad3

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Test failure


error 111
crypto_dh returns nonzero

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c:   ^
barrett_field.c: 1 warning generated.
ec_point.c: In file included from ec_point.c:12:
ec_point.c: In file included from ./ec_point.h:13:
ec_point.c: In file included from ./p448.h:7:
ec_point.c: In file included from ./word.h:17:
ec_point.c: In file included from /usr/include/endian.h:21:
ec_point.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
ec_point.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
ec_point.c:   ^
ec_point.c: 1 warning generated.
goldilocks.c: In file included from goldilocks.c:6:
goldilocks.c: In file included from ./word.h:17:
goldilocks.c: In file included from /usr/include/endian.h:21:
goldilocks.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
goldilocks.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
goldilocks.c:   ^
goldilocks.c: 1 warning generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:14:
magic.c: In file included from ./word.h:17:
magic.c: In file included from /usr/include/endian.h:21:
magic.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
magic.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
magic.c:   ^
magic.c: 1 warning generated.
p448.c: In file included from p448.c:5:
p448.c: In file included from ./word.h:17:
p448.c: In file included from /usr/include/endian.h:21:
p448.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
p448.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
p448.c:   ^
p448.c: 1 warning generated.
scalarmul.c: In file included from scalarmul.c:5:
scalarmul.c: In file included from ./word.h:17:
scalarmul.c: In file included from /usr/include/endian.h:21:
scalarmul.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
scalarmul.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
scalarmul.c:   ^
scalarmul.c: 1 warning generated.
sha512.c: In file included from sha512.c:5:
sha512.c: In file included from ./word.h:17:
sha512.c: In file included from /usr/include/endian.h:21:
sha512.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
sha512.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
sha512.c:   ^
sha512.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


barrett_field.c: In file included from /usr/include/endian.h:21,
barrett_field.c:                  from word.h:17,
barrett_field.c:                  from barrett_field.h:15,
barrett_field.c:                  from barrett_field.c:5:
barrett_field.c: /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
barrett_field.c:   194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c:       |   ^~~~~~~
dh.c: dh.c:16:19: warning: argument 1 of type 'unsigned char[144]' with mismatched bound [-Warray-parameter=]
dh.c:    16 |     unsigned char pk[SECRETKEY_BYTES],
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:33:61: note: previously declared as 'unsigned char *'
dh.c:    33 | extern int crypto_dh_ed448goldilocks_32_timingleaks_keypair(unsigned char *,unsigned char *);
dh.c:       |                                                             ^~~~~~~~~~~~~~~
dh.c: dh.c:17:19: warning: argument 2 of type 'unsigned char[56]' with mismatched bound [-Warray-parameter=]
dh.c:    17 |     unsigned char sk[PUBLICKEY_BYTES]
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:33:77: note: previously declared as 'unsigned char *'
dh.c:    33 | extern int crypto_dh_ed448goldilocks_32_timingleaks_keypair(unsigned char *,unsigned char *);
dh.c:       |                                                                             ^~~~~~~~~~~~~~~
dh.c: dh.c:31:19: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
dh.c:    31 |     unsigned char s[SHAREDSECRET_BYTES],
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:32:53: note: previously declared as 'unsigned char *'
dh.c:    32 | extern int crypto_dh_ed448goldilocks_32_timingleaks(unsigned char *,const unsigned char *,const unsigned char *);
dh.c:       |                                                     ^~~~~~~~~~~~~~~
dh.c: dh.c:32:25: warning: argument 2 of type 'const unsigned char[56]' with mismatched bound [-Warray-parameter=]
dh.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c:   ^
barrett_field.c: 1 warning generated.
goldilocks.c: In file included from goldilocks.c:6:
goldilocks.c: In file included from ./word.h:17:
goldilocks.c: In file included from /usr/include/endian.h:21:
goldilocks.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
goldilocks.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
goldilocks.c:   ^
goldilocks.c: 1 warning generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:14:
magic.c: In file included from ./word.h:17:
magic.c: In file included from /usr/include/endian.h:21:
magic.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
magic.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
magic.c:   ^
magic.c: 1 warning generated.
scalarmul.c: In file included from scalarmul.c:5:
scalarmul.c: In file included from ./word.h:17:
scalarmul.c: In file included from /usr/include/endian.h:21:
scalarmul.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
scalarmul.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
scalarmul.c:   ^
scalarmul.c: 1 warning generated.
sha512.c: In file included from sha512.c:5:
sha512.c: In file included from ./word.h:17:
sha512.c: In file included from /usr/include/endian.h:21:
sha512.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
sha512.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
sha512.c:   ^
sha512.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


barrett_field.c: In file included from /usr/include/endian.h:21,
barrett_field.c:                  from word.h:17,
barrett_field.c:                  from barrett_field.h:15,
barrett_field.c:                  from barrett_field.c:5:
barrett_field.c: /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
barrett_field.c:   194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c:       |   ^~~~~~~
dh.c: dh.c:16:19: warning: argument 1 of type 'unsigned char[144]' with mismatched bound [-Warray-parameter=]
dh.c:    16 |     unsigned char pk[SECRETKEY_BYTES],
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:33:61: note: previously declared as 'unsigned char *'
dh.c:    33 | extern int crypto_dh_ed448goldilocks_64_timingleaks_keypair(unsigned char *,unsigned char *);
dh.c:       |                                                             ^~~~~~~~~~~~~~~
dh.c: dh.c:17:19: warning: argument 2 of type 'unsigned char[56]' with mismatched bound [-Warray-parameter=]
dh.c:    17 |     unsigned char sk[PUBLICKEY_BYTES]
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:33:77: note: previously declared as 'unsigned char *'
dh.c:    33 | extern int crypto_dh_ed448goldilocks_64_timingleaks_keypair(unsigned char *,unsigned char *);
dh.c:       |                                                                             ^~~~~~~~~~~~~~~
dh.c: dh.c:31:19: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
dh.c:    31 |     unsigned char s[SHAREDSECRET_BYTES],
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:32:53: note: previously declared as 'unsigned char *'
dh.c:    32 | extern int crypto_dh_ed448goldilocks_64_timingleaks(unsigned char *,const unsigned char *,const unsigned char *);
dh.c:       |                                                     ^~~~~~~~~~~~~~~
dh.c: dh.c:32:25: warning: argument 2 of type 'const unsigned char[56]' with mismatched bound [-Warray-parameter=]
dh.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c:   ^
barrett_field.c: 1 warning generated.
goldilocks.c: In file included from goldilocks.c:6:
goldilocks.c: In file included from ./word.h:17:
goldilocks.c: In file included from /usr/include/endian.h:21:
goldilocks.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
goldilocks.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
goldilocks.c:   ^
goldilocks.c: 1 warning generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:14:
magic.c: In file included from ./word.h:17:
magic.c: In file included from /usr/include/endian.h:21:
magic.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
magic.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
magic.c:   ^
magic.c: 1 warning generated.
p448.c: In file included from p448.c:6:
p448.c: ./x86-64-arith.h:20:13: error: invalid output constraint '=a' in asm
p448.c:        : [c]"=a"(c), [d]"=d"(d)
p448.c:             ^
p448.c: ./x86-64-arith.h:42:13: error: invalid output constraint '=a' in asm
p448.c:        : [c]"=a"(c), [d]"=d"(d)
p448.c:             ^
p448.c: ./x86-64-arith.h:63:13: error: invalid output constraint '=a' in asm
p448.c:        : [c]"=a"(c), [d]"=d"(d)
p448.c:             ^
p448.c: ./x86-64-arith.h:101:10: error: unknown register name 'rax' in asm
p448.c:        : "rax", "rdx", "cc");
p448.c:          ^
p448.c: ./x86-64-arith.h:133:10: error: unknown register name 'rax' in asm
p448.c:        : "rax", "rdx", "cc");
p448.c:          ^
p448.c: ./x86-64-arith.h:160:10: error: unknown register name 'rax' in asm
p448.c:        : "rax", "rdx", "cc");
p448.c:          ^
p448.c: ./x86-64-arith.h:189:10: error: unknown register name 'rax' in asm
p448.c:        : "rax", "rdx", "cc");
p448.c:          ^
p448.c: ./x86-64-arith.h:215:10: error: unknown register name 'rax' in asm
p448.c:        : "rax", "rdx", "cc");
p448.c:          ^
p448.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:amd64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


barrett_field.c: In file included from /usr/include/endian.h:21,
barrett_field.c:                  from word.h:17,
barrett_field.c:                  from barrett_field.h:15,
barrett_field.c:                  from barrett_field.c:5:
barrett_field.c: /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
barrett_field.c:   194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c:       |   ^~~~~~~
dh.c: dh.c:16:19: warning: argument 1 of type 'unsigned char[144]' with mismatched bound [-Warray-parameter=]
dh.c:    16 |     unsigned char pk[SECRETKEY_BYTES],
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:33:64: note: previously declared as 'unsigned char *'
dh.c:    33 | extern int crypto_dh_ed448goldilocks_amd64_timingleaks_keypair(unsigned char *,unsigned char *);
dh.c:       |                                                                ^~~~~~~~~~~~~~~
dh.c: dh.c:17:19: warning: argument 2 of type 'unsigned char[56]' with mismatched bound [-Warray-parameter=]
dh.c:    17 |     unsigned char sk[PUBLICKEY_BYTES]
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:33:80: note: previously declared as 'unsigned char *'
dh.c:    33 | extern int crypto_dh_ed448goldilocks_amd64_timingleaks_keypair(unsigned char *,unsigned char *);
dh.c:       |                                                                                ^~~~~~~~~~~~~~~
dh.c: dh.c:31:19: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
dh.c:    31 |     unsigned char s[SHAREDSECRET_BYTES],
dh.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from crypto_dh.h:4,
dh.c:                  from dh.c:13:
dh.c: crypto_dh_ed448goldilocks.h:32:56: note: previously declared as 'unsigned char *'
dh.c:    32 | extern int crypto_dh_ed448goldilocks_amd64_timingleaks(unsigned char *,const unsigned char *,const unsigned char *);
dh.c:       |                                                        ^~~~~~~~~~~~~~~
dh.c: dh.c:32:25: warning: argument 2 of type 'const unsigned char[56]' with mismatched bound [-Warray-parameter=]
dh.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:amd64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:amd64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:amd64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:amd64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)