jmpews / Dobby

a lightweight, multi-platform, multi-architecture hook framework.
Apache License 2.0
3.89k stars 798 forks source link

m1 cannot be compiled #140

Closed HOOKDLL closed 3 years ago

HOOKDLL commented 3 years ago

build_for_macos arm64

make -j4

make[2]: No rule to make target 'CMakeFiles/Dobby.dir/depend'. Stop. make[1]: [CMakeFiles/Makefile2:175: CMakeFiles/Dobby.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 3%] Building CXX object builtin-plugin/Dyld2HideLibrary/CMakeFiles/dyld2_hide_library.dir/dyld2_hide_library.cc.o [ 3%] Building C object external/external-helper/CMakeFiles/external-helper.dir/variable_cache.c.o [ 3%] Building CXX object external/external-helper/CMakeFiles/external-helper.dir/async_logger.cc.o [ 3%] Building CXX object CMakeFiles/dobby.dir/source/core/arch/CpuFeature.cc.o [ 4%] Building CXX object CMakeFiles/dobby.dir/source/core/arch/CpuRegister.cc.o [ 5%] Building CXX object CMakeFiles/dobby.dir/source/core/arch/x86/cpu-x86.cc.o [ 5%] Linking CXX static library libexternal-helper.a [ 5%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/assembler/assembler.cc.o [ 6%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/assembler/assembler-arm.cc.o [ 7%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/assembler/assembler-arm64.cc.o [ 7%] Built target external-helper [ 7%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/assembler/assembler-ia32.cc.o [ 8%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/codegen/codegen-arm.cc.o [ 8%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/assembler/assembler-x64.cc.o [ 10%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/codegen/codegen-arm64.cc.o [ 10%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/codegen/codegen-ia32.cc.o [ 10%] Building CXX object CMakeFiles/dobby.dir/source/core/modules/codegen/codegen-x64.cc.o [ 11%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/CodeBuffer/CodeBufferBase.cc.o [ 12%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/CodeBuffer/code-buffer-arm.cc.o [ 12%] Linking CXX static library libdyld2_hide_library.a [ 12%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/CodeBuffer/code-buffer-arm64.cc.o [ 12%] Built target dyld2_hide_library [ 13%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/CodeBuffer/code-buffer-x64.cc.o [ 13%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/CodeBuffer/code-buffer-x86.cc.o [ 14%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/AssemblyCodeBuilder.cc.o [ 15%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/MemoryArena.cc.o [ 15%] Building CXX object CMakeFiles/dobby.dir/source/InstructionRelocation/arm/ARMInstructionRelocation.cc.o [ 16%] Building CXX object CMakeFiles/dobby.dir/source/InstructionRelocation/arm64/ARM64InstructionRelocation.cc.o [ 17%] Building CXX object CMakeFiles/dobby.dir/source/InstructionRelocation/x86/X86InstructionRelocation.cc.o [ 17%] Building CXX object CMakeFiles/dobby.dir/source/InstructionRelocation/x64/X64InstructionRelocation.cc.o [ 18%] Building C object CMakeFiles/dobby.dir/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.c.o [ 19%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/InterceptRouting.cpp.o [ 19%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/InterceptRoutingTrampoline/arm/trampoline-arm.cc.o [ 20%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/InterceptRoutingTrampoline/arm64/trampoline-arm64.cc.o [ 20%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/InterceptRoutingTrampoline/x86/trampoline-x86.cc.o [ 21%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/InterceptRoutingTrampoline/x64/trampoline-x64.cc.o [ 22%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/RoutingPlugin/FunctionInlineReplace/function-inline-replace.cc.o [ 22%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/RoutingPlugin/FunctionInlineReplace/FunctionInlineReplaceExport.cc.o [ 23%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/ExtraInternalPlugin/RegisterPlugin.cc.o [ 23%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/UnifiedInterface/platform-posix.cc.o [ 24%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/PlatformUtil/Darwin/ProcessRuntimeUtility.cc.o [ 25%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/ExecMemory/code-patch-tool-posix.cc.o [ 25%] Building C object CMakeFiles/dobby.dir/source/UserMode/ExecMemory/clear-cache-tool-all.c.o [ 26%] Building CXX object CMakeFiles/dobby.dir/source/dobby.cpp.o [ 27%] Building CXX object CMakeFiles/dobby.dir/source/Interceptor.cpp.o [ 27%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/closure-trampoline-common-handler.cc.o [ 28%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/arm/helper-arm.cc.o [ 29%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/arm/closure-bridge-arm.cc.o [ 29%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/arm/ARMAssemblyClosureTrampoline.cc.o [ 30%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/arm64/closure-bridge-arm64.cc.o [ 31%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/arm64/helper-arm64.cc.o [ 31%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/arm64/ARM64AssemblyClosureTrampoline.cc.o [ 32%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/x64/helper-x64.cc.o [ 32%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/x64/closure-bridge-x64.cc.o [ 33%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/ClosureTrampolineBridge/x64/X64AssemblyClosureTrampoline.cc.o [ 34%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/MultiThreadSupport/ThreadSupport.cpp.o [ 34%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/Thread/PlatformThread.cc.o [ 35%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/Thread/platform-thread-posix.cc.o [ 36%] Building CXX object CMakeFiles/dobby.dir/source/UserMode/ExecMemory/code-patch-tool-darwin.cc.o [ 36%] Building C object CMakeFiles/dobby.dir/source/UserMode/ExecMemory/substrated/mach_interface_support/substrated_client.c.o [ 37%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/RoutingPlugin/DynamicBinaryInstrument/dynamic-binary-instrument.cc.o [ 38%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/RoutingPlugin/DynamicBinaryInstrument/DynamicBinaryInstrumentExport.cc.o [ 38%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/RoutingPlugin/DynamicBinaryInstrument/intercept_routing_handler.cc.o [ 39%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/ExtraInternalPlugin/NearBranchTrampoline/NeaBranchTrampoline.cc.o [ 39%] Building CXX object CMakeFiles/dobby.dir/source/MemoryAllocator/NearMemoryArena.cc.o [ 40%] Building C object CMakeFiles/dobby.dir/external/logging/logging.c.o [ 41%] Building CXX object CMakeFiles/dobby.dir/external/logging/cxxlogging.cc.o [ 41%] Building CXX object CMakeFiles/dobby.dir/external/xnucxx/LiteObject.cc.o [ 42%] Building CXX object CMakeFiles/dobby.dir/external/xnucxx/LiteMemOpt.cc.o [ 43%] Building CXX object CMakeFiles/dobby.dir/external/xnucxx/LiteCollection.cc.o [ 43%] Building CXX object CMakeFiles/dobby.dir/external/xnucxx/LiteIterator.cc.o [ 44%] Building CXX object CMakeFiles/dobby.dir/external/xnucxx/LiteMutableArray.cc.o [ 44%] Building CXX object CMakeFiles/dobby.dir/external/xnucxx/LiteMutableBuffer.cc.o [ 45%] Building CXX object CMakeFiles/dobby.dir/builtin-plugin/GlobalOffsetTableHook/global_offset_table_hook.cc.o [ 46%] Building CXX object CMakeFiles/dobby.dir/builtin-plugin/SymbolResolver/macho/dyld_shared_cache_symbol_table_iterator.cc.o [ 46%] Building CXX object CMakeFiles/dobby.dir/builtin-plugin/SymbolResolver/macho/dobby_symbol_resolver.cc.o [ 47%] Linking CXX shared library libdobby.dylib [ 47%] Built target dobby make: [Makefile:91: all] Error 2

能否支持一下 apple M1 芯片 macOS arm64 ?谢谢

jmpews commented 3 years ago

cmake .. -G Xcode -DCMAKE_OSX_ARCHITECTURES=arm64 即可