136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -t \ 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ RUN: | FileCheck %s 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s \ 5dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ RUN: | FileCheck --check-prefix=ASM %s 6dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .syntax unified 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .arm 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type arm_func,%function 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesarm_func: 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines nop 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set alias_arm_func, arm_func 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 17dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines alias_arm_func2 = alias_arm_func 18dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines alias_arm_func3 = alias_arm_func2 19dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines 20dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ ASM: .thumb_set alias_arm_func, arm_func 21dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type thumb_func,%function 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_func 2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesthumb_func: 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines nop 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set alias_thumb_func, thumb_func 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set seedless, 0x5eed1e55 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set eggsalad, seedless + 0x87788358 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set faceless, ~eggsalad + 0xe133c002 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set alias_undefined_data, badblood 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .data 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type badblood,%object 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesbadblood: 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .long 0xbadb100d 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type bedazzle,%object 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesbedazzle: 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .long 0xbeda221e 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .text 4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb 4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set alias_defined_data, bedazzle 5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type alpha,%function 5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesalpha: 5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines nop 5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type beta,%function 5736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesbeta: 5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines bkpt 5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .thumb_set beta, alpha 6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: alias_arm_func 6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x1 6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 6636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 6736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 69dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Name: alias_arm_func2 70dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Value: 0x1 71dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Type: Function 72dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: } 73dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines 74dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Symbol { 75dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Name: alias_arm_func3 76dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Value: 0x1 77dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Type: Function 78dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: } 79dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines 80dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Symbol { 8136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: alias_defined_data 8236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x5 8336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 8436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 8536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 8636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 8736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: alias_thumb_func 8836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x5 8936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 9036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 9136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 9236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 9336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: alias_undefined_data 9436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x0 9536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Object 9636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 9736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 9836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 9936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: alpha 10036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x7 10136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 10236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 10336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 10436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 10536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: arm_func 10636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x0 10736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 10836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 10936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 110dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Symbol { 111dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK: Name: badblood 112dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: Value: 0x0 113dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: Size: 0 114dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: Binding: Local 115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: Type: Object 116dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: Other: 0 117dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: Section: .data 118dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@ CHECK-NEXT: } 119dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines 12036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 12136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: bedazzle 12236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x4 12336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Object 12436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 12536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 12636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 12736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: beta 12836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x7 12936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 13036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 13136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 13236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 13336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: eggsalad 13436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0xE665A1AD 13536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 13636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 13736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 13836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 13936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: faceless 14036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0xFACE1E55 14136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 14236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 14336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 14436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 14536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: seedless 14636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x5EED1E55 14736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 14836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 14936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 15036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Symbol { 15136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Name: thumb_func 15236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Value: 0x5 15336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: Type: Function 15436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: } 155