xref: /llvm-project/lld/test/ELF/compatible-section-types.s (revision 88796a798856abecbebf9de666562bf6df41a303)
1# REQUIRES: x86
2
3## Some section types (e.g. SHT_NOBITS, SHT_NOTE, SHT_PREINIT_ARRAY) can be
4## mixed with SHT_PROGBITS. The output type is SHT_PROGBITS.
5
6# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
7# RUN: ld.lld -shared %t.o -o %t
8# RUN: llvm-readelf -S %t | FileCheck %s
9
10# CHECK: .foo2 PROGBITS {{.*}} 000002 00 A
11# CHECK: .foo  PROGBITS {{.*}} 000028 00 WA
12# CHECK: .foo1 PROGBITS {{.*}} 000010 00 WA
13
14.section .foo, "aw", @progbits, unique, 1
15.quad 0
16
17.section .foo, "aw", @init_array, unique, 2
18.quad 0
19
20.section .foo, "aw", @preinit_array, unique, 3
21.quad 0
22
23.section .foo, "aw", @fini_array, unique, 4
24.quad 0
25
26.section .foo, "aw", @note, unique, 5
27.quad 0
28
29.section .foo1, "aw", @progbits, unique, 1
30.quad 0
31.section .foo1, "aw", @nobits, unique, 2
32.quad 0
33
34.section .foo2, "a", @nobits, unique, 1
35.byte 0
36.section .foo2, "a", @progbits, unique, 2
37.byte 0
38