xref: /freebsd/contrib/llvm-project/lld/COFF/PDB.h (revision 7029da5c36f2d3cf6bb6c81bf551229f416399e8)
1 //===- PDB.h ----------------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLD_COFF_PDB_H
10 #define LLD_COFF_PDB_H
11 
12 #include "llvm/ADT/ArrayRef.h"
13 #include "llvm/ADT/StringRef.h"
14 
15 namespace llvm {
16 namespace codeview {
17 union DebugInfo;
18 }
19 }
20 
21 namespace lld {
22 namespace coff {
23 class OutputSection;
24 class SectionChunk;
25 class SymbolTable;
26 
27 void createPDB(SymbolTable *symtab,
28                llvm::ArrayRef<OutputSection *> outputSections,
29                llvm::ArrayRef<uint8_t> sectionTable,
30                llvm::codeview::DebugInfo *buildId);
31 
32 std::pair<llvm::StringRef, uint32_t> getFileLine(const SectionChunk *c,
33                                                  uint32_t addr);
34 }
35 }
36 
37 #endif
38