Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8fa4896
implement llvm-readobj --coff-pseudoreloc stub
kikairoya Jul 31, 2025
48f4280
find pseudo-reloc symbols
kikairoya Jul 30, 2025
fff11ce
dump raw reloc data
kikairoya Jul 31, 2025
be77e1c
show symbol name
kikairoya Jul 31, 2025
145c3e4
use support::ulittle32_t
kikairoya Aug 4, 2025
9ff81f6
use named functor instead of unnamed lambda
kikairoya Aug 4, 2025
4cd5e29
note the option "Cygwin/MinGW specific" and reorder alphabetically
kikairoya Aug 6, 2025
6980cb1
fix handling of errors
kikairoya Aug 6, 2025
8a5a7f8
range check for reloc record region
kikairoya Aug 6, 2025
8e02d4a
cache import directory size
kikairoya Aug 6, 2025
0dcc26d
reorganize test
kikairoya Aug 6, 2025
b182e0e
early exit when not a PE
kikairoya Aug 6, 2025
f48e21a
dump target symbol
kikairoya Aug 5, 2025
41c0e01
reduce usage of auto
kikairoya Aug 9, 2025
93b46cd
use sorted vector
kikairoya Aug 9, 2025
09b643e
reorganize warnings
kikairoya Aug 9, 2025
f57fd35
reorganize test 1/2
kikairoya Aug 9, 2025
45bcfeb
reorganize test 2/2
kikairoya Aug 9, 2025
56d51f6
add missing tests
kikairoya Aug 10, 2025
46cb5bc
warn about missing imported symbol
kikairoya Aug 11, 2025
6e6e760
format
kikairoya Aug 11, 2025
e9ab396
format, style, wording (nfc)
kikairoya Aug 11, 2025
6866552
cleanup
kikairoya Aug 20, 2025
2475486
include the section number into the warning about pointed section dif…
kikairoya Aug 14, 2025
673bebd
include the pointed address into the warning about address reversal
kikairoya Aug 14, 2025
09572ae
include the referenced address into the warning about not pointing an…
kikairoya Aug 20, 2025
e80bdb6
include the address into the warning about address overrun
kikairoya Aug 20, 2025
5ccd671
use reportUniqueWarning
kikairoya Aug 14, 2025
706cffa
format
kikairoya Aug 21, 2025
1d75f4c
swap the operands in the comparison and allow END == end of section
kikairoya Aug 21, 2025
29fd44f
include the section size into the warning about address overrun
kikairoya Aug 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions llvm/test/tools/llvm-readobj/COFF/Inputs/pseudoreloc.i386.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
--- !COFF
OptionalHeader:
AddressOfEntryPoint: 4096
ImageBase: 4194304
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_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
SizeOfStackReserve: 1048576
SizeOfStackCommit: 4096
SizeOfHeapReserve: 1048576
SizeOfHeapCommit: 4096
ExportTable:
RelativeVirtualAddress: 0
Size: 0
ImportTable:
RelativeVirtualAddress: 8288
Size: 60
ResourceTable:
RelativeVirtualAddress: 0
Size: 0
ExceptionTable:
RelativeVirtualAddress: 0
Size: 0
CertificateTable:
RelativeVirtualAddress: 0
Size: 0
BaseRelocationTable:
RelativeVirtualAddress: 0
Size: 0
Debug:
RelativeVirtualAddress: 0
Size: 0
Architecture:
RelativeVirtualAddress: 0
Size: 0
GlobalPtr:
RelativeVirtualAddress: 0
Size: 0
TlsTable:
RelativeVirtualAddress: 0
Size: 0
LoadConfigTable:
RelativeVirtualAddress: 0
Size: 0
BoundImport:
RelativeVirtualAddress: 0
Size: 0
IAT:
RelativeVirtualAddress: 8368
Size: 20
DelayImportDescriptor:
RelativeVirtualAddress: 0
Size: 0
ClrRuntimeHeader:
RelativeVirtualAddress: 0
Size: 0
header:
Machine: IMAGE_FILE_MACHINE_I386
Characteristics: [ IMAGE_FILE_RELOCS_STRIPPED, 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: 60
SectionData: A1003040000FBE008B0D043040000FBE0901C1A1083040000FBE10A1103040000FBE0001D001C8C39090909090909090A1502040002B0508204000C3
SizeOfRawData: 512
- Name: .rdata
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
VirtualAddress: 8192
VirtualSize: 254
SectionData: 3377115566228844000000000000000001000000[[SYMBOL0=B0200000]]0030000020000000[[SYMBOL1=B4200000]]0430000020000000[[SYMBOL2=BC200000]]0830000020000000BC2000000C30000020000000B02000001030000020000000FFFFFFFF00000000FFFFFFFF000000009C2000000000000000000000DC200000B0200000A82000000000000000000000ED200000BC2000000000000000000000000000000000000000000000C4200000CC20000000000000D420000000000000C4200000CC20000000000000D420000000000000000073796D310000000073796D320000000073796D3300006578706F7274312E693338362E646C6C006578706F7274322E693338362E646C6C00
SizeOfRawData: 512
- Name: .data
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
VirtualAddress: 12288
VirtualSize: 20
SectionData: B1204000B6204000BD204000BD204000B2204000
SizeOfRawData: 512
symbols:
- Name: _start
Value: 0
SectionNumber: 1
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: _local2a
Value: 4
SectionNumber: [[SECTION_OF_LOCAL2A=3]]
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: _local3a
Value: 8
SectionNumber: 3
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: __pei386_runtime_relocator
Value: 48
SectionNumber: 1
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: ___RUNTIME_PSEUDO_RELOC_LIST_END__
Value: [[END=80]]
SectionNumber: 2
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: ___RUNTIME_PSEUDO_RELOC_LIST__
Value: [[BEGIN=8]]
SectionNumber: [[SECTION_OF_BEGIN=2]]
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
...
123 changes: 123 additions & 0 deletions llvm/test/tools/llvm-readobj/COFF/Inputs/pseudoreloc.x86_64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
--- !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: [ IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
SizeOfStackReserve: 1048576
SizeOfStackCommit: 4096
SizeOfHeapReserve: 1048576
SizeOfHeapCommit: 4096
ExportTable:
RelativeVirtualAddress: 0
Size: 0
ImportTable:
RelativeVirtualAddress: 8304
Size: 60
ResourceTable:
RelativeVirtualAddress: 0
Size: 0
ExceptionTable:
RelativeVirtualAddress: 0
Size: 0
CertificateTable:
RelativeVirtualAddress: 0
Size: 0
BaseRelocationTable:
RelativeVirtualAddress: 0
Size: 0
Debug:
RelativeVirtualAddress: 0
Size: 0
Architecture:
RelativeVirtualAddress: 0
Size: 0
GlobalPtr:
RelativeVirtualAddress: 0
Size: 0
TlsTable:
RelativeVirtualAddress: 0
Size: 0
LoadConfigTable:
RelativeVirtualAddress: 0
Size: 0
BoundImport:
RelativeVirtualAddress: 0
Size: 0
IAT:
RelativeVirtualAddress: 8408
Size: 40
DelayImportDescriptor:
RelativeVirtualAddress: 0
Size: 0
ClrRuntimeHeader:
RelativeVirtualAddress: 0
Size: 0
header:
Machine: IMAGE_FILE_MACHINE_AMD64
Characteristics: [ IMAGE_FILE_RELOCS_STRIPPED, IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE ]
sections:
- Name: .text
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
VirtualAddress: 4096
VirtualSize: 61
SectionData: 488B05F91F00000FBE00488B0DF71F00000FBE0901C1488B05F31F00000FBE10488B05F91F00000FBE0001D001C8C3908B051A1000002B05CC0F0000C3
SizeOfRawData: 512
- Name: .rdata
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
VirtualAddress: 8192
VirtualSize: 318
SectionData: 3377115566228844000000000000000001000000[[SYMBOL0=E8200000]]0030000040000000[[SYMBOL1=F0200000]]0830000040000000[[SYMBOL2=D8200000]]1030000040000000D82000001830000040000000E82000002030000040000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF0000000000000000B0200000000000000000000018210000D8200000C020000000000000000000002B210000E82000000000000000000000000000000000000000000000000000000021000000000000000000000000000008210000000000001021000000000000000000000000000000210000000000000000000000000000082100000000000010210000000000000000000000000000000073796D330000000073796D310000000073796D3200006578706F7274322E7838365F36342E646C6C006578706F7274312E7838365F36342E646C6C00
SizeOfRawData: 512
- Name: .data
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
VirtualAddress: 12288
VirtualSize: 40
SectionData: E920004001000000F220004001000000D920004001000000D920004001000000EA20004001000000
SizeOfRawData: 512
symbols:
- Name: start
Value: 0
SectionNumber: 1
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: local2a
Value: 8
SectionNumber: [[SECTION_OF_LOCAL2A=3]]
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: local3a
Value: 16
SectionNumber: 3
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: _pei386_runtime_relocator
Value: 48
SectionNumber: 1
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: __RUNTIME_PSEUDO_RELOC_LIST_END__
Value: [[END=80]]
SectionNumber: 2
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
- Name: __RUNTIME_PSEUDO_RELOC_LIST__
Value: [[BEGIN=8]]
SectionNumber: [[SECTION_OF_BEGIN=2]]
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_NULL
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
...
Loading