[Alignment][NFC] Instructions::getLoadStoreAlignment
[llvm-complete.git] / test / tools / llvm-objcopy / ELF / group-reorder.test
blob25c57bea220f129edd9a26ad53262ea4ea555333
1 # RUN: yaml2obj %s > %t.o
2 # RUN: llvm-objcopy %t.o %t.2.o
3 # RUN: llvm-readelf --elf-section-groups --sections %t.o | FileCheck %s --check-prefix=IN
4 # RUN: llvm-readelf --elf-section-groups --sections %t.2.o | FileCheck %s --check-prefix=OUT
6 # In this test, .group gets moved to the beginning. Run readelf -gS on input as
7 # well as output to make sure it really moved, as well as to verify that we
8 # aren't purely sorting based on offsets (it gets moved to the beginning
9 # despite having a larger offset).
11 # IN:      There are 7 section headers, starting at offset 0x160:
12 # IN:        [Nr] Name              Type            Address          Off    Size
13 # IN-NEXT:   [ 0]                   NULL            0000000000000000 000000 000000
14 # IN-NEXT:   [ 1] .foo              PROGBITS        0000000000000000 000040 000040
15 # IN-NEXT:   [ 2] .group            GROUP           0000000000000000 000080 000008
16 # IN-NEXT:   [ 3] .bar              PROGBITS        0000000000000000 000088 000040
18 # IN:      COMDAT group section [    2] `.group' [bar] contains 1 sections:
19 # IN-NEXT:    [Index]    Name
20 # IN-NEXT:    [    3]   .bar
22 # OUT:      There are 7 section headers, starting at offset 0x160:
23 # OUT:        [Nr] Name              Type            Address          Off    Size
24 # OUT-NEXT:   [ 0]                   NULL            0000000000000000 000000 000000
25 # OUT-NEXT:   [ 1] .group            GROUP           0000000000000000 000040 000008
26 # OUT-NEXT:   [ 2] .foo              PROGBITS        0000000000000000 000048 000040
27 # OUT-NEXT:   [ 3] .bar              PROGBITS        0000000000000000 000088 000040
29 # OUT:      COMDAT group section [    1] `.group' [bar] contains 1 sections:
30 # OUT-NEXT:    [Index]    Name
31 # OUT-NEXT:    [    3]   .bar
33 --- !ELF
34 FileHeader:
35   Class:           ELFCLASS64
36   Data:            ELFDATA2LSB
37   Type:            ET_REL
38   Machine:         EM_X86_64
39 Sections:
40   - Name:            .foo
41     Type:            SHT_PROGBITS
42     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
43     Size:            64
44   - Name:            .group
45     Type:            SHT_GROUP
46     Link:            .symtab
47     Info:            bar
48     Members:
49       - SectionOrType:   GRP_COMDAT
50       - SectionOrType:   .bar
51   - Name:            .bar
52     Type:            SHT_PROGBITS
53     Flags:           [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
54     Size:            64
55 Symbols:
56   - Name:            .foo
57     Type:            STT_SECTION
58     Section:         .foo
59   - Name:            .bar
60     Type:            STT_SECTION
61     Section:         .bar
62   - Name:            bar
63     Type:            STT_FUNC
64     Section:         .foo