1*db17bf38SDimitry Andric //===- DebugSymbolRVASubsection.cpp ------------------------------*- C++-*-===// 2*db17bf38SDimitry Andric // 3*db17bf38SDimitry Andric // The LLVM Compiler Infrastructure 4*db17bf38SDimitry Andric // 5*db17bf38SDimitry Andric // This file is distributed under the University of Illinois Open Source 6*db17bf38SDimitry Andric // License. See LICENSE.TXT for details. 7*db17bf38SDimitry Andric // 8*db17bf38SDimitry Andric //===----------------------------------------------------------------------===// 9*db17bf38SDimitry Andric 10*db17bf38SDimitry Andric #include "llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h" 11*db17bf38SDimitry Andric 12*db17bf38SDimitry Andric using namespace llvm; 13*db17bf38SDimitry Andric using namespace llvm::codeview; 14*db17bf38SDimitry Andric 15*db17bf38SDimitry Andric DebugSymbolRVASubsectionRef::DebugSymbolRVASubsectionRef() 16*db17bf38SDimitry Andric : DebugSubsectionRef(DebugSubsectionKind::CoffSymbolRVA) {} 17*db17bf38SDimitry Andric 18*db17bf38SDimitry Andric Error DebugSymbolRVASubsectionRef::initialize(BinaryStreamReader &Reader) { 19*db17bf38SDimitry Andric return Reader.readArray(RVAs, Reader.bytesRemaining() / sizeof(uint32_t)); 20*db17bf38SDimitry Andric } 21*db17bf38SDimitry Andric 22*db17bf38SDimitry Andric DebugSymbolRVASubsection::DebugSymbolRVASubsection() 23*db17bf38SDimitry Andric : DebugSubsection(DebugSubsectionKind::CoffSymbolRVA) {} 24*db17bf38SDimitry Andric 25*db17bf38SDimitry Andric Error DebugSymbolRVASubsection::commit(BinaryStreamWriter &Writer) const { 26*db17bf38SDimitry Andric return Writer.writeArray(makeArrayRef(RVAs)); 27*db17bf38SDimitry Andric } 28*db17bf38SDimitry Andric 29*db17bf38SDimitry Andric uint32_t DebugSymbolRVASubsection::calculateSerializedSize() const { 30*db17bf38SDimitry Andric return RVAs.size() * sizeof(uint32_t); 31*db17bf38SDimitry Andric } 32