llvm-project/llvm/test/tools/obj2yaml/XCOFF/invalid-section.yaml
stephenpeckham b5abaea3c0
[yaml2obj][XOFF] Update yaml2obj for XCOFF to create valid XCOFF files in more cases. (#77620)
yaml2obj creates invalid object files even when the input was created by
obj2yaml using a valid object file. On the other hand, yaml2obj is used
to intentionally create invalid object files for testing purposes.

This update balances using specified input values when provided and
computing file offsets and sizes if necessary.
2024-02-09 08:20:21 -06:00

34 lines
990 B
YAML

## Check that obj2yaml reports a suitable error when it encounters
## invalid content in Section.
## Error1: failed to get section data.
# RUN: yaml2obj %s --docnum=1 -o %t1
# RUN: not obj2yaml %t1 2>&1 | FileCheck %s -DFILE=%t1 --check-prefix=ERROR1
# ERROR1: The end of the file was unexpectedly encountered: section data with offset 0x70 and size 0x20 goes past the end of the file
--- !XCOFF
FileHeader:
MagicNumber: 0x01DF
Sections:
- SectionData: '00007400'
FileOffsetToData: 0x70
Size: 0x20
## Error2: failed to get relocations.
# RUN: yaml2obj %s --docnum=2 -o %t2
# RUN: not obj2yaml %t2 2>&1 | FileCheck %s -DFILE=%t2 --check-prefix=ERROR2
# ERROR2: The end of the file was unexpectedly encountered: relocations with offset 0x3c and size 0x1e go past the end of the file
--- !XCOFF
FileHeader:
MagicNumber: 0x01DF
Sections:
- NumberOfRelocations: 0x3
Relocations:
- Address: 0xE
Symbol: 0x12
Info: 0xF
Type: 0x3