| ## Check that llvm-readelf and llvm-readobj can |
| ## dump SHT_GROUP sections properly. |
| |
| # RUN: yaml2obj %s -o %t.o |
| # RUN: llvm-readobj -g %t.o | FileCheck %s |
| # RUN: llvm-readelf -g %t.o | FileCheck --check-prefix=GNU %s |
| |
| # CHECK: Groups { |
| # CHECK-NEXT: Group { |
| # CHECK-NEXT: Name: .group |
| # CHECK-NEXT: Index: 1 |
| # CHECK-NEXT: Link: 7 |
| # CHECK-NEXT: Info: 1 |
| # CHECK-NEXT: Type: COMDAT |
| # CHECK-NEXT: Signature: foo |
| # CHECK-NEXT: Section(s) in group [ |
| # CHECK-NEXT: .text.foo |
| # CHECK-NEXT: .rela.text.foo |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: } |
| # CHECK-NEXT: Group { |
| # CHECK-NEXT: Name: .group1 |
| # CHECK-NEXT: Index: 2 |
| # CHECK-NEXT: Link: 7 |
| # CHECK-NEXT: Info: 2 |
| # CHECK-NEXT: Type: COMDAT |
| # CHECK-NEXT: Signature: bar |
| # CHECK-NEXT: Section(s) in group [ |
| # CHECK-NEXT: .text.bar |
| # CHECK-NEXT: .rela.text.bar |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: } |
| |
| # GNU: COMDAT group section [ 1] `.group' [foo] contains 2 sections: |
| # GNU-NEXT: [Index] Name |
| # GNU-NEXT: [ 3] .text.foo |
| # GNU-NEXT: [ 4] .rela.text.foo |
| # GNU: COMDAT group section [ 2] `.group1' [bar] contains 2 sections: |
| # GNU-NEXT: [Index] Name |
| # GNU-NEXT: [ 5] .text.bar |
| # GNU-NEXT: [ 6] .rela.text.bar |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .group |
| Type: SHT_GROUP |
| Link: .symtab |
| Info: foo |
| Members: |
| - SectionOrType: GRP_COMDAT |
| - SectionOrType: .text.foo |
| - SectionOrType: .rela.text.foo |
| - Name: .group1 |
| Type: SHT_GROUP |
| Link: .symtab |
| Info: bar |
| Members: |
| - SectionOrType: GRP_COMDAT |
| - SectionOrType: .text.bar |
| - SectionOrType: .rela.text.bar |
| - Name: .text.foo |
| Type: SHT_PROGBITS |
| - Name: .rela.text.foo |
| Type: SHT_RELA |
| Link: .symtab |
| Info: .text.foo |
| - Name: .text.bar |
| Type: SHT_PROGBITS |
| - Name: .rela.text.bar |
| Type: SHT_RELA |
| Link: .symtab |
| Info: .text.bar |
| Symbols: |
| - Name: foo |
| Section: .text.foo |
| - Name: bar |
| Section: .text.bar |