//===--------------- PerGraphGOTAndPLTStubBuilder.h -------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Construct GOT and PLT entries for each graph. // //===----------------------------------------------------------------------===// #ifndef LLVM_EXECUTIONENGINE_JITLINK_PERGRAPHGOTANDPLTSTUBSBUILDER_H #define LLVM_EXECUTIONENGINE_JITLINK_PERGRAPHGOTANDPLTSTUBSBUILDER_H #include "llvm/ExecutionEngine/JITLink/JITLink.h" #include "llvm/Support/Debug.h" #define DEBUG_TYPE … namespace llvm { namespace jitlink { /// Per-object GOT and PLT Stub builder. /// /// Constructs GOT entries and PLT stubs in every graph for referenced symbols. /// Building these blocks in every graph is likely to lead to duplicate entries /// in the JITLinkDylib, but allows graphs to be trivially removed independently /// without affecting other graphs (since those other graphs will have their own /// copies of any required entries). template <typename BuilderImplT> class PerGraphGOTAndPLTStubsBuilder { … }; } // end namespace jitlink } // end namespace llvm #undef DEBUG_TYPE #endif // LLVM_EXECUTIONENGINE_JITLINK_PERGRAPHGOTANDPLTSTUBSBUILDER_H