diff options
author | Steven Wu <stevenwu@apple.com> | 2019-11-06 11:25:50 -0800 |
---|---|---|
committer | Steven Wu <stevenwu@apple.com> | 2019-11-06 11:26:25 -0800 |
commit | 6da58e7e0fac1e421d6a5a6e48ed8836c67ac543 (patch) | |
tree | 826ee4c3096371f734b5babdb5d4b9652f4b881c /llvm/test/Object | |
parent | dad7a185101d23598d82147a4feed486ba0abafb (diff) | |
download | bcm5719-llvm-6da58e7e0fac1e421d6a5a6e48ed8836c67ac543.tar.gz bcm5719-llvm-6da58e7e0fac1e421d6a5a6e48ed8836c67ac543.zip |
[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML
Summary:
Rewrite one of the invalid macho test input file with YAML file. The
original invalid macho is breaking our internal test infrastusture
because it is too broken to be copy around.
Need to relax an assertion in the YAML/MachoEmitter to allow yaml2obj to
write an invalid object like this.
rdar://problem/56879982
Reviewers: beanz, mtrent
Reviewed By: beanz
Subscribers: hiraditya, jkorous, dexonsmith, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69856
Diffstat (limited to 'llvm/test/Object')
-rw-r--r-- | llvm/test/Object/Inputs/macho-invalid-fat-arch-size | bin | 56 -> 0 bytes | |||
-rw-r--r-- | llvm/test/Object/Inputs/macho-invalid-fat-arch-size.yaml | 12 | ||||
-rw-r--r-- | llvm/test/Object/macho-invalid.test | 4 |
3 files changed, 14 insertions, 2 deletions
diff --git a/llvm/test/Object/Inputs/macho-invalid-fat-arch-size b/llvm/test/Object/Inputs/macho-invalid-fat-arch-size Binary files differdeleted file mode 100644 index dfd154c88e3..00000000000 --- a/llvm/test/Object/Inputs/macho-invalid-fat-arch-size +++ /dev/null diff --git a/llvm/test/Object/Inputs/macho-invalid-fat-arch-size.yaml b/llvm/test/Object/Inputs/macho-invalid-fat-arch-size.yaml new file mode 100644 index 00000000000..f7bf00d7c13 --- /dev/null +++ b/llvm/test/Object/Inputs/macho-invalid-fat-arch-size.yaml @@ -0,0 +1,12 @@ +--- !fat-mach-o +FatHeader: + magic: 0xCAFEBABE + nfat_arch: 1 +FatArchs: + - cputype: 0x00000007 + cpusubtype: 0x00000003 + offset: 0x000000000000020 + size: 32 + align: 2 +Slices: +... diff --git a/llvm/test/Object/macho-invalid.test b/llvm/test/Object/macho-invalid.test index 1cbd7469d73..2206c678105 100644 --- a/llvm/test/Object/macho-invalid.test +++ b/llvm/test/Object/macho-invalid.test @@ -491,8 +491,8 @@ INVALID-EXPORT-OVERLAP: macho-invalid-export-overlap': truncated or malformed ob RUN: not llvm-objdump --macho --universal-headers %p/Inputs/macho-invalid-fat-header 2>&1 | FileCheck -check-prefix INVALID-FAT-HEADER %s INVALID-FAT-HEADER: macho-invalid-fat-header': truncated or malformed fat file (contains zero architecture types) -RUN: not llvm-objdump --macho --universal-headers %p/Inputs/macho-invalid-fat-arch-size 2>&1 | FileCheck -check-prefix INVALID-FAT-ARCH-SIZE %s -INVALID-FAT-ARCH-SIZE: macho-invalid-fat-arch-size': truncated or malformed fat file (offset plus size of cputype (7) cpusubtype (3) extends past the end of the file) +RUN: yaml2obj %p/Inputs/macho-invalid-fat-arch-size.yaml -o - | not llvm-objdump --macho --universal-headers - 2>&1 | FileCheck -check-prefix INVALID-FAT-ARCH-SIZE %s +INVALID-FAT-ARCH-SIZE: '-': truncated or malformed fat file (offset plus size of cputype (7) cpusubtype (3) extends past the end of the file) RUN: not llvm-objdump --macho --universal-headers %p/Inputs/macho-invalid-fat-arch-bigalign 2>&1 | FileCheck -check-prefix INVALID-FAT-ARCH-BIGALIGN %s INVALID-FAT-ARCH-BIGALIGN: macho-invalid-fat-arch-bigalign': truncated or malformed fat file (align (2^212) too large for cputype (7) cpusubtype (3) (maximum 2^15)) |