56 lines
1.8 KiB
Text
56 lines
1.8 KiB
Text
## Check that llvm-objcopy does not produce an error for debug directory
|
|
## entries without a payload (e.g. IMAGE_DEBUG_TYPE_REPRO,
|
|
## IMAGE_DEBUG_TYPE_UNKNOWN) when patching entries that may have moved during
|
|
## a requested operation. Also check that the such debug entries are present
|
|
## in the output.
|
|
|
|
## The code to patch debug entries is executed even when no operation is
|
|
## requested. Hence the RUN line below invokes llvm-objcopy without any
|
|
## arguments.
|
|
|
|
# RUN: yaml2obj %s -o %t.in.exe
|
|
# RUN: llvm-objcopy %t.in.exe %t.out.exe
|
|
# RUN: llvm-readobj --coff-debug-directory %t.out.exe | FileCheck %s
|
|
|
|
# CHECK: Type: Repro (0x10)
|
|
# CHECK: Type: Unknown (0x0)
|
|
|
|
--- !COFF
|
|
OptionalHeader:
|
|
AddressOfEntryPoint: 4096
|
|
ImageBase: 1073741824
|
|
SectionAlignment: 4096
|
|
FileAlignment: 512
|
|
MajorOperatingSystemVersion: 6
|
|
MinorOperatingSystemVersion: 0
|
|
MajorImageVersion: 0
|
|
MinorImageVersion: 0
|
|
MajorSubsystemVersion: 6
|
|
MinorSubsystemVersion: 0
|
|
Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI
|
|
DLLCharacteristics: [ ]
|
|
SizeOfStackReserve: 1048576
|
|
SizeOfStackCommit: 4096
|
|
SizeOfHeapReserve: 1048576
|
|
SizeOfHeapCommit: 4096
|
|
Debug:
|
|
RelativeVirtualAddress: 8192
|
|
Size: 56
|
|
header:
|
|
Machine: IMAGE_FILE_MACHINE_AMD64
|
|
Characteristics: [ ]
|
|
sections:
|
|
- Name: .text
|
|
Characteristics: [ ]
|
|
VirtualAddress: 4096
|
|
VirtualSize: 3
|
|
SectionData: 31C0C3
|
|
- Name: .rdata
|
|
Characteristics: [ ]
|
|
VirtualAddress: 8192
|
|
VirtualSize: 56
|
|
## '10' in SectionData below indicates the Repro type for the first debug
|
|
## entry. The second entry has a type of Unknown ('00').
|
|
SectionData: 0000000047F96B2000000000100000000000000000000000000000000000000047F96B200000000000000000000000000000000000000000
|
|
symbols: []
|
|
...
|