1## Check how obj2yaml produces SHT_LLVM_DEPENDENT_LIBRARIES section descriptions.
2
3# RUN: yaml2obj %s -o %t
4# RUN: obj2yaml %t | FileCheck %s
5
6# CHECK:      Sections:
7# CHECK-NEXT:  - Name:      .deplibs.single
8# CHECK-NEXT:    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
9# CHECK-NEXT:    Libraries: [ foo ]
10# CHECK-NEXT:  - Name:      .deplibs.multiple
11# CHECK-NEXT:    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
12# CHECK-NEXT:    Libraries: [ foo, bar, foo ]
13# CHECK-NEXT:  - Name:      .deplibs.empty
14# CHECK-NEXT:    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
15# CHECK-NEXT:    Libraries: [  ]
16# CHECK-NEXT:  - Name:      .deplibs.nonul
17# CHECK-NEXT:    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
18# CHECK-NEXT:    Content:   666F6F
19
20--- !ELF
21FileHeader:
22  Class:   ELFCLASS64
23  Data:    ELFDATA2LSB
24  Type:    ET_REL
25  Machine: EM_X86_64
26Sections:
27## Case 1: test we use "Libraries" when dumping a valid section with a null-terminated string.
28  - Name:      .deplibs.single
29    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
30    Libraries: [ foo ]
31## Case 2: the same, but the section has multiple strings.
32  - Name:      .deplibs.multiple
33    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
34    Libraries: [ foo, bar, foo ]
35## Case 3: test we use "Libraries" when dumping an empty section.
36  - Name:      .deplibs.empty
37    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
38    Libraries: [ ]
39## Case 4: test we use "Content" when dumping a non-null terminated section.
40  - Name:      .deplibs.nonul
41    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
42    Content:   "666f6f"
43