|
|
|||
File indexing completed on 2026-05-10 08:43:50
0001 //===---- MachO_arm64.h - JIT link functions for MachO/arm64 ----*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 // 0009 // jit-link functions for MachO/arm64. 0010 // 0011 //===----------------------------------------------------------------------===// 0012 0013 #ifndef LLVM_EXECUTIONENGINE_JITLINK_MACHO_ARM64_H 0014 #define LLVM_EXECUTIONENGINE_JITLINK_MACHO_ARM64_H 0015 0016 #include "llvm/ExecutionEngine/JITLink/JITLink.h" 0017 0018 namespace llvm { 0019 namespace jitlink { 0020 0021 /// Create a LinkGraph from a MachO/arm64 relocatable object. 0022 /// 0023 /// Note: The graph does not take ownership of the underlying buffer, nor copy 0024 /// its contents. The caller is responsible for ensuring that the object buffer 0025 /// outlives the graph. 0026 Expected<std::unique_ptr<LinkGraph>> createLinkGraphFromMachOObject_arm64( 0027 MemoryBufferRef ObjectBuffer, std::shared_ptr<orc::SymbolStringPool> SSP); 0028 0029 /// jit-link the given object buffer, which must be a MachO arm64 object file. 0030 /// 0031 /// If PrePrunePasses is empty then a default mark-live pass will be inserted 0032 /// that will mark all exported atoms live. If PrePrunePasses is not empty, the 0033 /// caller is responsible for including a pass to mark atoms as live. 0034 /// 0035 /// If PostPrunePasses is empty then a default GOT-and-stubs insertion pass will 0036 /// be inserted. If PostPrunePasses is not empty then the caller is responsible 0037 /// for including a pass to insert GOT and stub edges. 0038 void link_MachO_arm64(std::unique_ptr<LinkGraph> G, 0039 std::unique_ptr<JITLinkContext> Ctx); 0040 0041 /// Returns a pass suitable for splitting __eh_frame sections in MachO/x86-64 0042 /// objects. 0043 LinkGraphPassFunction createEHFrameSplitterPass_MachO_arm64(); 0044 0045 /// Returns a pass suitable for fixing missing edges in an __eh_frame section 0046 /// in a MachO/x86-64 object. 0047 LinkGraphPassFunction createEHFrameEdgeFixerPass_MachO_arm64(); 0048 0049 } // end namespace jitlink 0050 } // end namespace llvm 0051 0052 #endif // LLVM_EXECUTIONENGINE_JITLINK_MACHO_ARM64_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|