brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · c44da29 Raw
78 lines · yaml
1## Check how obj2yaml dumps the SHT_LLVM_ADDRSIG section.2 3## Check that when possible obj2yaml tries to produce the "Name" tag when4## dumping entries of the SHT_LLVM_ADDRSIG section. It falls back to producing5## the "Index" tag when it can't match a symbol index with a symbol table entry.6 7# RUN: yaml2obj --docnum=1 %s -o %t18# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=NAME9 10# NAME:      - Name:    .llvm_addrsig11# NAME-NEXT:   Type:    SHT_LLVM_ADDRSIG12# NAME-NEXT:   Link:    .symtab13# NAME-NEXT:   Symbols: [ foo, bar, '3', '4294967295' ]14# NAME:      - Name: .llvm_addrsig_unlinked15# NAME-NEXT:   Type: SHT_LLVM_ADDRSIG16# NAME-NEXT:   Symbols: [ '1', '2', '3', '4294967295' ]17 18--- !ELF19FileHeader:20  Class: ELFCLASS6421  Data:  ELFDATA2LSB22  Type:  ET_DYN23Sections:24  - Name: .llvm_addrsig25    Type: SHT_LLVM_ADDRSIG26    Symbols: [ 1, 2, 3, 0xFFFFFFFF ]27  - Name: .llvm_addrsig_unlinked28    Type: SHT_LLVM_ADDRSIG29    Link: 030    Symbols: [ 1, 2, 3, 0xFFFFFFFF ]31Symbols:32  - Name:    foo33    Type:    STT_FUNC34    Binding: STB_GLOBAL35  - Name:    bar36    Type:    STT_FUNC37    Binding: STB_GLOBAL38 39## Check that obj2yaml dumps the SHT_LLVM_ADDRSIG section40## data using the "Content" tag when at least one of the entries is broken,41## e.g. because the entry contains a malformed uleb128 value.42 43# RUN: yaml2obj --docnum=2 %s -o %t244# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=INVALID-ENTRY45 46# INVALID-ENTRY:      - Name:    .llvm_addrsig47# INVALID-ENTRY-NEXT:   Type:    SHT_LLVM_ADDRSIG48# INVALID-ENTRY-NEXT:   Content: FFFFFFFFFF49 50--- !ELF51FileHeader:52  Class: ELFCLASS6453  Data:  ELFDATA2LSB54  Type:  ET_DYN55Sections:56  - Name: .llvm_addrsig57    Type: SHT_LLVM_ADDRSIG58    Content: "FFFFFFFFFF"59 60## obj2yaml produces a "Symbols" tag when describing an empty SHT_LLVM_ADDRSIG section.61 62# RUN: yaml2obj --docnum=3 %s -o %t363# RUN: obj2yaml %t3 | FileCheck %s --check-prefix=EMPTY64 65# EMPTY:      - Name:    .llvm_addrsig66# EMPTY-NEXT:   Type:    SHT_LLVM_ADDRSIG67# EMPTY-NEXT:   Symbols: [ ]68 69--- !ELF70FileHeader:71  Class: ELFCLASS6472  Data:  ELFDATA2LSB73  Type:  ET_DYN74Sections:75  - Name: .llvm_addrsig76    Type: SHT_LLVM_ADDRSIG77    Content: ""78