//===--- DebugInfoSupport.cpp -- Utils for debug info support ---*- 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 // //===----------------------------------------------------------------------===// // // Utilities to preserve and parse debug info from LinkGraphs. // //===----------------------------------------------------------------------===// #include "llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h" #include "llvm/Support/SmallVectorMemoryBuffer.h" #define DEBUG_TYPE … usingnamespacellvm; usingnamespacellvm::orc; usingnamespacellvm::jitlink; namespace { static DenseSet<StringRef> DWARFSectionNames = …; // We might be able to drop relocations to symbols that do end up // being pruned by the linker, but for now we just preserve all static void preserveDWARFSection(LinkGraph &G, Section &Sec) { … } static SmallVector<char, 0> getSectionData(Section &Sec) { … } static void dumpDWARFContext(DWARFContext &DC) { … } } // namespace Error llvm::orc::preserveDebugSections(LinkGraph &G) { … } Expected<std::pair<std::unique_ptr<DWARFContext>, StringMap<std::unique_ptr<MemoryBuffer>>>> llvm::orc::createDWARFContext(LinkGraph &G) { … }