xref: /llvm-project/llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s (revision ee99c4d4845db66c4daa2373352133f4b237c942)
1// RUN: llvm-mc -triple=aarch64 %s -o - | FileCheck %s --check-prefix=ASM
2// RUN: llvm-mc -triple=aarch64 -filetype=obj %s -o - | llvm-readelf --hex-dump=.ARM.attributes - | FileCheck %s --check-prefix=ELF
3
4// ASM: .aeabi_subsection	private_subsection_1, optional, uleb128
5// ASM: .aeabi_attribute 12, 257
6// ASM: .aeabi_subsection	private_subsection_2, required, uleb128
7// ASM: .aeabi_attribute 76, 257
8// ASM: .aeabi_subsection	private_subsection_3, optional, ntbs
9// ASM: .aeabi_attribute 34, hello_llvm
10// ASM: .aeabi_subsection	private_subsection_4, required, ntbs
11// ASM: .aeabi_attribute 777, "hello_llvm"
12// ASM: .aeabi_subsection	private_subsection_1, optional, uleb128
13// ASM: .aeabi_attribute 876, 257
14// ASM: .aeabi_subsection	private_subsection_2, required, uleb128
15// ASM: .aeabi_attribute 876, 257
16// ASM: .aeabi_subsection private_subsection_3, optional, ntbs
17// ASM: .aeabi_attribute 876, "hello_llvm"
18// ASM: .aeabi_subsection	private_subsection_4, required, ntbs
19// ASM: .aeabi_attribute 876, hello_llvm
20
21// ELF: Hex dump of section '.ARM.attributes':
22// ELF-NEXT: 0x00000000 41220000 00707269 76617465 5f737562 A"...private_sub
23// ELF-NEXT: 0x00000010 73656374 696f6e5f 31000100 0c8102ec section_1.......
24// ELF-NEXT: 0x00000020 06810222 00000070 72697661 74655f73 ..."...private_s
25// ELF-NEXT: 0x00000030 75627365 6374696f 6e5f3200 00004c81 ubsection_2...L.
26// ELF-NEXT: 0x00000040 02ec0681 02360000 00707269 76617465 .....6...private
27// ELF-NEXT: 0x00000050 5f737562 73656374 696f6e5f 33000101 _subsection_3...
28// ELF-NEXT: 0x00000060 2268656c 6c6f5f6c 6c766d00 ec062268 "hello_llvm..."h
29// ELF-NEXT: 0x00000070 656c6c6f 5f6c6c76 6d220037 00000070 ello_llvm".7...p
30// ELF-NEXT: 0x00000080 72697661 74655f73 75627365 6374696f rivate_subsectio
31// ELF-NEXT: 0x00000090 6e5f3400 00018906 2268656c 6c6f5f6c n_4....."hello_l
32// ELF-NEXT: 0x000000a0 6c766d22 00ec0668 656c6c6f 5f6c6c76 lvm"...hello_llv
33// ELF-NEXT: 0x000000b0 6d00                                m.
34
35
36.aeabi_subsection private_subsection_1, optional, uleb128
37.aeabi_attribute 12, 257
38.aeabi_subsection private_subsection_2, required, uleb128
39.aeabi_attribute 76, 257
40.aeabi_subsection private_subsection_3, optional, ntbs
41.aeabi_attribute 34, hello_llvm
42.aeabi_subsection private_subsection_4, required, ntbs
43.aeabi_attribute 777, "hello_llvm"
44.aeabi_subsection private_subsection_1, optional, uleb128
45.aeabi_attribute 876, 257
46.aeabi_subsection private_subsection_2, required, uleb128
47.aeabi_attribute 876, 257
48.aeabi_subsection private_subsection_3, optional, ntbs
49.aeabi_attribute 876, "hello_llvm"
50.aeabi_subsection private_subsection_4, required, ntbs
51.aeabi_attribute 876, hello_llvm
52