brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · d4883d6 Raw
98 lines · yaml
1## Check that yaml2obj is able to produce an object from YAML2## containing symbols with duplicate names (but different name suffixes).3 4# RUN: yaml2obj --docnum=1 %s -o %t15# RUN: llvm-readobj --syms %t1 | FileCheck %s --check-prefix=CASE16 7# CASE1: Name: localfoo (1)8# CASE1: Name: localfoo (1)9 10--- !ELF11FileHeader:12  Class: ELFCLASS6413  Data:  ELFDATA2LSB14  Type:  ET_REL15Symbols:16  - Name: localfoo17  - Name: 'localfoo (1)'18 19## Check that yaml2obj reports an error when we have20## symbols with equal names and suffixes.21 22# RUN: not yaml2obj --docnum=2 %s 2>&1| FileCheck %s --check-prefix=CASE223# CASE2-COUNT-2: error: repeated symbol name: 'localfoo (1)'24 25--- !ELF26FileHeader:27  Class: ELFCLASS6428  Data:  ELFDATA2LSB29  Type:  ET_REL30Symbols:31  - Name: 'localfoo (1)'32  - Name: 'localfoo (1)'33  - Name: 'localfoo (1)'34 35## Check that yaml2obj reports an error when we have36## symbols without suffixes in the names and their37## names are equal.38 39# RUN: not yaml2obj --docnum=3 %s 2>&1| FileCheck %s --check-prefix=CASE340# CASE3: error: repeated symbol name: 'localfoo'41# CASE3: error: repeated symbol name: 'localfoo'42 43--- !ELF44FileHeader:45  Class: ELFCLASS6446  Data:  ELFDATA2LSB47  Type:  ET_REL48Symbols:49  - Name: localfoo50  - Name: localfoo51  - Name: localfoo52 53## Check that yaml2obj can produce correct relocations that54## reference symbols with name suffixes.55 56# RUN: yaml2obj --docnum=4 %s -o %t457# RUN: llvm-readobj -r --expand-relocs %t4 | FileCheck %s --check-prefix=CASE458 59# CASE4:      Relocations [60# CASE4-NEXT:   Section {{.*}} .rela.text {61# CASE4-NEXT:     Relocation {62# CASE4-NEXT:       Offset: 0x063# CASE4-NEXT:       Type: R_X86_64_NONE64# CASE4-NEXT:       Symbol: foo (1)65# CASE4-NEXT:       Addend: 0x066# CASE4-NEXT:     }67# CASE4-NEXT:     Relocation {68# CASE4-NEXT:       Offset: 0x169# CASE4-NEXT:       Type: R_X86_64_NONE70# CASE4-NEXT:       Symbol: foo (2)71# CASE4-NEXT:       Addend: 0x072# CASE4-NEXT:     }73# CASE4-NEXT:   }74# CASE4-NEXT: ]75 76--- !ELF77FileHeader:78  Class:   ELFCLASS6479  Data:    ELFDATA2LSB80  Type:    ET_REL81  Machine: EM_X86_6482Sections:83  - Name: .text84    Type: SHT_PROGBITS85  - Name: .rela.text86    Type: SHT_RELA87    Info: .text88    Link: .symtab89    Relocations:90      - Type:   R_X86_64_NONE91        Symbol: foo92      - Offset: 0x193        Type:   R_X86_64_NONE94        Symbol: 'foo (1)'95Symbols:96  - Name: foo97  - Name: 'foo (1)'98