1# REQUIRES: x86
2# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t
3# RUN: lldb-test object-file %t | FileCheck %s
4
5## Check that we are able to parse ELF files with more than SHN_LORESERVE
6## sections. This generates a file that contains 64k sections from
7## aaaaaaaa..dddddddd, plus a couple of standard ones (.strtab, etc.)
8## Check the number is correct plus the names of a couple of chosen sections.
9
10# CHECK: Showing 65540 sections
11# CHECK: Name: aaaaaaaa
12# CHECK: Name: bbbbbbbb
13# CHECK: Name: cccccccc
14# CHECK: Name: abcdabcd
15# CHECK: Name: dddddddd
16
17.macro gen_sections4 x
18  .section a\x
19  .section b\x
20  .section c\x
21  .section d\x
22.endm
23
24.macro gen_sections16 x
25  gen_sections4 a\x
26  gen_sections4 b\x
27  gen_sections4 c\x
28  gen_sections4 d\x
29.endm
30
31.macro gen_sections64 x
32  gen_sections16 a\x
33  gen_sections16 b\x
34  gen_sections16 c\x
35  gen_sections16 d\x
36.endm
37
38.macro gen_sections256 x
39  gen_sections64 a\x
40  gen_sections64 b\x
41  gen_sections64 c\x
42  gen_sections64 d\x
43.endm
44
45.macro gen_sections1024 x
46  gen_sections256 a\x
47  gen_sections256 b\x
48  gen_sections256 c\x
49  gen_sections256 d\x
50.endm
51
52.macro gen_sections4096 x
53  gen_sections1024 a\x
54  gen_sections1024 b\x
55  gen_sections1024 c\x
56  gen_sections1024 d\x
57.endm
58
59.macro gen_sections16384 x
60  gen_sections4096 a\x
61  gen_sections4096 b\x
62  gen_sections4096 c\x
63  gen_sections4096 d\x
64.endm
65
66gen_sections16384 a
67gen_sections16384 b
68gen_sections16384 c
69gen_sections16384 d
70
71.global _start
72_start:
73