reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
; REQUIRES: diasdk

; RUN: llvm-pdbutil explain -offset=0 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=ZERO %s
; RUN: llvm-pdbutil explain -offset=40 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=FORTY %s
; RUN: llvm-pdbutil explain -offset=60 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=SIXTY %s

; RUN: llvm-pdbutil explain -offset=0x1000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=FPM1 %s
; RUN: llvm-pdbutil explain -offset=0x1100 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=EXTRANEOUSFPM %s
; RUN: llvm-pdbutil explain -offset=0x2000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=FPM2 %s

; RUN: llvm-pdbutil explain -offset=0x3000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=UNALLOCATED %s

; RUN: llvm-pdbutil explain -offset=0x7000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=STREAM %s

; RUN: llvm-pdbutil explain -offset=0x1A000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=STREAMDIR %s

; RUN: llvm-pdbutil explain -offset=0x1B000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=DIRBLOCKLIST %s

; RUN: llvm-pdbutil explain -offset=0x1D000 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=INVALIDFILEOFFSET %s

; RUN: llvm-pdbutil explain -offset=0xA100 %p/Inputs/InjectedSource.pdb \
; RUN:  | FileCheck --check-prefix=UNUSED %s


ZERO:      Block:Offset = 0:0000.
ZERO-NEXT: Address is in block 0 (allocated).
ZERO-NEXT:   This corresponds to offset 0 of the MSF super block,
ZERO-NEXT:   which is part of the MSF file magic.

FORTY:      Block:Offset = 0:0028.
FORTY-NEXT: Address is in block 0 (allocated).
FORTY-NEXT:   This corresponds to offset 40 of the MSF super block,
FORTY-NEXT:   which contains the number of blocks in the file.
FORTY-NEXT:   The current value is 29.

SIXTY:      Block:Offset = 0:003C.
SIXTY-NEXT: Address is in block 0 (allocated).
SIXTY-NEXT:   This corresponds to offset 60 of the MSF super block,
SIXTY-NEXT:   which is outside the range of valid data for the super block.

FPM1:      Block:Offset = 1:0000.
FPM1-NEXT: Address is in block 1 (allocated).
FPM1-NEXT:   Address is in FPM1 (Alt FPM)
FPM1-NEXT:   Address describes the allocation status of blocks [0,8)
FPM1-NEXT:   Status = 00000011 (Note: 0 = allocated, 1 = free)

EXTRANEOUSFPM:      Block:Offset = 1:0100.
EXTRANEOUSFPM-NEXT: Address is in block 1 (allocated).
EXTRANEOUSFPM-NEXT:   Address is in FPM1 (Alt FPM)
EXTRANEOUSFPM-NEXT:   Address is in extraneous FPM space.

FPM2:      Block:Offset = 2:0000.
FPM2-NEXT: Address is in block 2 (allocated).
FPM2-NEXT:   Address is in FPM2 (Main FPM)
FPM2-NEXT:   Address describes the allocation status of blocks [0,8)
FPM2-NEXT:   Status = 00011100 (Note: 0 = allocated, 1 = free)

UNALLOCATED:      Block:Offset = 3:0000.
UNALLOCATED-NEXT: Address is in block 3 (unallocated).

STREAM:      Block:Offset = 7:0000.
STREAM-NEXT: Address is in block 7 (allocated).
STREAM-NEXT:   Address is at offset 0/684 of Stream 12 (Module "* Linker *").

STREAMDIR:      Block:Offset = 1A:0000.
STREAMDIR-NEXT: Address is in block 26 (allocated).
STREAMDIR-NEXT:   Address is at offset 0/156 of Stream Directory.

DIRBLOCKLIST:      Block:Offset = 1B:0000.
DIRBLOCKLIST-NEXT: Address is in block 27 (allocated).
DIRBLOCKLIST-NEXT:   Address is at offset 0 of the directory block list

INVALIDFILEOFFSET: Address 118784 is not in the file (file size = 118784).

UNUSED:      Block:Offset = A:0100.
UNUSED-NEXT: Address is in block 10 (allocated).
UNUSED-NEXT:   Address is at offset 256/120 of Stream 11 (Section Header Data) in unused space.