[llvm-dwarfdump] - Change format for .gdb_index dump.

It is useful to output size of ranges when address ranges
section of .gdb_index is dumped.

It helps to compare outputs produced by different linkers,
for example. In that case address ranges can look very different,
when they are the same at fact. Difference comes from different 
low address because of different address of .text.

Differential revision: https://reviews.llvm.org/D32492

llvm-svn: 301527
This commit is contained in:
George Rimar 2017-04-27 10:00:13 +00:00
parent 7762b83768
commit e6ef4488e1
2 changed files with 5 additions and 4 deletions

View File

@ -39,8 +39,9 @@ void DWARFGdbIndex::dumpAddressArea(raw_ostream &OS) const {
<< '\n';
for (const AddressEntry &Addr : AddressArea)
OS << format(
" Low address = 0x%llx, High address = 0x%llx, CU index = %d\n",
Addr.LowAddress, Addr.HighAddress, Addr.CuIndex);
" Low/High address = [0x%llx, 0x%llx) (Size: 0x%llx), CU id = %d\n",
Addr.LowAddress, Addr.HighAddress, Addr.HighAddress - Addr.LowAddress,
Addr.CuIndex);
}
void DWARFGdbIndex::dumpSymbolTable(raw_ostream &OS) const {

View File

@ -18,8 +18,8 @@ RUN: llvm-dwarfdump -debug-dump=gdb_index %p/Inputs/dwarfdump-gdbindex-v7.elf-x8
; CHECK-NEXT: 1: Offset = 0x34, Length = 0x34
; CHECK: Address area offset = 0x38, has 2 entries:
; CHECK-NEXT: Low address = 0x4000e8, High address = 0x4000f3, CU index = 0
; CHECK-NEXT: Low address = 0x4000f3, High address = 0x4000fe, CU index = 1
; CHECK-NEXT: Low/High address = [0x4000e8, 0x4000f3) (Size: 0xb), CU id = 0
; CHECK-NEXT: Low/High address = [0x4000f3, 0x4000fe) (Size: 0xb), CU id = 1
; CHECK: Symbol table offset = 0x60, size = 1024, filled slots:
; CHECK-NEXT: 489: Name offset = 0x1d, CU vector offset = 0x0