diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
commit | 0b57cec536236d46e3dba9bd041533462f33dbb7 (patch) | |
tree | 56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp | |
parent | 718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff) |
Notes
Diffstat (limited to 'contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp')
-rw-r--r-- | contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp b/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp deleted file mode 100644 index be8c32d5b294..000000000000 --- a/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp +++ /dev/null @@ -1,61 +0,0 @@ -//===- DebugFrameDataSubsection.cpp -----------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h" -#include "llvm/DebugInfo/CodeView/CodeViewError.h" - -using namespace llvm; -using namespace llvm::codeview; - -Error DebugFrameDataSubsectionRef::initialize(BinaryStreamReader Reader) { - if (Reader.bytesRemaining() % sizeof(FrameData) != 0) { - if (auto EC = Reader.readObject(RelocPtr)) - return EC; - } - - if (Reader.bytesRemaining() % sizeof(FrameData) != 0) - return make_error<CodeViewError>(cv_error_code::corrupt_record, - "Invalid frame data record format!"); - - uint32_t Count = Reader.bytesRemaining() / sizeof(FrameData); - if (auto EC = Reader.readArray(Frames, Count)) - return EC; - return Error::success(); -} - -Error DebugFrameDataSubsectionRef::initialize(BinaryStreamRef Section) { - BinaryStreamReader Reader(Section); - return initialize(Reader); -} - -uint32_t DebugFrameDataSubsection::calculateSerializedSize() const { - uint32_t Size = sizeof(FrameData) * Frames.size(); - if (IncludeRelocPtr) - Size += sizeof(uint32_t); - return Size; -} - -Error DebugFrameDataSubsection::commit(BinaryStreamWriter &Writer) const { - if (IncludeRelocPtr) { - if (auto EC = Writer.writeInteger<uint32_t>(0)) - return EC; - } - - std::vector<FrameData> SortedFrames(Frames.begin(), Frames.end()); - std::sort(SortedFrames.begin(), SortedFrames.end(), - [](const FrameData &LHS, const FrameData &RHS) { - return LHS.RvaStart < RHS.RvaStart; - }); - if (auto EC = Writer.writeArray(makeArrayRef(SortedFrames))) - return EC; - return Error::success(); -} - -void DebugFrameDataSubsection::addFrameData(const FrameData &Frame) { - Frames.push_back(Frame); -} |