mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
287c1c9e0d
The goal here is to make it possible to display absolute file offsets when dumping byets from an MSF. The problem is that when dumping bytes from an MSF, often the bytes will cross a block boundary and encounter a discontinuity. We can't use the normal formatBinary() function for this because this would just treat the sequence as entirely ascending, and not account out-of-order blocks. This patch adds a formatMsfData() function to our printer, and then uses this function to improve the output of the -stream-data command line option for dumping bytes from a particular stream. Test coverage is also expanded to make sure to include all possible scenarios of offsets, sizes, and crossing block boundaries. llvm-svn: 306141
70 lines
4.8 KiB
Plaintext
70 lines
4.8 KiB
Plaintext
; RUN: llvm-pdbutil bytes -stream-data=1 %p/Inputs/empty.pdb | FileCheck --check-prefix=STREAM %s
|
|
; RUN: llvm-pdbutil bytes -stream-data=100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=INVALIDSTREAM %s
|
|
; RUN: llvm-pdbutil bytes -stream-data=1,100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BOTH %s
|
|
|
|
; RUN: llvm-pdbutil bytes -stream-data=1:10 %p/Inputs/empty.pdb | FileCheck --check-prefix=OFFSET %s
|
|
; RUN: llvm-pdbutil bytes -stream-data=1@20 %p/Inputs/empty.pdb | FileCheck --check-prefix=SIZED %s
|
|
; RUN: llvm-pdbutil bytes -stream-data=1:8@20 %p/Inputs/empty.pdb | FileCheck --check-prefix=SLICE %s
|
|
; RUN: llvm-pdbutil bytes -stream-data=1:0x8@0x14 %p/Inputs/empty.pdb | FileCheck --check-prefix=SLICE %s
|
|
; RUN: llvm-pdbutil bytes -stream-data=2:4050@100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=DISCONTINUITY %s
|
|
|
|
STREAM: Stream Data
|
|
STREAM-NEXT: ============================================================
|
|
STREAM-NEXT: Stream 1: PDB Stream (dumping 118 / 118 bytes)
|
|
STREAM-NEXT: Data (
|
|
STREAM-NEXT: 13000: 942E3101 E207E554 01000000 0B355641 86A0A249 896F9988 FAE52FF0 22000000 |..1....T.....5VA...I.o..../."...|
|
|
STREAM-NEXT: 13020: 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 626C6F63 |/LinkInfo./names./src/headerbloc|
|
|
STREAM-NEXT: 13040: 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 00000A00 |k...............................|
|
|
STREAM-NEXT: 13060: 00000D00 00000000 00000500 00000000 00004191 3201 |..................A.2.|
|
|
STREAM-NEXT: )
|
|
|
|
INVALIDSTREAM: Stream Data
|
|
INVALIDSTREAM-NEXT: ============================================================
|
|
INVALIDSTREAM-NEXT: Stream 100: Not present
|
|
|
|
BOTH: Stream Data
|
|
BOTH-NEXT: ============================================================
|
|
BOTH-NEXT: Stream 1: PDB Stream (dumping 118 / 118 bytes)
|
|
BOTH-NEXT: Data (
|
|
BOTH-NEXT: 13000: 942E3101 E207E554 01000000 0B355641 86A0A249 896F9988 FAE52FF0 22000000 |..1....T.....5VA...I.o..../."...|
|
|
BOTH-NEXT: 13020: 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 626C6F63 |/LinkInfo./names./src/headerbloc|
|
|
BOTH-NEXT: 13040: 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 00000A00 |k...............................|
|
|
BOTH-NEXT: 13060: 00000D00 00000000 00000500 00000000 00004191 3201 |..................A.2.|
|
|
BOTH-NEXT: )
|
|
BOTH-NEXT: Stream 100: Not present
|
|
|
|
OFFSET: Stream Data
|
|
OFFSET-NEXT: ============================================================
|
|
OFFSET-NEXT: Stream 1: PDB Stream (dumping 108 / 118 bytes)
|
|
OFFSET-NEXT: Data (
|
|
OFFSET-NEXT: 1300A: 00000B35 564186A0 A249896F 9988FAE5 2FF02200 00002F4C 696E6B49 6E666F00 |...5VA...I.o..../.".../LinkInfo.|
|
|
OFFSET-NEXT: 1302A: 2F6E616D 6573002F 7372632F 68656164 6572626C 6F636B00 03000000 06000000 |/names./src/headerblock.........|
|
|
OFFSET-NEXT: 1304A: 01000000 1A000000 00000000 11000000 09000000 0A000000 0D000000 00000000 |................................|
|
|
OFFSET-NEXT: 1306A: 05000000 00000000 41913201 |........A.2.|
|
|
OFFSET-NEXT: )
|
|
|
|
SIZED: Stream Data
|
|
SIZED-NEXT: ============================================================
|
|
SIZED-NEXT: Stream 1: PDB Stream (dumping 20 / 118 bytes)
|
|
SIZED-NEXT: Data (
|
|
SIZED-NEXT: 13000: 942E3101 E207E554 01000000 0B355641 86A0A249 |..1....T.....5VA...I|
|
|
SIZED-NEXT: )
|
|
|
|
SLICE: Stream Data
|
|
SLICE-NEXT: ============================================================
|
|
SLICE-NEXT: Stream 1: PDB Stream (dumping 20 / 118 bytes)
|
|
SLICE-NEXT: Data (
|
|
SLICE-NEXT: 13008: 01000000 0B355641 86A0A249 896F9988 FAE52FF0 |.....5VA...I.o..../.|
|
|
SLICE-NEXT: )
|
|
|
|
DISCONTINUITY: Stream Data
|
|
DISCONTINUITY-NEXT: ============================================================
|
|
DISCONTINUITY-NEXT: Stream 2: TPI Stream (dumping 100 / 5,392 bytes)
|
|
DISCONTINUITY-NEXT: Data (
|
|
DISCONTINUITY-NEXT: 12FD2: 65537472 75637455 73616765 00F10215 03000480 00002000 654C6F63 616C5573 |eStructUsage.......... .eLocalUs|
|
|
DISCONTINUITY-NEXT: 12FF2: 61676500 F2F10215 03000480 0000 |age...........|
|
|
DISCONTINUITY-NEXT: -------------------------------------------------<discontinuity>--------------------------------------------------
|
|
DISCONTINUITY-NEXT: 11000: 40006550 726F7065 72747955 73616765 00F3F2F1 02150300 04800000 80006545 |@.ePropertyUsage..............eE|
|
|
DISCONTINUITY-NEXT: 11020: 76656E74 55736167 6500F2F1 02150300 04800000 0001 |ventUsage.............|
|
|
DISCONTINUITY-NEXT: )
|