1 @ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -t \ 2 @ RUN: | FileCheck %s 3 4 @ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s \ 5 @ RUN: | FileCheck --check-prefix=ASM %s 6 7 .syntax unified 8 9 .arm 10 11 .type arm_func,%function 12 arm_func: 13 nop 14 15 .thumb_set alias_arm_func, arm_func 16 17 alias_arm_func2 = alias_arm_func 18 alias_arm_func3 = alias_arm_func2 19 20 @ ASM: .thumb_set alias_arm_func, arm_func 21 22 .thumb 23 24 .type thumb_func,%function 25 .thumb_func 26 thumb_func: 27 nop 28 29 .thumb_set alias_thumb_func, thumb_func 30 31 .thumb_set seedless, 0x5eed1e55 32 .thumb_set eggsalad, seedless + 0x87788358 33 .thumb_set faceless, ~eggsalad + 0xe133c002 34 35 .thumb_set alias_undefined_data, badblood 36 37 .data 38 39 .type badblood,%object 40 badblood: 41 .long 0xbadb100d 42 43 .type bedazzle,%object 44 bedazzle: 45 .long 0xbeda221e 46 47 .text 48 .thumb 49 50 .thumb_set alias_defined_data, bedazzle 51 52 .type alpha,%function 53 alpha: 54 nop 55 56 .type beta,%function 57 beta: 58 bkpt 59 60 .thumb_set beta, alpha 61 62 @ CHECK: Symbol { 63 @ CHECK: Name: alias_arm_func 64 @ CHECK: Value: 0x1 65 @ CHECK: Type: Function 66 @ CHECK: } 67 68 @ CHECK: Symbol { 69 @ CHECK: Name: alias_arm_func2 70 @ CHECK: Value: 0x1 71 @ CHECK: Type: Function 72 @ CHECK: } 73 74 @ CHECK: Symbol { 75 @ CHECK: Name: alias_arm_func3 76 @ CHECK: Value: 0x1 77 @ CHECK: Type: Function 78 @ CHECK: } 79 80 @ CHECK: Symbol { 81 @ CHECK: Name: alias_defined_data 82 @ CHECK: Value: 0x5 83 @ CHECK: Type: Function 84 @ CHECK: } 85 86 @ CHECK: Symbol { 87 @ CHECK: Name: alias_thumb_func 88 @ CHECK: Value: 0x5 89 @ CHECK: Type: Function 90 @ CHECK: } 91 92 @ CHECK: Symbol { 93 @ CHECK: Name: alias_undefined_data 94 @ CHECK: Value: 0x0 95 @ CHECK: Type: Object 96 @ CHECK: } 97 98 @ CHECK: Symbol { 99 @ CHECK: Name: alpha 100 @ CHECK: Value: 0x7 101 @ CHECK: Type: Function 102 @ CHECK: } 103 104 @ CHECK: Symbol { 105 @ CHECK: Name: arm_func 106 @ CHECK: Value: 0x0 107 @ CHECK: Type: Function 108 @ CHECK: } 109 110 @ CHECK: Symbol { 111 @ CHECK: Name: badblood 112 @ CHECK-NEXT: Value: 0x0 113 @ CHECK-NEXT: Size: 0 114 @ CHECK-NEXT: Binding: Local 115 @ CHECK-NEXT: Type: Object 116 @ CHECK-NEXT: Other: 0 117 @ CHECK-NEXT: Section: .data 118 @ CHECK-NEXT: } 119 120 @ CHECK: Symbol { 121 @ CHECK: Name: bedazzle 122 @ CHECK: Value: 0x4 123 @ CHECK: Type: Object 124 @ CHECK: } 125 126 @ CHECK: Symbol { 127 @ CHECK: Name: beta 128 @ CHECK: Value: 0x7 129 @ CHECK: Type: Function 130 @ CHECK: } 131 132 @ CHECK: Symbol { 133 @ CHECK: Name: eggsalad 134 @ CHECK: Value: 0xE665A1AD 135 @ CHECK: Type: Function 136 @ CHECK: } 137 138 @ CHECK: Symbol { 139 @ CHECK: Name: faceless 140 @ CHECK: Value: 0xFACE1E55 141 @ CHECK: Type: Function 142 @ CHECK: } 143 144 @ CHECK: Symbol { 145 @ CHECK: Name: seedless 146 @ CHECK: Value: 0x5EED1E55 147 @ CHECK: Type: Function 148 @ CHECK: } 149 150 @ CHECK: Symbol { 151 @ CHECK: Name: thumb_func 152 @ CHECK: Value: 0x5 153 @ CHECK: Type: Function 154 @ CHECK: } 155