18456b16eSEugene Zelenko //===- DebugSymbolRVASubsection.cpp ---------------------------------------===// 23226fe95SZachary Turner // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 63226fe95SZachary Turner // 73226fe95SZachary Turner //===----------------------------------------------------------------------===// 83226fe95SZachary Turner 93226fe95SZachary Turner #include "llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h" 108456b16eSEugene Zelenko #include "llvm/ADT/ArrayRef.h" 118456b16eSEugene Zelenko #include "llvm/DebugInfo/CodeView/CodeView.h" 128456b16eSEugene Zelenko #include "llvm/Support/BinaryStreamReader.h" 138456b16eSEugene Zelenko #include "llvm/Support/BinaryStreamWriter.h" 148456b16eSEugene Zelenko #include <cstdint> 153226fe95SZachary Turner 163226fe95SZachary Turner using namespace llvm; 173226fe95SZachary Turner using namespace llvm::codeview; 183226fe95SZachary Turner DebugSymbolRVASubsectionRef()193226fe95SZachary TurnerDebugSymbolRVASubsectionRef::DebugSymbolRVASubsectionRef() 203226fe95SZachary Turner : DebugSubsectionRef(DebugSubsectionKind::CoffSymbolRVA) {} 213226fe95SZachary Turner initialize(BinaryStreamReader & Reader)223226fe95SZachary TurnerError DebugSymbolRVASubsectionRef::initialize(BinaryStreamReader &Reader) { 233226fe95SZachary Turner return Reader.readArray(RVAs, Reader.bytesRemaining() / sizeof(uint32_t)); 243226fe95SZachary Turner } 253226fe95SZachary Turner DebugSymbolRVASubsection()263226fe95SZachary TurnerDebugSymbolRVASubsection::DebugSymbolRVASubsection() 273226fe95SZachary Turner : DebugSubsection(DebugSubsectionKind::CoffSymbolRVA) {} 283226fe95SZachary Turner commit(BinaryStreamWriter & Writer) const293226fe95SZachary TurnerError DebugSymbolRVASubsection::commit(BinaryStreamWriter &Writer) const { 303226fe95SZachary Turner return Writer.writeArray(makeArrayRef(RVAs)); 313226fe95SZachary Turner } 323226fe95SZachary Turner calculateSerializedSize() const333226fe95SZachary Turneruint32_t DebugSymbolRVASubsection::calculateSerializedSize() const { 343226fe95SZachary Turner return RVAs.size() * sizeof(uint32_t); 353226fe95SZachary Turner } 36