1*c8daf4a7SAlvin Wong# This test produces a stripped version of the object file and adds a
2*c8daf4a7SAlvin Wong# gnu-debuglink section to it linking to the unstripped version of the object
3*c8daf4a7SAlvin Wong# file. The debug info shall be loaded from the gnu-debuglink reference.
4*c8daf4a7SAlvin Wong#
5*c8daf4a7SAlvin Wong# This test is added to check that Symbols::LocateExecutableSymbolFile (in
6*c8daf4a7SAlvin Wong# LocateSymbolFile.cpp) can handle ObjectFilePECOFF::GetModuleSpecifications
7*c8daf4a7SAlvin Wong# returning two different module specs for MachineX86 -- "i386-pc-windows" and
8*c8daf4a7SAlvin Wong# "i686-pc-windows".
9*c8daf4a7SAlvin Wong
10*c8daf4a7SAlvin Wong# RUN: yaml2obj %s -o %t
11*c8daf4a7SAlvin Wong# RUN: llvm-objcopy --strip-all --add-gnu-debuglink=%t %t %t.stripped
12*c8daf4a7SAlvin Wong# RUN: lldb-test object-file %t.stripped | FileCheck %s
13*c8daf4a7SAlvin Wong
14*c8daf4a7SAlvin Wong# CHECK: Name: .debug_info
15*c8daf4a7SAlvin Wong# CHECK-NEXT: Type: dwarf-info
16*c8daf4a7SAlvin Wong
17*c8daf4a7SAlvin Wong--- !COFF
18*c8daf4a7SAlvin WongOptionalHeader:
19*c8daf4a7SAlvin Wong  AddressOfEntryPoint: 4480
20*c8daf4a7SAlvin Wong  ImageBase:       268435456
21*c8daf4a7SAlvin Wong  SectionAlignment: 4096
22*c8daf4a7SAlvin Wong  FileAlignment:   512
23*c8daf4a7SAlvin Wong  MajorOperatingSystemVersion: 6
24*c8daf4a7SAlvin Wong  MinorOperatingSystemVersion: 0
25*c8daf4a7SAlvin Wong  MajorImageVersion: 0
26*c8daf4a7SAlvin Wong  MinorImageVersion: 0
27*c8daf4a7SAlvin Wong  MajorSubsystemVersion: 6
28*c8daf4a7SAlvin Wong  MinorSubsystemVersion: 0
29*c8daf4a7SAlvin Wong  Subsystem:       IMAGE_SUBSYSTEM_WINDOWS_CUI
30*c8daf4a7SAlvin Wong  DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
31*c8daf4a7SAlvin Wong  SizeOfStackReserve: 1048576
32*c8daf4a7SAlvin Wong  SizeOfStackCommit: 4096
33*c8daf4a7SAlvin Wong  SizeOfHeapReserve: 1048576
34*c8daf4a7SAlvin Wong  SizeOfHeapCommit: 4096
35*c8daf4a7SAlvin Wongheader:
36*c8daf4a7SAlvin Wong  Machine:         IMAGE_FILE_MACHINE_I386
37*c8daf4a7SAlvin Wong  Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_32BIT_MACHINE ]
38*c8daf4a7SAlvin Wongsections:
39*c8daf4a7SAlvin Wong  - Name:            .text
40*c8daf4a7SAlvin Wong    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
41*c8daf4a7SAlvin Wong    VirtualAddress:  4096
42*c8daf4a7SAlvin Wong    VirtualSize:     64
43*c8daf4a7SAlvin Wong    SectionData:     DEADBEEFBAADF00D
44*c8daf4a7SAlvin Wong  - Name:            .data
45*c8daf4a7SAlvin Wong    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
46*c8daf4a7SAlvin Wong    VirtualAddress:  8192
47*c8daf4a7SAlvin Wong    VirtualSize:     64
48*c8daf4a7SAlvin Wong    SectionData:     DEADBEEFBAADF00D
49*c8daf4a7SAlvin Wong  - Name:            .debug_info
50*c8daf4a7SAlvin Wong    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
51*c8daf4a7SAlvin Wong    VirtualAddress:  16384
52*c8daf4a7SAlvin Wong    VirtualSize:     64
53*c8daf4a7SAlvin Wong    SectionData:     DEADBEEFBAADF00D
54*c8daf4a7SAlvin Wongsymbols:         []
55*c8daf4a7SAlvin Wong...
56