Home | History | Annotate | Download | only in ARM
      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