xref: /aosp_15_r20/external/llvm/test/MC/ELF/many-sections.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN:  llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t
2*9880d681SAndroid Build Coastguard Worker// RUN: llvm-readobj -s %t | FileCheck --check-prefix=SECTIONS %s
3*9880d681SAndroid Build Coastguard Worker// RUN: llvm-readobj -t %t | FileCheck --check-prefix=SYMBOLS %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker// Test that we don't create a .symtab_shndx since we are one section short of
6*9880d681SAndroid Build Coastguard Worker// SHN_LORESERVE (0xFF00).
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker// SECTIONS-NOT: Name: .symtab_shndx
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker// Check the last referenced section.
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Name: (0)
13*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Value: 0x0
14*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Size: 0
15*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Binding: Local (0x0)
16*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Type: Section (0x3)
17*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Other: 0
18*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Section: zed (0xFEFF)
19*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:  }
20*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:]
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker.macro gen_sections4 x
23*9880d681SAndroid Build Coastguard Worker        .section a\x
24*9880d681SAndroid Build Coastguard Worker        .section b\x
25*9880d681SAndroid Build Coastguard Worker        .section c\x
26*9880d681SAndroid Build Coastguard Worker        .section d\x
27*9880d681SAndroid Build Coastguard Worker.endm
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker.macro gen_sections8 x
30*9880d681SAndroid Build Coastguard Worker        gen_sections4 a\x
31*9880d681SAndroid Build Coastguard Worker        gen_sections4 b\x
32*9880d681SAndroid Build Coastguard Worker.endm
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker.macro gen_sections16 x
35*9880d681SAndroid Build Coastguard Worker        gen_sections8 a\x
36*9880d681SAndroid Build Coastguard Worker        gen_sections8 b\x
37*9880d681SAndroid Build Coastguard Worker.endm
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker.macro gen_sections32 x
40*9880d681SAndroid Build Coastguard Worker        gen_sections16 a\x
41*9880d681SAndroid Build Coastguard Worker        gen_sections16 b\x
42*9880d681SAndroid Build Coastguard Worker.endm
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker.macro gen_sections64 x
45*9880d681SAndroid Build Coastguard Worker        gen_sections32 a\x
46*9880d681SAndroid Build Coastguard Worker        gen_sections32 b\x
47*9880d681SAndroid Build Coastguard Worker.endm
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker.macro gen_sections128 x
50*9880d681SAndroid Build Coastguard Worker        gen_sections64 a\x
51*9880d681SAndroid Build Coastguard Worker        gen_sections64 b\x
52*9880d681SAndroid Build Coastguard Worker.endm
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Worker.macro gen_sections256 x
55*9880d681SAndroid Build Coastguard Worker        gen_sections128 a\x
56*9880d681SAndroid Build Coastguard Worker        gen_sections128 b\x
57*9880d681SAndroid Build Coastguard Worker.endm
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker.macro gen_sections512 x
60*9880d681SAndroid Build Coastguard Worker        gen_sections256 a\x
61*9880d681SAndroid Build Coastguard Worker        gen_sections256 b\x
62*9880d681SAndroid Build Coastguard Worker.endm
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker.macro gen_sections1024 x
65*9880d681SAndroid Build Coastguard Worker        gen_sections512 a\x
66*9880d681SAndroid Build Coastguard Worker        gen_sections512 b\x
67*9880d681SAndroid Build Coastguard Worker.endm
68*9880d681SAndroid Build Coastguard Worker
69*9880d681SAndroid Build Coastguard Worker.macro gen_sections2048 x
70*9880d681SAndroid Build Coastguard Worker        gen_sections1024 a\x
71*9880d681SAndroid Build Coastguard Worker        gen_sections1024 b\x
72*9880d681SAndroid Build Coastguard Worker.endm
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Worker.macro gen_sections4096 x
75*9880d681SAndroid Build Coastguard Worker        gen_sections2048 a\x
76*9880d681SAndroid Build Coastguard Worker        gen_sections2048 b\x
77*9880d681SAndroid Build Coastguard Worker.endm
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker.macro gen_sections8192 x
80*9880d681SAndroid Build Coastguard Worker        gen_sections4096 a\x
81*9880d681SAndroid Build Coastguard Worker        gen_sections4096 b\x
82*9880d681SAndroid Build Coastguard Worker.endm
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Worker.macro gen_sections16384 x
85*9880d681SAndroid Build Coastguard Worker        gen_sections8192 a\x
86*9880d681SAndroid Build Coastguard Worker        gen_sections8192 b\x
87*9880d681SAndroid Build Coastguard Worker.endm
88*9880d681SAndroid Build Coastguard Worker
89*9880d681SAndroid Build Coastguard Worker.macro gen_sections32768 x
90*9880d681SAndroid Build Coastguard Worker        gen_sections16384 a\x
91*9880d681SAndroid Build Coastguard Worker        gen_sections16384 b\x
92*9880d681SAndroid Build Coastguard Worker.endm
93*9880d681SAndroid Build Coastguard Worker
94*9880d681SAndroid Build Coastguard Workergen_sections32768 a
95*9880d681SAndroid Build Coastguard Workergen_sections16384 b
96*9880d681SAndroid Build Coastguard Workergen_sections8192 c
97*9880d681SAndroid Build Coastguard Workergen_sections4096 d
98*9880d681SAndroid Build Coastguard Workergen_sections2048 e
99*9880d681SAndroid Build Coastguard Workergen_sections1024 f
100*9880d681SAndroid Build Coastguard Workergen_sections512 g
101*9880d681SAndroid Build Coastguard Workergen_sections128 h
102*9880d681SAndroid Build Coastguard Workergen_sections64 i
103*9880d681SAndroid Build Coastguard Workergen_sections32 j
104*9880d681SAndroid Build Coastguard Workergen_sections16 k
105*9880d681SAndroid Build Coastguard Workergen_sections8 l
106*9880d681SAndroid Build Coastguard Workergen_sections4 m
107*9880d681SAndroid Build Coastguard Worker        .section zed
108*9880d681SAndroid Build Coastguard Worker.long zed
109