lfDefined               = $01
lfCanRedefine           = $02
lfIsRedefined           = $04
lfUsed                  = $08
lfPredictionUsed        = $10
lfLastUsedPrediction    = $20
lfPredictionDefined     = $40
lfLastDefinedPrediction = $80
lfOptimized             = $100

ltAbsolute = 0
ltRelocSegment = 1
ltRelocAbsolute = 2
ltRelocRelative = 3
ltReloc64       = 4
ltELF_GOT_relative = 5
ltELF_PLT_entry_address  = 6
ltELF_PLT_entry__relative = 7

struct TDumpHeader
  .signature       db 'fas',$1a
  .fasm_ver_hi     db ?
  .fasm_ver_lo     db ?
  .header_size     dw ?

  .ofsSourceName   dd ?

  .ofsCompiledName dd ?

  .ofsStringTable  dd ?
  .lenStringTable  dd ?

  .ofsSymbolTable  dd ?
  .lenSymbolTable  dd ?

  .ofsPreprocessed dd ?
  .lenPreprocessed dd ?

  .ofsAsmDump      dd ?
  .lenAsmDump      dd ?

  .ofsSections     dd ?
  .lenSections     dd ?

  .ofsXRef         dd ?
  .lenXRef         dd ?
ends



struct TIntLine
  .ofsGenerator      dd ?   ; ASCIIZ of filename (if generated from file) or PASCAL string with the name of the macros that generated this line.
  .LineNumber        dd ?   ;
  .ofsSourceLine     dd ?   ;
  .ofsMacroLine      dd ?   ; if the line was generated by macro.
  .PreprocessedLine:
ends



struct TIntLabel
  .Value         dq ?     ; Value of the label
  .Flags         dw ?     ; lf**** flags.
  .DataSize      db ?
  .type          db ?     ; lt**** values.
  .SIBEx         dd ?     ; ???
  .PassDefined   dw ?
  .PassUsed      dw ?
  .RelAddress    dd ?     ; Address of object section or external symbol to which this label is relative.
  .ofsName       dd ?     ; offset of the name in the preprocessed source or (if bit 31 is set) in string table.
  .ofsDefinition dd ?     ;
ends



struct TLabel
  .Children    dd ?    ; Pointer to TArray of TLabel structures.

  .iName       dd ?
  .hashName    dd ?     ; seems to be not used at all.
  .flags       dw ?
  .DataSize    db ?
  .type        db ?
  .SIBEx       dd ?
  .ValueLo     dd ?
  .ValueHi     dd ?
  .pXRefArray  dd ?     ; pointer to TArray of TXrefInfo

               rb 32-$+.Children
ends

