[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:
parent
6b901217dc
commit
fdf499bf2d
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user