blob: 96bb59b8cd0a5982e464555e7610a7516e5795fd [file] [log] [blame] [edit]
// RUN: llvm-mc -triple=aarch64 %s | FileCheck %s --check-prefix=ASM
// RUN: llvm-mc -triple=aarch64 -filetype=obj %s | llvm-readelf --hex-dump=.ARM.attributes - | FileCheck %s --check-prefix=ELF
// ASM: .aeabi_subsection subsection_a, optional, uleb128
// ASM: .aeabi_subsection aeabi_subsection, optional, ntbs
// ASM: .aeabi_subsection subsection_b, required, uleb128
// ASM: .aeabi_subsection aeabi_pauthabi, required, uleb128
// ASM: .aeabi_attribute 1, 7 // Tag_PAuth_Platform
// ASM: .aeabi_attribute 2, 777 // Tag_PAuth_Schema
// ASM: .aeabi_attribute 1, 9 // Tag_PAuth_Platform
// ASM: .aeabi_subsection aeabi_feature_and_bits, optional, uleb128
// ASM: .aeabi_attribute 0, 1 // Tag_Feature_BTI
// ASM: .aeabi_attribute 1, 1 // Tag_Feature_PAC
// ASM: .aeabi_attribute 2, 1 // Tag_Feature_GCS
// ASM: .aeabi_subsection aeabi_subsection, optional, ntbs
// ASM: .aeabi_attribute 5, "Value"
// ASM: .aeabi_subsection subsection_b, required, uleb128
// ASM: .aeabi_attribute 6, 536
// ASM: .aeabi_subsection subsection_a, optional, uleb128
// ASM: .aeabi_attribute 7, 11
// ELF: Hex dump of section '.ARM.attributes':
// ELF-NEXT: 0x00000000 41150000 00737562 73656374 696f6e5f A....subsection_
// ELF-NEXT: 0x00000010 61000100 070b2000 00006165 6162695f a..... ...aeabi_
// ELF-NEXT: 0x00000020 73756273 65637469 6f6e0001 01052256 subsection...."V
// ELF-NEXT: 0x00000030 616c7565 22001600 00007375 62736563 alue".....subsec
// ELF-NEXT: 0x00000040 74696f6e 5f620000 00069804 1a000000 tion_b..........
// ELF-NEXT: 0x00000050 61656162 695f7061 75746861 62690000 aeabi_pauthabi..
// ELF-NEXT: 0x00000060 00010902 89062300 00006165 6162695f ......#...aeabi_
// ELF-NEXT: 0x00000070 66656174 7572655f 616e645f 62697473 feature_and_bits
// ELF-NEXT: 0x00000080 00010000 01010102 01 .........
.aeabi_subsection subsection_a, optional, uleb128
.aeabi_subsection aeabi_subsection, optional, ntbs
.aeabi_subsection subsection_b, required, uleb128
.aeabi_subsection aeabi_pauthabi, required, uleb128
.aeabi_attribute Tag_PAuth_Platform, 7
.aeabi_attribute Tag_PAuth_Schema, 777
.aeabi_attribute Tag_PAuth_Platform, 9
.aeabi_subsection aeabi_feature_and_bits, optional, uleb128
.aeabi_attribute Tag_Feature_BTI, 1
.aeabi_attribute Tag_Feature_PAC, 1
.aeabi_attribute Tag_Feature_GCS, 1
.aeabi_subsection aeabi_subsection, optional, ntbs
.aeabi_attribute 5, "Value"
.aeabi_subsection subsection_b, required, uleb128
.aeabi_attribute 6, 536
.aeabi_subsection subsection_a, optional, uleb128
.aeabi_attribute 7, 11