]> granicus.if.org Git - llvm/commit
[DWARF] Fix reading 64-bit DWARF type units.
authorIgor Kudrin <ikudrin@accesssoftek.com>
Tue, 20 Aug 2019 12:52:32 +0000 (12:52 +0000)
committerIgor Kudrin <ikudrin@accesssoftek.com>
Tue, 20 Aug 2019 12:52:32 +0000 (12:52 +0000)
commit3afc5fe656c65b1538012389d97e198194007283
treeab1b3ac49bc65dcae8dc277a2345ff873c01779b
parent1931ad8cc9b62a4caf448a184a750fe45c441ae4
[DWARF] Fix reading 64-bit DWARF type units.

The type_offset field is 8 bytes long in DWARF64. The patch extends
TypeOffset to uint64_t and fixes its reading. The patch also fixes
checking of TypeOffset bounds as it was inaccurate in DWARF64 case.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369378 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
include/llvm/DebugInfo/DWARF/DWARFUnit.h
lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
lib/DebugInfo/DWARF/DWARFUnit.cpp
test/tools/llvm-dwarfdump/X86/typeunit-v4-dwarf64.s [new file with mode: 0644]
test/tools/llvm-dwarfdump/X86/typeunit-v5-dwarf64.s [new file with mode: 0644]