1 // RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r -expand-relocs | FileCheck %s 2 3 .data 4 .long undef 5 .long (undef + 4) 6 7 .globl local_a_ext 8 local_a_ext: 9 .long local_a_ext 10 11 local_a: 12 .long 0 13 local_a_elt: 14 .long 0 15 local_b: 16 .long local_b - local_c + 245 17 .long 0 18 local_c: 19 .long 0 20 21 22 .long local_a_elt + 1 23 .long local_a_elt + 10 24 .short local_a_elt + 20 25 .byte local_a_elt + 89 26 27 .const 28 29 .long 30 bar: 31 .long local_a_elt - bar + 33 32 33 L0: 34 .long L0 35 .long L1 36 37 .text 38 _f0: 39 L1: 40 jmp 0xbabecafe 41 jmp L0 42 jmp L1 43 ret 44 45 .objc_class_name_A=0 46 .globl .objc_class_name_A 47 48 .text 49 .globl _f1 50 .weak_definition _f1 51 _f1: 52 .data 53 .long _f1 54 .long _f1 + 4 55 56 // CHECK: Relocations [ 57 // CHECK-NEXT: Section __text { 58 // CHECK-NEXT: Relocation { 59 // CHECK-NEXT: Offset: 0x6 60 // CHECK-NEXT: PCRel: 1 61 // CHECK-NEXT: Length: 2 62 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 63 // CHECK-NEXT: Section: __const 64 // CHECK-NEXT: } 65 // CHECK-NEXT: Relocation { 66 // CHECK-NEXT: Offset: 0x1 67 // CHECK-NEXT: PCRel: 1 68 // CHECK-NEXT: Length: 2 69 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 70 // CHECK-NEXT: Section: - (0) 71 // CHECK-NEXT: } 72 // CHECK-NEXT: } 73 // CHECK-NEXT: Section __data { 74 // CHECK-NEXT: Relocation { 75 // CHECK-NEXT: Offset: 0x2F 76 // CHECK-NEXT: PCRel: 0 77 // CHECK-NEXT: Length: 2 78 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 79 // CHECK-NEXT: Symbol: _f1 80 // CHECK-NEXT: } 81 // CHECK-NEXT: Relocation { 82 // CHECK-NEXT: Offset: 0x2B 83 // CHECK-NEXT: PCRel: 0 84 // CHECK-NEXT: Length: 2 85 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 86 // CHECK-NEXT: Symbol: _f1 87 // CHECK-NEXT: } 88 // CHECK-NEXT: Relocation { 89 // CHECK-NEXT: Offset: 0x2A 90 // CHECK-NEXT: PCRel: 0 91 // CHECK-NEXT: Length: 0 92 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 93 // CHECK-NEXT: Value: 0x1D 94 // CHECK-NEXT: } 95 // CHECK-NEXT: Relocation { 96 // CHECK-NEXT: Offset: 0x28 97 // CHECK-NEXT: PCRel: 0 98 // CHECK-NEXT: Length: 1 99 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 100 // CHECK-NEXT: Value: 0x1D 101 // CHECK-NEXT: } 102 // CHECK-NEXT: Relocation { 103 // CHECK-NEXT: Offset: 0x24 104 // CHECK-NEXT: PCRel: 0 105 // CHECK-NEXT: Length: 2 106 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 107 // CHECK-NEXT: Value: 0x1D 108 // CHECK-NEXT: } 109 // CHECK-NEXT: Relocation { 110 // CHECK-NEXT: Offset: 0x20 111 // CHECK-NEXT: PCRel: 0 112 // CHECK-NEXT: Length: 2 113 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 114 // CHECK-NEXT: Value: 0x1D 115 // CHECK-NEXT: } 116 // CHECK-NEXT: Relocation { 117 // CHECK-NEXT: Offset: 0x14 118 // CHECK-NEXT: PCRel: 0 119 // CHECK-NEXT: Length: 2 120 // CHECK-NEXT: Type: GENERIC_RELOC_LOCAL_SECTDIFF (4) 121 // CHECK-NEXT: Value: 0x21 122 // CHECK-NEXT: } 123 // CHECK-NEXT: Relocation { 124 // CHECK-NEXT: Offset: 0x0 125 // CHECK-NEXT: PCRel: 0 126 // CHECK-NEXT: Length: 2 127 // CHECK-NEXT: Type: GENERIC_RELOC_PAIR (1) 128 // CHECK-NEXT: Value: 0x29 129 // CHECK-NEXT: } 130 // CHECK-NEXT: Relocation { 131 // CHECK-NEXT: Offset: 0x8 132 // CHECK-NEXT: PCRel: 0 133 // CHECK-NEXT: Length: 2 134 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 135 // CHECK-NEXT: Section: __data 136 // CHECK-NEXT: } 137 // CHECK-NEXT: Relocation { 138 // CHECK-NEXT: Offset: 0x4 139 // CHECK-NEXT: PCRel: 0 140 // CHECK-NEXT: Length: 2 141 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 142 // CHECK-NEXT: Symbol: undef 143 // CHECK-NEXT: } 144 // CHECK-NEXT: Relocation { 145 // CHECK-NEXT: Offset: 0x0 146 // CHECK-NEXT: PCRel: 0 147 // CHECK-NEXT: Length: 2 148 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 149 // CHECK-NEXT: Symbol: undef 150 // CHECK-NEXT: } 151 // CHECK-NEXT: } 152 // CHECK-NEXT: Section __const { 153 // CHECK-NEXT: Relocation { 154 // CHECK-NEXT: Offset: 0x8 155 // CHECK-NEXT: PCRel: 0 156 // CHECK-NEXT: Length: 2 157 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 158 // CHECK-NEXT: Section: __text 159 // CHECK-NEXT: } 160 // CHECK-NEXT: Relocation { 161 // CHECK-NEXT: Offset: 0x4 162 // CHECK-NEXT: PCRel: 0 163 // CHECK-NEXT: Length: 2 164 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) 165 // CHECK-NEXT: Section: __const 166 // CHECK-NEXT: } 167 // CHECK-NEXT: Relocation { 168 // CHECK-NEXT: Offset: 0x0 169 // CHECK-NEXT: PCRel: 0 170 // CHECK-NEXT: Length: 2 171 // CHECK-NEXT: Type: GENERIC_RELOC_LOCAL_SECTDIFF (4) 172 // CHECK-NEXT: Value: 0x1D 173 // CHECK-NEXT: } 174 // CHECK-NEXT: Relocation { 175 // CHECK-NEXT: Offset: 0x0 176 // CHECK-NEXT: PCRel: 0 177 // CHECK-NEXT: Length: 2 178 // CHECK-NEXT: Type: GENERIC_RELOC_PAIR (1) 179 // CHECK-NEXT: Value: 0x40 180 // CHECK-NEXT: } 181 // CHECK-NEXT: } 182 // CHECK-NEXT:] 183