Вопрос к тем кто пратикует использование ночных сборок раста.
Пытаюсь заставить все это дело работать -> https://github.com/eshard/obfuscator-llvm/wiki/Rust-obfuscation-guide
По ссылке ман, по сборке ночного тулчейна Rast-a с дополнительными плагином для llvm.
Делал все как описанно. Пробывал разные версии раст-а ( 1.6.0 и 1.6.2 )
Проблема с линковкой.
Подскажите пожалуйста куда смотреть?
Собирал так -> cargo +my-rust build -Z build-std=panic_abort,std,core,alloc,proc_macro --target x86_64-pc-windows-gnu --release
Текст сообщений об ошибке ниже.
Нагуглил сорцы rsbegin.o и rsend.o, изучаю дальше вообщем.
Ниже пытаюсь тот же код собрать под никсовый таргет ( комманда -> cargo +my-rust build -Z build-std=panic_abort,std,core,alloc,proc_macro --target x86_64-unknown-linux-gnu --release )
Благодарю за внимание.
Пытаюсь заставить все это дело работать -> https://github.com/eshard/obfuscator-llvm/wiki/Rust-obfuscation-guide
По ссылке ман, по сборке ночного тулчейна Rast-a с дополнительными плагином для llvm.
Делал все как описанно. Пробывал разные версии раст-а ( 1.6.0 и 1.6.2 )
Проблема с линковкой.
Подскажите пожалуйста куда смотреть?
Собирал так -> cargo +my-rust build -Z build-std=panic_abort,std,core,alloc,proc_macro --target x86_64-pc-windows-gnu --release
Текст сообщений об ошибке ниже.
Код:
error: linking with `x86_64-w64-mingw32-gcc` failed: exit status: 1
|
= note: "x86_64-w64-mingw32-gcc" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-m64" "-Wl,--high-entropy-va" "rsbegin.o" "/tmp/rustc7UcR8A/symbols.o" "/root/cliws/target/x86_64-pc-windows-gnu/release/deps/cliws-749d0df4eaeace61.cliws.f5cd55b7-cgu.0.rcgu.o" "-L" "/root/cliws/target/x86_64-pc-windows-gnu/release/deps" "-L" "/root/cliws/target/release/deps" "-L" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-x86_64-pc-windows-gnu-0.4.0/lib" "-L" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/windows_x86_64_gnu-0.36.1/lib" "-L" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/windows_x86_64_gnu-0.29.0/lib" "-L" "/root/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-pc-windows-gnu/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/root/cliws/target/x86_64-pc-windows-gnu/release/deps/libcompiler_builtins-0475b43edd49e4d3.rlib" "-Wl,-Bdynamic" "-lws2_32" "-lkernel32" "-lwindows" "-lkernel32" "-loleaut32" "-lole32" "-loleaut32" "-lkernel32" "-lwinapi_advapi32" "-lwinapi_cfgmgr32" "-lwinapi_credui" "-lwinapi_fwpuclnt" "-lwinapi_gdi32" "-lwinapi_kernel32" "-lwinapi_msimg32" "-lwinapi_ntdll" "-lwinapi_opengl32" "-lwinapi_secur32" "-lwinapi_user32" "-lwinapi_winspool" "-lwinapi_ws2_32" "-ladvapi32" "-luserenv" "-lkernel32" "-lws2_32" "-lbcrypt" "-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "/root/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-pc-windows-gnu/lib" "-o" "/root/cliws/target/x86_64-pc-windows-gnu/release/deps/cliws-749d0df4eaeace61.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "rsend.o"
= note: x86_64-w64-mingw32-gcc: error: rsbegin.o: No such file or directory
x86_64-w64-mingw32-gcc: error: rsend.o: No such file or directory
Нагуглил сорцы rsbegin.o и rsend.o, изучаю дальше вообщем.
Ниже пытаюсь тот же код собрать под никсовый таргет ( комманда -> cargo +my-rust build -Z build-std=panic_abort,std,core,alloc,proc_macro --target x86_64-unknown-linux-gnu --release )
Код:
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-m64" "/tmp/rustcjO20cd/symbols.o" "/root/cliws/target/x86_64-unknown-linux-gnu/release/deps/cliws-e9f8017701c398ea.cliws.8daea4a6-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/root/cliws/target/x86_64-unknown-linux-gnu/release/deps" "-L" "/root/cliws/target/release/deps" "-L" "/root/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib" "-Wl,-Bdynamic" "-lssl" "-lcrypto" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/root/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/root/cliws/target/x86_64-unknown-linux-gnu/release/deps/cliws-e9f8017701c398ea" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
= note: /usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f32 as compiler_builtins::float::Float>::sign':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f32$u20$as$u20$compiler_builtins..float..Float$GT$4sign17hf981fe58eed43fb8E+0x3): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f32 as compiler_builtins::float::Float>::exp':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f32$u20$as$u20$compiler_builtins..float..Float$GT$3exp17h8223b98be93332eeE+0x3): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f32 as compiler_builtins::float::Float>::frac':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f32$u20$as$u20$compiler_builtins..float..Float$GT$4frac17h7201603e974f098bE+0x3): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f32 as compiler_builtins::float::Float>::from_parts':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f32$u20$as$u20$compiler_builtins..float..Float$GT$10from_parts17hb6f1f27359a03592E+0x16): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f64 as compiler_builtins::float::Float>::sign':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f64$u20$as$u20$compiler_builtins..float..Float$GT$4sign17hd7caf5d9ac8395d7E+0x3): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f64 as compiler_builtins::float::Float>::exp':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f64$u20$as$u20$compiler_builtins..float..Float$GT$3exp17ha3bbb521d0fd4f60E+0x3): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f64 as compiler_builtins::float::Float>::frac':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f64$u20$as$u20$compiler_builtins..float..Float$GT$4frac17h229a3a6876073ed1E+0x3): undefined reference to `core::intrinsics::const_eval_select'
/usr/bin/ld: /root/cliws/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-eb5b7753c55da9d2.rlib(compiler_builtins-eb5b7753c55da9d2.compiler_builtins.658f9b54-cgu.0.rcgu.o): in function `<f64 as compiler_builtins::float::Float>::from_parts':
compiler_builtins.658f9b54-cgu.0:(.text._ZN55_$LT$f64$u20$as$u20$compiler_builtins..float..Float$GT$10from_parts17hb4e70e476d35aed9E+0x23): undefined reference to `core::intrinsics::const_eval_select'
collect2: error: ld returned 1 exit status
= help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
= note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
error: could not compile `cliws` due to previous error
Код:
cat /proc/version
Linux version 5.4.0-121-generic (buildd@lcy02-amd64-013) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #137-Ubuntu SMP Wed Jun 15 13:33:07 UTC 2022
Благодарю за внимание.
Последнее редактирование: