Commit 9721c52
committed
fe_operations: error on CURVE25519_SMALL/ED25519_SMALL + x64 asm
The small (reduced-C) curve25519/ed25519 code and the Intel x64 assembly
both define the same fe_/sc_/curve25519 symbols. A user_settings.h that
keeps CURVE25519_SMALL/ED25519_SMALL while USE_INTEL_SPEEDUP selects the
x64 assembly (as happens with --enable-usersettings, which does not run
configure's implementation selection) links with duplicate symbols that
are hard to diagnose. Detect the incompatible combination at compile time
via a clear #error keyed on CURVED25519_X64 (the single source of truth
for 'x64 25519 asm active'), so it fails fast instead. NO_CURVED25519_X64
remains the escape hatch to keep the small implementation.1 parent 0a0e084 commit 9721c52
1 file changed
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
43 | 57 | | |
44 | 58 | | |
45 | 59 | | |
| |||
0 commit comments