We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chi_square-4614c1.zip
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /home/mrh929/git/Pluto-Obfuscator/install/bin/clang-12 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -main-file-name chi_square.cc -mrelocation-model static -mframe-pointer=all -fmath-errno -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -tune-cpu generic -fno-split-dwarf-inlining -debugger-tuning=gdb -sys-header-deps -D NOMINMAX -Wall -Wextra -Wcast-qual -Wconversion -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wformat-security -Wgnu-redeclared-enum -Winfinite-recursion -Winvalid-constexpr -Wliteral-conversion -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wself-assign -Wshadow-all -Wshorten-64-to-32 -Wsign-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-zero-compare -Wundef -Wuninitialized -Wunreachable-code -Wunused-comparison -Wunused-local-typedefs -Wunused-result -Wvla -Wwrite-strings -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion -Wno-unknown-warning-option -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -mllvm -gle -faddrsig -x c++ chi_square-4614c1.cpp 1. <eof> parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module 'chi_square-4614c1.cpp'. 4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@acebe3527d5b22a6ecdebc0e07c9650b3772599e' #0 0x00007f02ba71b202 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMSupport.so.12+0x19b202) #1 0x00007f02ba718e44 llvm::sys::RunSignalHandlers() (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMSupport.so.12+0x198e44) #2 0x00007f02ba718fb5 SignalHandler(int) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMSupport.so.12+0x198fb5) #3 0x00007f02ba160520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) #4 0x00007f02b9d0df72 llvm::DAGTypeLegalizer::PromoteIntOp_VECREDUCE(llvm::SDNode*) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x15cf72) #5 0x00007f02b9d0e48b llvm::DAGTypeLegalizer::PromoteIntegerOperand(llvm::SDNode*, unsigned int) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x15d48b) #6 0x00007f02b9d1b2f7 llvm::DAGTypeLegalizer::run() (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x16a2f7) #7 0x00007f02b9d1b8b5 llvm::SelectionDAG::LegalizeTypes() (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x16a8b5) #8 0x00007f02b9e32cf5 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x281cf5) #9 0x00007f02b9e35c10 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x284c10) #10 0x00007f02b9e383f8 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.0) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libLLVMSelectionDAG.so.12+0x2873f8) #11 0x00007f02bda66f0d (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMX86CodeGen.so.12+0x124f0d) #12 0x00007f02bcc53c17 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMCodeGen.so.12+0x28ec17) #13 0x00007f02baa69380 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMCore.so.12+0x208380) #14 0x00007f02baa6a8d4 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMCore.so.12+0x2098d4) #15 0x00007f02baa68c40 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libLLVMCore.so.12+0x207c40) #16 0x00007f02bd0af073 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (.constprop.0) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libclangCodeGen.so.12+0xe4073) #17 0x00007f02bd0b0f8a clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libclangCodeGen.so.12+0xe5f8a) #18 0x00007f02bd421e76 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libclangCodeGen.so.12+0x456e76) #19 0x00007f02b8976eb9 clang::ParseAST(clang::Sema&, bool, bool) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/../lib/libclangParse.so.12+0x39eb9) #20 0x00007f02bbf68209 clang::FrontendAction::Execute() (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libclangFrontend.so.12+0xf0209) #21 0x00007f02bbefdf03 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libclangFrontend.so.12+0x85f03) #22 0x00007f02bd633328 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/mrh929/git/Pluto-Obfuscator/install/bin/../lib/libclangFrontendTool.so.12+0x5328) #23 0x000056380187a195 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/mrh929/git/Pluto-Obfuscator/install/bin/clang-12+0x14195) #24 0x0000563801877b27 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) (/home/mrh929/git/Pluto-Obfuscator/install/bin/clang-12+0x11b27) #25 0x00005638018742dc main (/home/mrh929/git/Pluto-Obfuscator/install/bin/clang-12+0xe2dc) #26 0x00007f02ba147d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #27 0x00007f02ba147e40 call_init ./csu/../csu/libc-start.c:128:20 #28 0x00007f02ba147e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 #29 0x00005638018774d5 _start (/home/mrh929/git/Pluto-Obfuscator/install/bin/clang-12+0x114d5) Segmentation fault
压缩包里面附上了 debug.ll,说明中间层的 pass 本身没有 crash,而是后端 pass crash 了,原因就是它无法处理 double 类型的 IR:
具体一点,GlobalsEncryption 生成了这个解密函数,无法被后端正确处理:
define void @acebe3527d5b22a6ecdebc0e07c9650b3772599e() { %1 = alloca i32, align 4 store i32 0, i32* %1, align 4 br label %2 2: ; preds = %9, %0 %3 = load i32, i32* %1, align 4 %4 = icmp slt i32 %3, 5 br i1 %4, label %5, label %11 5: ; preds = %2 %6 = getelementptr [5 x double], [5 x double]* @_ZZN4absl12lts_2023080215random_internal12_GLOBAL__N_115normal_survivalEdE2kR, i32 0, i32 %3 %7 = load double, double* %6, align 8 %8 = xor double %7, i0 1975683127162860763 store double %8, double* %6, align 8 br label %9 9: ; preds = %5 %10 = add i32 %3, 1 store i32 %10, i32* %1, align 4 br label %2 11: ; preds = %2 ret void }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
chi_square-4614c1.zip
压缩包里面附上了 debug.ll,说明中间层的 pass 本身没有 crash,而是后端 pass crash 了,原因就是它无法处理 double 类型的 IR:
具体一点,GlobalsEncryption 生成了这个解密函数,无法被后端正确处理:
The text was updated successfully, but these errors were encountered: