diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:10:56 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:10:56 +0000 | 
| commit | 044eb2f6afba375a914ac9d8024f8f5142bb912e (patch) | |
| tree | 1475247dc9f9fe5be155ebd4c9069c75aadf8c20 /lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp | |
| parent | eb70dddbd77e120e5d490bd8fbe7ff3f8fa81c6b (diff) | |
Notes
Diffstat (limited to 'lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp')
| -rw-r--r-- | lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp | 89 | 
1 files changed, 0 insertions, 89 deletions
| diff --git a/lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp b/lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp deleted file mode 100644 index 28c4a8fc35d9..000000000000 --- a/lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp +++ /dev/null @@ -1,89 +0,0 @@ -//===- DbiStreamBuilder.cpp - PDB Dbi Stream Creation -----------*- C++ -*-===// -// -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/DebugInfo/PDB/Native/PublicsStreamBuilder.h" - -#include "llvm/DebugInfo/MSF/MSFBuilder.h" -#include "llvm/DebugInfo/MSF/MSFCommon.h" -#include "llvm/DebugInfo/MSF/MappedBlockStream.h" - -#include "GSI.h" - -using namespace llvm; -using namespace llvm::msf; -using namespace llvm::pdb; - -PublicsStreamBuilder::PublicsStreamBuilder(msf::MSFBuilder &Msf) : Msf(Msf) {} - -PublicsStreamBuilder::~PublicsStreamBuilder() {} - -uint32_t PublicsStreamBuilder::calculateSerializedLength() const { -  uint32_t Size = 0; -  Size += sizeof(PublicsStreamHeader); -  Size += sizeof(GSIHashHeader); -  Size += HashRecords.size() * sizeof(PSHashRecord); -  size_t BitmapSizeInBits = alignTo(IPHR_HASH + 1, 32); -  uint32_t NumBitmapEntries = BitmapSizeInBits / 8; -  Size += NumBitmapEntries; - -  // FIXME: Account for hash buckets.  For now since we we write a zero-bitmap -  // indicating that no hash buckets are valid, we also write zero byets of hash -  // bucket data. -  Size += 0; -  return Size; -} - -Error PublicsStreamBuilder::finalizeMsfLayout() { -  Expected<uint32_t> Idx = Msf.addStream(calculateSerializedLength()); -  if (!Idx) -    return Idx.takeError(); -  StreamIdx = *Idx; - -  Expected<uint32_t> RecordIdx = Msf.addStream(0); -  if (!RecordIdx) -    return RecordIdx.takeError(); -  RecordStreamIdx = *RecordIdx; -  return Error::success(); -} - -Error PublicsStreamBuilder::commit(BinaryStreamWriter &PublicsWriter) { -  PublicsStreamHeader PSH; -  GSIHashHeader GSH; - -  // FIXME: Figure out what to put for these values. -  PSH.AddrMap = 0; -  PSH.ISectThunkTable = 0; -  PSH.NumSections = 0; -  PSH.NumThunks = 0; -  PSH.OffThunkTable = 0; -  PSH.SizeOfThunk = 0; -  PSH.SymHash = 0; - -  GSH.VerSignature = GSIHashHeader::HdrSignature; -  GSH.VerHdr = GSIHashHeader::HdrVersion; -  GSH.HrSize = 0; -  GSH.NumBuckets = 0; - -  if (auto EC = PublicsWriter.writeObject(PSH)) -    return EC; -  if (auto EC = PublicsWriter.writeObject(GSH)) -    return EC; -  if (auto EC = PublicsWriter.writeArray(makeArrayRef(HashRecords))) -    return EC; - -  size_t BitmapSizeInBits = alignTo(IPHR_HASH + 1, 32); -  uint32_t NumBitmapEntries = BitmapSizeInBits / 8; -  std::vector<uint8_t> BitmapData(NumBitmapEntries); -  // FIXME: Build an actual bitmap -  if (auto EC = PublicsWriter.writeBytes(makeArrayRef(BitmapData))) -    return EC; - -  // FIXME: Write actual hash buckets. -  return Error::success(); -} | 
