bluesadi / Pluto

Obfuscator based on LLVM 14.0.6
809 stars 181 forks source link

RCF: inline assembly requires more registers than available #35

Open bluesadi opened 1 year ago

bluesadi commented 1 year ago

RandomControlFlow is problematic in some cases.

./check.sh -rcf failed:

./src/scalar_4x64_impl.h:259:5: error: inline assembly requires more registers than available
    "movq 32(%%rsi), %%r11\n"
    ^
./src/scalar_4x64_impl.h:259:5: error: inline assembly requires more registers than available
./src/scalar_4x64_impl.h:259:5: error: inline assembly requires more registers than available
./src/scalar_4x64_impl.h:259:5: error: inline assembly requires more registers than available
./src/scalar_4x64_impl.h:259:5: error: inline assembly requires more registers than available
./src/scalar_4x64_impl.h:259:5: error: inline assembly requires more registers than available
18 errors generated.
make[1]: *** [Makefile:1173: src/bench_ecmult-bench_ecmult.o] Error 1
In file included from src/bench_internal.c:8:
In file included from ./src/secp256k1.c:14:
In file included from ./src/field_impl.h:17:
In file included from ./src/field_5x52_impl.h:19:
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available
    "movq 0(%%rsi),%%r10\n"
    ^
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
    "movq 0(%%rsi),%%r10\n"
    ^
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
18 errors generated.
make[1]: *** [Makefile:1187: src/bench_internal-bench_internal.o] Error 1
In file included from src/tests_exhaustive.c:20:
In file included from ./src/secp256k1.c:14:
In file included from ./src/field_impl.h:17:
In file included from ./src/field_5x52_impl.h:19:
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
    "movq 0(%%rsi),%%r10\n"
    ^
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:299:5: error: inline assembly requires more registers than available
./src/field_5x52_asm_impl.h:29:5: error: inline assembly requires more registers than available