# This test produces a stripped version of the object file and adds a
# gnu-debuglink section to it linking to the unstripped version of the object
# file. The debug info shall be loaded from the gnu-debuglink reference.
#
# This test is added to check that LocateExecutableSymbolFile can handle
# ObjectFilePECOFF::GetModuleSpecifications returning two different module
# specs for MachineX86 -- "i386-pc-windows" and "i686-pc-windows".

# RUN: yaml2obj %s -o %t
# RUN: llvm-objcopy --strip-all --add-gnu-debuglink=%t %t %t.stripped
# RUN: lldb-test object-file %t.stripped | FileCheck %s

# CHECK: Name: .debug_info
# CHECK-NEXT: Type: dwarf-info

--- !COFF
OptionalHeader:
  AddressOfEntryPoint: 4480
  ImageBase:       268435456
  SectionAlignment: 4096
  FileAlignment:   512
  MajorOperatingSystemVersion: 6
  MinorOperatingSystemVersion: 0
  MajorImageVersion: 0
  MinorImageVersion: 0
  MajorSubsystemVersion: 6
  MinorSubsystemVersion: 0
  Subsystem:       IMAGE_SUBSYSTEM_WINDOWS_CUI
  DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
  SizeOfStackReserve: 1048576
  SizeOfStackCommit: 4096
  SizeOfHeapReserve: 1048576
  SizeOfHeapCommit: 4096
header:
  Machine:         IMAGE_FILE_MACHINE_I386
  Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_32BIT_MACHINE ]
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    VirtualAddress:  4096
    VirtualSize:     64
    SectionData:     DEADBEEFBAADF00D
  - Name:            .data
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
    VirtualAddress:  8192
    VirtualSize:     64
    SectionData:     DEADBEEFBAADF00D
  - Name:            .debug_info
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
    VirtualAddress:  16384
    VirtualSize:     64
    SectionData:     DEADBEEFBAADF00D
symbols:         []
...
