1 # Check ordering of .ctors.* sections.
3 # RUN: yaml2obj -format=elf -docnum 1 %s > %t-crtbeginS.o
4 # RUN: yaml2obj -format=elf -docnum 2 %s > %t-crtendS.o
5 # RUN: yaml2obj -format=elf -docnum 3 %s > %t-obj.o
6 # RUN: lld -flavor gnu -target mipsel -shared --output-filetype=yaml \
7 # RUN: %t-crtbeginS.o %t-obj.o %t-crtendS.o | FileCheck %s
8 # RUN: lld -flavor gnu -target mipsel -shared -o %t.so \
9 # RUN: %t-crtbeginS.o %t-obj.o %t-crtendS.o
10 # RUN: llvm-objdump -s %t.so | FileCheck -check-prefix=RAW %s
12 # CHECK: defined-atoms:
13 # CHECK-NEXT: - type: data
14 # CHECK-NEXT: alignment: 2^2
15 # CHECK-NEXT: section-choice: custom-required
16 # CHECK-NEXT: section-name: .ctors
17 # CHECK-NEXT: references:
18 # CHECK-NEXT: - kind: layout-after
19 # CHECK-NEXT: offset: 0
20 # CHECK-NEXT: target: __CTOR_LIST__
21 # CHECK-NEXT: - name: __CTOR_LIST__
22 # CHECK-NEXT: type: data
23 # CHECK-NEXT: content: [ FF, FF, FF, FF ]
24 # CHECK-NEXT: alignment: 2^2
25 # CHECK-NEXT: section-choice: custom-required
26 # CHECK-NEXT: section-name: .ctors
27 # CHECK-NEXT: - type: data
28 # CHECK-NEXT: content: [ 11, 11, 11, 11 ]
29 # CHECK-NEXT: alignment: 2^2
30 # CHECK-NEXT: section-choice: custom-required
31 # CHECK-NEXT: section-name: .ctors.1
32 # CHECK-NEXT: - type: data
33 # CHECK-NEXT: content: [ 22, 22, 22, 22 ]
34 # CHECK-NEXT: alignment: 2^2
35 # CHECK-NEXT: section-choice: custom-required
36 # CHECK-NEXT: section-name: .ctors.2
37 # CHECK-NEXT: - ref-name: L003
38 # CHECK-NEXT: type: data
39 # CHECK-NEXT: alignment: 2^2
40 # CHECK-NEXT: section-choice: custom-required
41 # CHECK-NEXT: section-name: .ctors
42 # CHECK-NEXT: references:
43 # CHECK-NEXT: - kind: layout-after
44 # CHECK-NEXT: offset: 0
45 # CHECK-NEXT: target: __CTOR_END__
46 # CHECK-NEXT: - name: __CTOR_END__
47 # CHECK-NEXT: type: data
48 # CHECK-NEXT: content: [ 00, 00, 00, 00 ]
49 # CHECK-NEXT: alignment: 2^2
50 # CHECK-NEXT: section-choice: custom-required
51 # CHECK-NEXT: section-name: .ctors
53 # RAW: Contents of section .ctors:
54 # RAW-NEXT: 1000 ffffffff 11111111 22222222 00000000
62 Flags: [ EF_MIPS_NOREORDER, EF_MIPS_CPIC,
63 EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2 ]
67 Flags: [ SHF_WRITE, SHF_ALLOC ]
87 Flags: [ EF_MIPS_NOREORDER, EF_MIPS_CPIC,
88 EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2 ]
92 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
115 Flags: [ SHF_WRITE, SHF_ALLOC ]
130 - Name: __do_global_ctors_aux
141 Flags: [ EF_MIPS_NOREORDER, EF_MIPS_CPIC,
142 EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
146 Flags: [ SHF_WRITE, SHF_ALLOC ]
151 Flags: [ SHF_WRITE, SHF_ALLOC ]