]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lit/Modules/elf-many-sections.s
Vendor import of lldb trunk r338150:
[FreeBSD/FreeBSD.git] / lit / Modules / elf-many-sections.s
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 65541 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
66 gen_sections16384 a
67 gen_sections16384 b
68 gen_sections16384 c
69 gen_sections16384 d
70
71 .global _start
72 _start: