Closed
Description
Hello,
I'm having problems compiling the obfuscator llvm on macOS.
Any suggestion?
**LLVM: ** 14.0.6
**macOS SDK: ** 13.0
Output error
➜ build: ninja -j8
[5/5] Linking CXX shared library libLLVMObfuscator.dylib
FAILED: libLLVMObfuscator.dylib
: && /Library/Developer/CommandLineTools/usr/bin/c++ -Wall -Wextra -Wno-unused-parameter -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk -mmacosx-version-min=12.6 -dynamiclib -Wl,-headerpad_max_install_names -o libLLVMObfuscator.dylib -install_name @rpath/libLLVMObfuscator.dylib CMakeFiles/LLVMObfuscator.dir/Plugin.cpp.o CMakeFiles/LLVMObfuscator.dir/utils/Utils.cpp.o CMakeFiles/LLVMObfuscator.dir/utils/CryptoUtils.cpp.o CMakeFiles/LLVMObfuscator.dir/bogus/BogusControlFlow.cpp.o -L/usr/local/Cellar/llvm@14/14.0.6/lib -Wl,-rpath,/usr/local/Cellar/llvm@14/14.0.6/lib /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMCore.a /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMSupport.a /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMBinaryFormat.a /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMRemarks.a /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMBitstreamReader.a /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMSupport.a -lm /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/lib/libz.tbd /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/lib/libcurses.tbd /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMDemangle.a && :
Undefined symbols for architecture x86_64:
"llvm::ValueMapper::mapValue(llvm::Value const&)", referenced from:
llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*) in BogusControlFlow.cpp.o
"llvm::ValueMapper::ValueMapper(llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*)", referenced from:
llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*) in BogusControlFlow.cpp.o
"llvm::ValueMapper::~ValueMapper()", referenced from:
llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*) in BogusControlFlow.cpp.o
"llvm::CloneBasicBlock(llvm::BasicBlock const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::Twine const&, llvm::Function*, llvm::ClonedCodeInfo*, llvm::DebugInfoFinder*)", referenced from:
llvm::BogusControlFlow::createAlteredBasicBlock(llvm::BasicBlock*, llvm::Twine const&, llvm::Function*) in BogusControlFlow.cpp.o
"llvm::DemotePHIToStack(llvm::PHINode*, llvm::Instruction*)", referenced from:
llvm::fixStack(llvm::Function*) in Utils.cpp.o
"llvm::DemoteRegToStack(llvm::Instruction&, bool, llvm::Instruction*)", referenced from:
llvm::fixStack(llvm::Function*) in Utils.cpp.o
"llvm::SubstitutionPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)", referenced from:
llvm::detail::PassModel<llvm::Function, llvm::SubstitutionPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) in Plugin.cpp.o
"llvm::SubstitutionPass::SubstitutionPass()", referenced from:
llvm::addPassWithName(llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >&, llvm::StringRef&) in Plugin.cpp.o
"llvm::SplitBasicBlockPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)", referenced from:
llvm::detail::PassModel<llvm::Function, llvm::SplitBasicBlockPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) in Plugin.cpp.o
"llvm::SplitBasicBlockPass::SplitBasicBlockPass()", referenced from:
llvm::addPassWithName(llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >&, llvm::StringRef&) in Plugin.cpp.o
"llvm::FlatteningObfuscatorPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)", referenced from:
llvm::detail::PassModel<llvm::Function, llvm::FlatteningObfuscatorPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) in Plugin.cpp.o
"llvm::FlatteningObfuscatorPass::FlatteningObfuscatorPass()", referenced from:
llvm::addPassWithName(llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >&, llvm::StringRef&) in Plugin.cpp.o
"llvm::Function::viewCFG() const", referenced from:
llvm::BogusControlFlow::bogus(llvm::Function&) in BogusControlFlow.cpp.o
llvm::BogusControlFlow::doF(llvm::Module&) in BogusControlFlow.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Metadata
Metadata
Assignees
Labels
No labels