[codeview] use 32-bit integer for RelocOffset in DebugLinesSubsection

Summary:
RelocOffset is a 32-bit value, but we previously truncated it to 16 bits.

Fixes PR33335.

Reviewers: zturner, hiraditya!

Reviewed By: zturner

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33968

llvm-svn: 305043
This commit is contained in:
Bob Haarman 2017-06-09 01:18:10 +00:00
parent 6b901217dc
commit fdf499bf2d
3 changed files with 4 additions and 4 deletions

View File

@ -122,7 +122,7 @@ public:
uint32_t calculateSerializedSize() const override;
Error commit(BinaryStreamWriter &Writer) const override;
void setRelocationAddress(uint16_t Segment, uint16_t Offset);
void setRelocationAddress(uint16_t Segment, uint32_t Offset);
void setCodeSize(uint32_t Size);
void setFlags(LineFlags Flags);
@ -131,7 +131,7 @@ public:
private:
DebugChecksumsSubsection &Checksums;
uint16_t RelocOffset = 0;
uint32_t RelocOffset = 0;
uint16_t RelocSegment = 0;
uint32_t CodeSize = 0;
LineFlags Flags = LF_None;

View File

@ -145,7 +145,7 @@ uint32_t DebugLinesSubsection::calculateSerializedSize() const {
}
void DebugLinesSubsection::setRelocationAddress(uint16_t Segment,
uint16_t Offset) {
uint32_t Offset) {
RelocOffset = Offset;
RelocSegment = Segment;
}

View File

@ -38,7 +38,7 @@ DbiStream:
- !Lines
CodeSize: 10
Flags: [ ]
RelocOffset: 16
RelocOffset: 100016
RelocSegment: 1
Blocks:
- FileName: 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp'