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#include <optional> 15 16namespace llvm::codeview { 17union DebugInfo; 18} 19 20namespace lld { 21class Timer; 22 23namespace coff { 24class SectionChunk; 25class COFFLinkerContext; 26 27void createPDB(COFFLinkerContext &ctx, llvm::ArrayRef<uint8_t> sectionTable, 28 llvm::codeview::DebugInfo *buildId); 29 30std::optional<std::pair<llvm::StringRef, uint32_t>> 31getFileLineCodeView(const SectionChunk *c, uint32_t addr); 32 33} // namespace coff 34} // namespace lld 35 36#endif 37