1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
llvm-mirror/test/tools/llvm-objcopy/COFF/patch-debug-dir2.test
Martin Storsjö 579a3edad4 [llvm-objcopy] [COFF] Fix a misconception about debug directory payloads
The debug directory payload is not located directly after the
debug directory entry itself, but can essentially be located anywhere
in the binary (even outside of mapped sections, although we don't
handle that case).

Differential Revision: https://reviews.llvm.org/D78921
2020-04-29 20:35:36 +03:00

69 lines
2.4 KiB
Plaintext

## Check that we successfully patch the PointerToRawData field in more than
## one debug directory entry.
# RUN: yaml2obj %s -o %t.in.exe
# RUN: llvm-readobj --coff-debug-directory %t.in.exe | FileCheck %s --check-prefixes=DEBUG-DIRS,DEBUG-DIRS-PRE
# RUN: llvm-readobj --sections %t.in.exe | FileCheck %s --check-prefixes=SECTIONS,SECTIONS-PRE
# RUN: llvm-objcopy --remove-section .rdata %t.in.exe %t.out.exe
# RUN: llvm-readobj --coff-debug-directory %t.out.exe | FileCheck %s --check-prefixes=DEBUG-DIRS,DEBUG-DIRS-POST
# RUN: llvm-readobj --sections %t.out.exe | FileCheck %s --check-prefixes=SECTIONS,SECTIONS-POST
# DEBUG-DIRS: AddressOfRawData: 0x3038
# DEBUG-DIRS-PRE-NEXT: PointerToRawData: 0x638
# DEBUG-DIRS-POST-NEXT: PointerToRawData: 0x438
# DEBUG-DIRS: AddressOfRawData: 0x3051
# DEBUG-DIRS-PRE-NEXT: PointerToRawData: 0x651
# DEBUG-DIRS-POST-NEXT: PointerToRawData: 0x451
# SECTIONS: Name: .buildid
# SECTIONS-NEXT: VirtualSize:
# SECTIONS-NEXT: VirtualAddress:
# SECTIONS-NEXT: RawDataSize:
# SECTIONS-PRE-NEXT: PointerToRawData: 0x600
# SECTIONS-POST-NEXT: PointerToRawData: 0x400
--- !COFF
OptionalHeader:
AddressOfEntryPoint: 4096
ImageBase: 5368709120
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: 12288
Size: 56
header:
Machine: IMAGE_FILE_MACHINE_AMD64
Characteristics: [ ]
sections:
- Name: .text
Characteristics: [ ]
VirtualAddress: 4096
VirtualSize: 1
SectionData: C3
- Name: .rdata
Characteristics: [ ]
VirtualAddress: 8192
VirtualSize: 32
SectionData: FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF0000000000000000
- Name: .buildid
Characteristics: [ ]
VirtualAddress: 12288
VirtualSize: 85
SectionData: 0000000046C7A65E00000000020000001900000038300000380600000000000046C7A65E000000001400000004000000513000005106000052534453B3411F5F27A80D2A4C4C44205044422E010000000001000000
symbols:
...