99 lines · yaml
1# RUN: yaml2obj --docnum=1 %s -o %t12# RUN: llvm-readobj --sections %t1 | FileCheck %s3 4# CHECK: Name: .text5# CHECK-NEXT: Type: SHT_PROGBITS6# CHECK-NEXT: Flags [7# CHECK-NEXT: SHF_ALLOC8# CHECK-NEXT: SHF_EXECINSTR9# CHECK-NEXT: ]10# CHECK-NEXT: Address:11# CHECK-NEXT: Offset:12# CHECK-NEXT: Size:13# CHECK-NEXT: Link: 1234514 15--- !ELF16FileHeader:17 Class: ELFCLASS6418 Data: ELFDATA2LSB19 Type: ET_REL20Sections:21 - Name: .text22 Type: SHT_PROGBITS23 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]24 Link: 1234525 26## Check we report an error when an unknown section is referenced via a Link field.27 28# RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --check-prefix=ERR29 30# ERR: error: unknown section referenced: '.unknown1' by YAML section '.foo'31# ERR-NEXT: error: unknown section referenced: '.unknown2' by YAML section '(index 2)'32# ERR-NEXT: error: unknown section referenced: '.unknown3' by YAML section '.bar'33# ERR-NEXT: error: unknown section referenced: '.unknown4' by YAML section '(index 4)'34 35--- !ELF36FileHeader:37 Class: ELFCLASS6438 Data: ELFDATA2LSB39 Type: ET_REL40Sections:41 - Name: .foo42 Type: SHT_PROGBITS43 Link: .unknown144 - Type: SHT_PROGBITS45 Link: .unknown246 - Name: .bar47 Type: SHT_PROGBITS48 Link: .unknown349 - Type: SHT_PROGBITS50 Link: .unknown451 52## Check we link SHT_GROUP to a symbol table by default if it exists.53## Also, check we can set an arbitrary value for sh_link.54 55# RUN: yaml2obj --docnum=3 %s -o %t356# RUN: llvm-readobj --sections %t3 | FileCheck %s --check-prefix=GROUP-LINK57 58# GROUP-LINK: Name: .group159# GROUP-LINK: Link:60# GROUP-LINK-SAME: 361 62# GROUP-LINK: Name: .group263# GROUP-LINK: Link:64# GROUP-LINK-SAME: 25565 66--- !ELF67FileHeader:68 Class: ELFCLASS6469 Data: ELFDATA2LSB70 Type: ET_REL71Sections:72 - Name: .group173 Type: SHT_GROUP74 Members:75 - Name: .group276 Type: SHT_GROUP77 Link: 0xFF78 Members:79Symbols: []80 81## Check we set SHT_GROUP's link value to 0 when there is no symbol table.82 83# RUN: yaml2obj --docnum=4 %s -o %t484# RUN: llvm-readobj --sections %t4 | FileCheck %s --check-prefix=GROUP-LINK-NOSYMTAB85 86# GROUP-LINK-NOSYMTAB: Name: .group87# GROUP-LINK-NOSYMTAB: Link:88# GROUP-LINK-NOSYMTAB-SAME: 089 90--- !ELF91FileHeader:92 Class: ELFCLASS6493 Data: ELFDATA2LSB94 Type: ET_REL95Sections:96 - Name: .group97 Type: SHT_GROUP98 Members:99