68 lines · yaml
1## Check how obj2yaml produces SHT_LLVM_LINKER_OPTIONS section descriptions.2 3## Check we dump valid sections using pairs of "Name" and "Value" strings.4 5# RUN: yaml2obj --docnum=1 %s -o %t16# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=VALID7 8# VALID: - Name: .linker-options-valid19# VALID-NEXT: Type: SHT_LLVM_LINKER_OPTIONS10# VALID-NEXT: Options:11# VALID-NEXT: - Name: a12# VALID-NEXT: Value: b13# VALID-NEXT: - Name: .linker-options-valid214# VALID-NEXT: Type: SHT_LLVM_LINKER_OPTIONS15# VALID-NEXT: Options:16# VALID-NEXT: - Name: a17# VALID-NEXT: Value: b18# VALID-NEXT: - Name: c19# VALID-NEXT: Value: d20 21--- !ELF22FileHeader:23 Class: ELFCLASS6424 Data: ELFDATA2LSB25 Type: ET_REL26Sections:27 - Name: .linker-options-valid128 Type: SHT_LLVM_LINKER_OPTIONS29 Content: "61006200"30 - Name: .linker-options-valid231 Type: SHT_LLVM_LINKER_OPTIONS32 Content: "6100620063006400"33 34## Check we dump corrupt sections using the "Content" key.35 36# RUN: yaml2obj --docnum=2 %s -o %t237# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=CORRUPT38 39# CORRUPT: - Name: .linker-options-empty40# CORRUPT-NEXT: Type: SHT_LLVM_LINKER_OPTIONS41# CORRUPT-NEXT: Content: ''42# CORRUPT-NEXT: - Name: .linker-options-no-null43# CORRUPT-NEXT: Type: SHT_LLVM_LINKER_OPTIONS44# CORRUPT-NEXT: Content: '610062'45# CORRUPT-NEXT: - Name: .linker-options-incomplete46# CORRUPT-NEXT: Type: SHT_LLVM_LINKER_OPTIONS47# CORRUPT-NEXT: Content: '6100'48 49--- !ELF50FileHeader:51 Class: ELFCLASS6452 Data: ELFDATA2LSB53 Type: ET_REL54Sections:55## 1) Empty content.56 - Name: .linker-options-empty57 Type: SHT_LLVM_LINKER_OPTIONS58 Content: ""59## 2) Non-null terminated content.60 - Name: .linker-options-no-null61 Type: SHT_LLVM_LINKER_OPTIONS62 Content: "610062"63## 3) Odd number of strings in the section.64## (Hence it contains an incomplete key-value pair).65 - Name: .linker-options-incomplete66 Type: SHT_LLVM_LINKER_OPTIONS67 Content: "6100"68