xref: /aosp_15_r20/external/llvm/test/MC/ELF/many-sections-3.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 -t %t | FileCheck --check-prefix=SYMBOLS %s
3*9880d681SAndroid Build Coastguard Worker// RUN: llvm-nm %t | FileCheck --check-prefix=NM %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker// Test that symbol a has a section that could be confused with common (0xFFF2)
6*9880d681SAndroid Build Coastguard Worker// SYMBOLS:         Name: a
7*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:    Value: 0x0
8*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:    Size: 0
9*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:    Binding: Local (0x0)
10*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:    Type: None (0x0)
11*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:    Other: 0
12*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:    Section: bar (0xFFF2)
13*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:  }
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker// Test that we don't get confused
16*9880d681SAndroid Build Coastguard Worker// NM: 0000000000000000 r a
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker.macro gen_sections4 x
19*9880d681SAndroid Build Coastguard Worker        .section a\x
20*9880d681SAndroid Build Coastguard Worker        .section b\x
21*9880d681SAndroid Build Coastguard Worker        .section c\x
22*9880d681SAndroid Build Coastguard Worker        .section d\x
23*9880d681SAndroid Build Coastguard Worker.endm
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker.macro gen_sections8 x
26*9880d681SAndroid Build Coastguard Worker        gen_sections4 a\x
27*9880d681SAndroid Build Coastguard Worker        gen_sections4 b\x
28*9880d681SAndroid Build Coastguard Worker.endm
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker.macro gen_sections16 x
31*9880d681SAndroid Build Coastguard Worker        gen_sections8 a\x
32*9880d681SAndroid Build Coastguard Worker        gen_sections8 b\x
33*9880d681SAndroid Build Coastguard Worker.endm
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker.macro gen_sections32 x
36*9880d681SAndroid Build Coastguard Worker        gen_sections16 a\x
37*9880d681SAndroid Build Coastguard Worker        gen_sections16 b\x
38*9880d681SAndroid Build Coastguard Worker.endm
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Worker.macro gen_sections64 x
41*9880d681SAndroid Build Coastguard Worker        gen_sections32 a\x
42*9880d681SAndroid Build Coastguard Worker        gen_sections32 b\x
43*9880d681SAndroid Build Coastguard Worker.endm
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Worker.macro gen_sections128 x
46*9880d681SAndroid Build Coastguard Worker        gen_sections64 a\x
47*9880d681SAndroid Build Coastguard Worker        gen_sections64 b\x
48*9880d681SAndroid Build Coastguard Worker.endm
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker.macro gen_sections256 x
51*9880d681SAndroid Build Coastguard Worker        gen_sections128 a\x
52*9880d681SAndroid Build Coastguard Worker        gen_sections128 b\x
53*9880d681SAndroid Build Coastguard Worker.endm
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Worker.macro gen_sections512 x
56*9880d681SAndroid Build Coastguard Worker        gen_sections256 a\x
57*9880d681SAndroid Build Coastguard Worker        gen_sections256 b\x
58*9880d681SAndroid Build Coastguard Worker.endm
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker.macro gen_sections1024 x
61*9880d681SAndroid Build Coastguard Worker        gen_sections512 a\x
62*9880d681SAndroid Build Coastguard Worker        gen_sections512 b\x
63*9880d681SAndroid Build Coastguard Worker.endm
64*9880d681SAndroid Build Coastguard Worker
65*9880d681SAndroid Build Coastguard Worker.macro gen_sections2048 x
66*9880d681SAndroid Build Coastguard Worker        gen_sections1024 a\x
67*9880d681SAndroid Build Coastguard Worker        gen_sections1024 b\x
68*9880d681SAndroid Build Coastguard Worker.endm
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Worker.macro gen_sections4096 x
71*9880d681SAndroid Build Coastguard Worker        gen_sections2048 a\x
72*9880d681SAndroid Build Coastguard Worker        gen_sections2048 b\x
73*9880d681SAndroid Build Coastguard Worker.endm
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker.macro gen_sections8192 x
76*9880d681SAndroid Build Coastguard Worker        gen_sections4096 a\x
77*9880d681SAndroid Build Coastguard Worker        gen_sections4096 b\x
78*9880d681SAndroid Build Coastguard Worker.endm
79*9880d681SAndroid Build Coastguard Worker
80*9880d681SAndroid Build Coastguard Worker.macro gen_sections16384 x
81*9880d681SAndroid Build Coastguard Worker        gen_sections8192 a\x
82*9880d681SAndroid Build Coastguard Worker        gen_sections8192 b\x
83*9880d681SAndroid Build Coastguard Worker.endm
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Worker.macro gen_sections32768 x
86*9880d681SAndroid Build Coastguard Worker        gen_sections16384 a\x
87*9880d681SAndroid Build Coastguard Worker        gen_sections16384 b\x
88*9880d681SAndroid Build Coastguard Worker.endm
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Workergen_sections32768 a
91*9880d681SAndroid Build Coastguard Workergen_sections16384 b
92*9880d681SAndroid Build Coastguard Workergen_sections8192 c
93*9880d681SAndroid Build Coastguard Workergen_sections4096 d
94*9880d681SAndroid Build Coastguard Workergen_sections2048 e
95*9880d681SAndroid Build Coastguard Workergen_sections1024 f
96*9880d681SAndroid Build Coastguard Workergen_sections512 g
97*9880d681SAndroid Build Coastguard Workergen_sections256 h
98*9880d681SAndroid Build Coastguard Workergen_sections128 i
99*9880d681SAndroid Build Coastguard Workergen_sections64 j
100*9880d681SAndroid Build Coastguard Workergen_sections32 k
101*9880d681SAndroid Build Coastguard Workergen_sections8 l
102*9880d681SAndroid Build Coastguard Workergen_sections4 m
103*9880d681SAndroid Build Coastguard Worker
104*9880d681SAndroid Build Coastguard Worker        .section foo
105*9880d681SAndroid Build Coastguard Worker        .section foo2
106*9880d681SAndroid Build Coastguard Worker        .section foo3
107*9880d681SAndroid Build Coastguard Worker        .section bar, "a"
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Workera:
110