1@ RUN: llvm-mc -filetype=obj -triple arm-none-linux-gnueabi %s -o - | llvm-readobj -r -t | FileCheck %s 2@ RUN: llvm-mc -filetype=obj -triple thumb-none-linux-gnueabi %s -o - | llvm-readobj -r -t | FileCheck %s 3 4defined1: 5defined2: 6defined3: 7 .symver defined1, bar1@zed 8 .symver undefined1, bar2@zed 9 10 .symver defined2, bar3@@zed 11 12 .symver defined3, bar5@@@zed 13 .symver undefined3, bar6@@@zed 14 15 .long defined1 16 .long undefined1 17 .long defined2 18 .long defined3 19 .long undefined3 20 21 .global global1 22 .symver global1, g1@@zed 23global1: 24 25@ CHECK: Relocations [ 26@ CHECK-NEXT: Section {{.*}} .rel.text { 27@ CHECK-NEXT: 0x0 R_ARM_ABS32 .text 0x0 28@ CHECK-NEXT: 0x4 R_ARM_ABS32 bar2@zed 0x0 29@ CHECK-NEXT: 0x8 R_ARM_ABS32 .text 0x0 30@ CHECK-NEXT: 0xC R_ARM_ABS32 .text 0x0 31@ CHECK-NEXT: 0x10 R_ARM_ABS32 bar6@zed 0x0 32@ CHECK-NEXT: } 33@ CHECK-NEXT: ] 34 35@ CHECK: Symbol { 36@ CHECK: Name: bar1@zed 37@ CHECK-NEXT: Value: 0x0 38@ CHECK-NEXT: Size: 0 39@ CHECK-NEXT: Binding: Local (0x0) 40@ CHECK-NEXT: Type: None (0x0) 41@ CHECK-NEXT: Other: 0 42@ CHECK-NEXT: Section: .text (0x1) 43@ CHECK-NEXT: } 44@ CHECK-NEXT: Symbol { 45@ CHECK-NEXT: Name: bar3@@zed 46@ CHECK-NEXT: Value: 0x0 47@ CHECK-NEXT: Size: 0 48@ CHECK-NEXT: Binding: Local (0x0) 49@ CHECK-NEXT: Type: None (0x0) 50@ CHECK-NEXT: Other: 0 51@ CHECK-NEXT: Section: .text (0x1) 52@ CHECK-NEXT: } 53@ CHECK-NEXT: Symbol { 54@ CHECK-NEXT: Name: bar5@@zed 55@ CHECK-NEXT: Value: 0x0 56@ CHECK-NEXT: Size: 0 57@ CHECK-NEXT: Binding: Local (0x0) 58@ CHECK-NEXT: Type: None (0x0) 59@ CHECK-NEXT: Other: 0 60@ CHECK-NEXT: Section: .text (0x1) 61@ CHECK-NEXT: } 62@ CHECK-NEXT: Symbol { 63@ CHECK-NEXT: Name: defined1 64@ CHECK-NEXT: Value: 0x0 65@ CHECK-NEXT: Size: 0 66@ CHECK-NEXT: Binding: Local (0x0) 67@ CHECK-NEXT: Type: None (0x0) 68@ CHECK-NEXT: Other: 0 69@ CHECK-NEXT: Section: .text (0x1) 70@ CHECK-NEXT: } 71@ CHECK-NEXT: Symbol { 72@ CHECK-NEXT: Name: defined2 73@ CHECK-NEXT: Value: 0x0 74@ CHECK-NEXT: Size: 0 75@ CHECK-NEXT: Binding: Local (0x0) 76@ CHECK-NEXT: Type: None (0x0) 77@ CHECK-NEXT: Other: 0 78@ CHECK-NEXT: Section: .text (0x1) 79@ CHECK-NEXT: } 80@ CHECK-NEXT: Symbol { 81@ CHECK-NEXT: Name: .text (0) 82@ CHECK-NEXT: Value: 0x0 83@ CHECK-NEXT: Size: 0 84@ CHECK-NEXT: Binding: Local (0x0) 85@ CHECK-NEXT: Type: Section (0x3) 86@ CHECK-NEXT: Other: 0 87@ CHECK-NEXT: Section: .text (0x1) 88@ CHECK-NEXT: } 89@ CHECK-NEXT: Symbol { 90@ CHECK-NEXT: Name: .data (0) 91@ CHECK-NEXT: Value: 0x0 92@ CHECK-NEXT: Size: 0 93@ CHECK-NEXT: Binding: Local (0x0) 94@ CHECK-NEXT: Type: Section (0x3) 95@ CHECK-NEXT: Other: 0 96@ CHECK-NEXT: Section: .data 97@ CHECK-NEXT: } 98@ CHECK-NEXT: Symbol { 99@ CHECK-NEXT: Name: .bss (0) 100@ CHECK-NEXT: Value: 0x0 101@ CHECK-NEXT: Size: 0 102@ CHECK-NEXT: Binding: Local (0x0) 103@ CHECK-NEXT: Type: Section (0x3) 104@ CHECK-NEXT: Other: 0 105@ CHECK-NEXT: Section: .bss 106@ CHECK-NEXT: } 107@ CHECK-NEXT: Symbol { 108@ CHECK-NEXT: Name: g1@@zed 109@ CHECK-NEXT: Value: 0x14 110@ CHECK-NEXT: Size: 0 111@ CHECK-NEXT: Binding: Global (0x1) 112@ CHECK-NEXT: Type: None (0x0) 113@ CHECK-NEXT: Other: 0 114@ CHECK-NEXT: Section: .text (0x1) 115@ CHECK-NEXT: } 116@ CHECK-NEXT: Symbol { 117@ CHECK-NEXT: Name: global1 118@ CHECK-NEXT: Value: 0x14 119@ CHECK-NEXT: Size: 0 120@ CHECK-NEXT: Binding: Global (0x1) 121@ CHECK-NEXT: Type: None (0x0) 122@ CHECK-NEXT: Other: 0 123@ CHECK-NEXT: Section: .text (0x1) 124@ CHECK-NEXT: } 125@ CHECK-NEXT: Symbol { 126@ CHECK-NEXT: Name: bar2@zed 127@ CHECK-NEXT: Value: 0x0 128@ CHECK-NEXT: Size: 0 129@ CHECK-NEXT: Binding: Global (0x1) 130@ CHECK-NEXT: Type: None (0x0) 131@ CHECK-NEXT: Other: 0 132@ CHECK-NEXT: Section: Undefined (0x0) 133@ CHECK-NEXT: } 134@ CHECK-NEXT: Symbol { 135@ CHECK-NEXT: Name: bar6@zed 136@ CHECK-NEXT: Value: 0x0 137@ CHECK-NEXT: Size: 0 138@ CHECK-NEXT: Binding: Global (0x1) 139@ CHECK-NEXT: Type: None (0x0) 140@ CHECK-NEXT: Other: 0 141@ CHECK-NEXT: Section: Undefined (0x0) 142@ CHECK-NEXT: } 143@ CHECK-NEXT: ] 144