// This tests that ARM attributes are properly encoded. // RUN: llvm-mc < %s -triple=arm-linux-gnueabi -filetype=obj -o - \ // RUN: | llvm-readobj -s -sd | FileCheck %s // Tag_CPU_name (=5) .cpu cortex-a8 // Tag_CPU_arch (=6) .eabi_attribute 6, 10 // Tag_arch_profile (=7) .eabi_attribute 7, 'A' // Tag_ARM_ISA_use (=8) .eabi_attribute 8, 1 // Tag_THUMB_ISA_use (=9) .eabi_attribute 9, 2 // Tag_FP_arch (=10) .fpu vfpv3 // Tag_Advanced_SIMD_arch (=12) .eabi_attribute 12, 2 // Tag_ABI_FP_denormal (=20) .eabi_attribute 20, 1 // Tag_ABI_FP_exceptions (=21) .eabi_attribute 21, 1 // Tag_ABI_FP_number_model (=23) .eabi_attribute 23, 1 // Tag_ABI_align_needed (=24) .eabi_attribute 24, 1 // Tag_ABI_align_preserved (=25) .eabi_attribute 25, 1 // Tag_ABI_HardFP_use (=27) .eabi_attribute 27, 0 // Tag_ABI_VFP_args (=28) .eabi_attribute 28, 1 // Tag_FP_HP_extension (=36) .eabi_attribute 36, 1 // Tag_MPextension_use (=42) .eabi_attribute 42, 1 // Tag_DIV_use (=44) .eabi_attribute 44, 2 // Tag_Virtualization_use (=68) .eabi_attribute 68, 3 // Check that values > 128 are encoded properly .eabi_attribute 110, 160 // Check that tags > 128 are encoded properly .eabi_attribute 129, "1" .eabi_attribute 250, 1 // CHECK: Section { // CHECK: Name: .ARM.attributes // CHECK-NEXT: Type: SHT_ARM_ATTRIBUTES // CHECK-NEXT: Flags [ (0x0) // CHECK-NEXT: ] // CHECK-NEXT: Address: 0x0 // CHECK-NEXT: Offset: 0x34 // CHECK-NEXT: Size: 71 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 // CHECK-NEXT: AddressAlignment: 1 // CHECK-NEXT: EntrySize: 0 // CHECK-NEXT: SectionData ( // CHECK-NEXT: 0000: 41460000 00616561 62690001 3C000000 // CHECK-NEXT: 0010: 05636F72 7465782D 61380006 0A074108 // CHECK-NEXT: 0020: 0109020A 030C0214 01150117 01180119 // CHECK-NEXT: 0030: 011B001C 0124012A 012C0244 036EA001 // CHECK-NEXT: 0040: 81013100 FA0101 // CHECK-NEXT: )