xref: /llvm-project/llvm/test/tools/obj2yaml/ELF/llvm-deplibs-section.yaml (revision a6436b0b3a7fd9f13d7a059a6a78544a7e0b702f)
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
25Sections:
26## Case 1: test we use "Libraries" when dumping a valid section with a null-terminated string.
27  - Name:      .deplibs.single
28    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
29    Libraries: [ foo ]
30## Case 2: the same, but the section has multiple strings.
31  - Name:      .deplibs.multiple
32    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
33    Libraries: [ foo, bar, foo ]
34## Case 3: test we use "Libraries" when dumping an empty section.
35  - Name:      .deplibs.empty
36    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
37    Libraries: [ ]
38## Case 4: test we use "Content" when dumping a non-null terminated section.
39  - Name:      .deplibs.nonul
40    Type:      SHT_LLVM_DEPENDENT_LIBRARIES
41    Content:   "666f6f"
42