1 // This tests that ARM attributes are properly encoded.
3 // RUN
: llvm-mc
< %s
-triple
=arm-linux-gnueabi
-filetype
=obj
-o
- \
4 // RUN
: | llvm-readobj
-S
--sd | FileCheck
%s
12 // Tag_arch_profile
(=7)
13 .eabi_attribute 7, 'A'
15 // Tag_ARM_ISA_use
(=8)
18 // Tag_THUMB_ISA_use
(=9)
24 // Tag_Advanced_SIMD_arch
(=12)
27 // Tag_ABI_FP_denormal
(=20)
30 // Tag_ABI_FP_exceptions
(=21)
33 // Tag_ABI_FP_number_model
(=23)
36 // Tag_ABI_align_needed
(=24)
39 // Tag_ABI_align_preserved
(=25)
42 // Tag_ABI_HardFP_use
(=27)
45 // Tag_ABI_VFP_args
(=28)
48 // Tag_FP_HP_extension
(=36)
51 // Tag_MPextension_use
(=42)
57 // Tag_DSP_extension
(=46)
60 // Tag_Virtualization_use
(=68)
63 // Check that values
> 128 are encoded properly
64 .eabi_attribute 110, 160
66 // Check that tags
> 128 are encoded properly
67 .eabi_attribute 129, "1"
68 .eabi_attribute 250, 1
71 // CHECK
: Name
: .ARM.attributes
72 // CHECK-NEXT
: Type
: SHT_ARM_ATTRIBUTES
73 // CHECK-NEXT
: Flags
[ (0x0)
75 // CHECK-NEXT
: Address
: 0x0
76 // CHECK-NEXT
: Offset
: 0x34
77 // CHECK-NEXT
: Size
: 73
78 // CHECK-NEXT
: Link
: 0
79 // CHECK-NEXT
: Info
: 0
80 // CHECK-NEXT
: AddressAlignment
: 1
81 // CHECK-NEXT
: EntrySize
: 0
82 // CHECK-NEXT
: SectionData
(
83 // CHECK-NEXT
: 0000: 41480000 00616561 62690001 3E000000
84 // CHECK-NEXT
: 0010: 05636F72
7465782D
61380006 0A074108
85 // CHECK-NEXT
: 0020: 0109020A 030C0214
01150117 01180119
86 // CHECK-NEXT
: 0030: 011B001C
0124012A 012C022E
0144036E
87 // CHECK-NEXT
: 0040: A0018101
3100FA01
01