brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 6fe72e8 Raw
36 lines · cpp
1//===- DebugSymbolRVASubsection.cpp ---------------------------------------===//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-exception6//7//===----------------------------------------------------------------------===//8 9#include "llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h"10#include "llvm/ADT/ArrayRef.h"11#include "llvm/DebugInfo/CodeView/CodeView.h"12#include "llvm/Support/BinaryStreamReader.h"13#include "llvm/Support/BinaryStreamWriter.h"14#include <cstdint>15 16using namespace llvm;17using namespace llvm::codeview;18 19DebugSymbolRVASubsectionRef::DebugSymbolRVASubsectionRef()20    : DebugSubsectionRef(DebugSubsectionKind::CoffSymbolRVA) {}21 22Error DebugSymbolRVASubsectionRef::initialize(BinaryStreamReader &Reader) {23  return Reader.readArray(RVAs, Reader.bytesRemaining() / sizeof(uint32_t));24}25 26DebugSymbolRVASubsection::DebugSymbolRVASubsection()27    : DebugSubsection(DebugSubsectionKind::CoffSymbolRVA) {}28 29Error DebugSymbolRVASubsection::commit(BinaryStreamWriter &Writer) const {30  return Writer.writeArray(ArrayRef(RVAs));31}32 33uint32_t DebugSymbolRVASubsection::calculateSerializedSize() const {34  return RVAs.size() * sizeof(uint32_t);35}36