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