[PATCH] D29920: [ELF] Add test for relocations with section group

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 14 05:42:33 PST 2017


Petr Hosek via Phabricator <reviews at reviews.llvm.org> writes:
> +# RUN: yaml2obj %s -o %t.o
> +# RUN: yaml2obj %S/Inputs/relocation-group.test  -o %t2.o
> +# RUN: ld.lld %t.o %t2.o -o %t3.o -r
> +# RUN: llvm-readobj -s %t3.o | FileCheck %s
> +
> +# CHECK:     Name: .text.foo
> +# CHECK:     Name: .rela.text.foo
> +
> +
> +--- !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
> +  - Name:            .text.foo
> +    Type:            SHT_PROGBITS
> +    Flags:           [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
> +  - Name:            .rela.text.foo
> +    Type:            SHT_RELA
> +    Flags:           [ SHF_INFO_LINK ]
> +    Link:            .symtab
> +    Info:            .text.foo
> +    Relocations:
> +      - Offset:          0x0000000000000000
> +        Symbol:          foo
> +        Type:            R_X86_64_64
> +Symbols:
> +  Global:
> +    - Name:            foo

This testcase is invalid ELF since the relocation section is not in the
group. We should not crash, but it would be awesome if we could just
reject it.

How was the original testcase created?

Cheers,
Rafael


More information about the llvm-commits mailing list