1 // RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj -t | FileCheck %s 2 3 .text 4 L0: 5 D0: 6 .section __TEXT,__text,regular,pure_instructions 7 L1: 8 D1: 9 .const 10 L2: 11 D2: 12 .static_const 13 L3: 14 D3: 15 .cstring 16 L4: 17 D4: 18 .literal4 19 L5: 20 D5: 21 .literal8 22 L6: 23 D6: 24 .literal16 25 L7: 26 D7: 27 .constructor 28 L8: 29 D8: 30 .destructor 31 L9: 32 D9: 33 // .symbol_stub 34 //L10: 35 //D10: 36 // .picsymbol_stub 37 //L11: 38 //D11: 39 .data 40 L12: 41 D12: 42 .static_data 43 L13: 44 D13: 45 // .non_lazy_symbol_pointer 46 //L14: 47 //D14: 48 // .lazy_symbol_pointer 49 //L15: 50 //D15: 51 .dyld 52 L16: 53 D16: 54 .mod_init_func 55 L17: 56 D17: 57 .mod_term_func 58 L18: 59 D18: 60 .const_data 61 L19: 62 D19: 63 .objc_class 64 L20: 65 D20: 66 .objc_meta_class 67 L21: 68 D21: 69 .objc_cat_cls_meth 70 L22: 71 D22: 72 .objc_cat_inst_meth 73 L23: 74 D23: 75 .objc_protocol 76 L24: 77 D24: 78 .objc_string_object 79 L25: 80 D25: 81 .objc_cls_meth 82 L26: 83 D26: 84 .objc_inst_meth 85 L27: 86 D27: 87 .objc_cls_refs 88 L28: 89 D28: 90 .objc_message_refs 91 L29: 92 D29: 93 .objc_symbols 94 L30: 95 D30: 96 .objc_category 97 L31: 98 D31: 99 .objc_class_vars 100 L32: 101 D32: 102 .objc_instance_vars 103 L33: 104 D33: 105 .objc_module_info 106 L34: 107 D34: 108 .objc_class_names 109 L35: 110 D35: 111 .objc_meth_var_types 112 L36: 113 D36: 114 .objc_meth_var_names 115 L37: 116 D37: 117 .objc_selector_strs 118 L38: 119 D38: 120 // .section __TEXT,__picsymbolstub4,symbol_stubs,none,16 121 //L39: 122 //D39: 123 124 .section foo, bar 125 .long L4 + 1 126 .long L35 + 1 127 .long L36 + 1 128 .long L37 + 1 129 .long L38 + 1 130 131 // CHECK: Symbols [ 132 // CHECK-NEXT: Symbol { 133 // CHECK-NEXT: Name: D0 (139) 134 // CHECK-NEXT: Type: Section (0xE) 135 // CHECK-NEXT: Section: __text (0x1) 136 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 137 // CHECK-NEXT: Flags [ (0x0) 138 // CHECK-NEXT: ] 139 // CHECK-NEXT: Value: 0x0 140 // CHECK-NEXT: } 141 // CHECK-NEXT: Symbol { 142 // CHECK-NEXT: Name: D1 (128) 143 // CHECK-NEXT: Type: Section (0xE) 144 // CHECK-NEXT: Section: __text (0x1) 145 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 146 // CHECK-NEXT: Flags [ (0x0) 147 // CHECK-NEXT: ] 148 // CHECK-NEXT: Value: 0x0 149 // CHECK-NEXT: } 150 // CHECK-NEXT: Symbol { 151 // CHECK-NEXT: Name: D2 (113) 152 // CHECK-NEXT: Type: Section (0xE) 153 // CHECK-NEXT: Section: __const (0x2) 154 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 155 // CHECK-NEXT: Flags [ (0x0) 156 // CHECK-NEXT: ] 157 // CHECK-NEXT: Value: 0x0 158 // CHECK-NEXT: } 159 // CHECK-NEXT: Symbol { 160 // CHECK-NEXT: Name: D3 (98) 161 // CHECK-NEXT: Type: Section (0xE) 162 // CHECK-NEXT: Section: __static_const (0x3) 163 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 164 // CHECK-NEXT: Flags [ (0x0) 165 // CHECK-NEXT: ] 166 // CHECK-NEXT: Value: 0x0 167 // CHECK-NEXT: } 168 // CHECK-NEXT: Symbol { 169 // CHECK-NEXT: Name: L4 (84) 170 // CHECK-NEXT: Type: Section (0xE) 171 // CHECK-NEXT: Section: __cstring (0x4) 172 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 173 // CHECK-NEXT: Flags [ (0x0) 174 // CHECK-NEXT: ] 175 // CHECK-NEXT: Value: 0x0 176 // CHECK-NEXT: } 177 // CHECK-NEXT: Symbol { 178 // CHECK-NEXT: Name: D4 (87) 179 // CHECK-NEXT: Type: Section (0xE) 180 // CHECK-NEXT: Section: __cstring (0x4) 181 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 182 // CHECK-NEXT: Flags [ (0x0) 183 // CHECK-NEXT: ] 184 // CHECK-NEXT: Value: 0x0 185 // CHECK-NEXT: } 186 // CHECK-NEXT: Symbol { 187 // CHECK-NEXT: Name: D5 (69) 188 // CHECK-NEXT: Type: Section (0xE) 189 // CHECK-NEXT: Section: __literal4 (0x5) 190 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 191 // CHECK-NEXT: Flags [ (0x0) 192 // CHECK-NEXT: ] 193 // CHECK-NEXT: Value: 0x0 194 // CHECK-NEXT: } 195 // CHECK-NEXT: Symbol { 196 // CHECK-NEXT: Name: D6 (50) 197 // CHECK-NEXT: Type: Section (0xE) 198 // CHECK-NEXT: Section: __literal8 (0x6) 199 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 200 // CHECK-NEXT: Flags [ (0x0) 201 // CHECK-NEXT: ] 202 // CHECK-NEXT: Value: 0x0 203 // CHECK-NEXT: } 204 // CHECK-NEXT: Symbol { 205 // CHECK-NEXT: Name: D7 (31) 206 // CHECK-NEXT: Type: Section (0xE) 207 // CHECK-NEXT: Section: __literal16 (0x7) 208 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 209 // CHECK-NEXT: Flags [ (0x0) 210 // CHECK-NEXT: ] 211 // CHECK-NEXT: Value: 0x0 212 // CHECK-NEXT: } 213 // CHECK-NEXT: Symbol { 214 // CHECK-NEXT: Name: D8 (12) 215 // CHECK-NEXT: Type: Section (0xE) 216 // CHECK-NEXT: Section: __constructor (0x8) 217 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 218 // CHECK-NEXT: Flags [ (0x0) 219 // CHECK-NEXT: ] 220 // CHECK-NEXT: Value: 0x0 221 // CHECK-NEXT: } 222 // CHECK-NEXT: Symbol { 223 // CHECK-NEXT: Name: D9 (1) 224 // CHECK-NEXT: Type: Section (0xE) 225 // CHECK-NEXT: Section: __destructor (0x9) 226 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 227 // CHECK-NEXT: Flags [ (0x0) 228 // CHECK-NEXT: ] 229 // CHECK-NEXT: Value: 0x0 230 // CHECK-NEXT: } 231 // CHECK-NEXT: Symbol { 232 // CHECK-NEXT: Name: D12 (124) 233 // CHECK-NEXT: Type: Section (0xE) 234 // CHECK-NEXT: Section: __data (0xA) 235 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 236 // CHECK-NEXT: Flags [ (0x0) 237 // CHECK-NEXT: ] 238 // CHECK-NEXT: Value: 0x0 239 // CHECK-NEXT: } 240 // CHECK-NEXT: Symbol { 241 // CHECK-NEXT: Name: D13 (109) 242 // CHECK-NEXT: Type: Section (0xE) 243 // CHECK-NEXT: Section: __static_data (0xB) 244 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 245 // CHECK-NEXT: Flags [ (0x0) 246 // CHECK-NEXT: ] 247 // CHECK-NEXT: Value: 0x0 248 // CHECK-NEXT: } 249 // CHECK-NEXT: Symbol { 250 // CHECK-NEXT: Name: D16 (65) 251 // CHECK-NEXT: Type: Section (0xE) 252 // CHECK-NEXT: Section: __dyld (0xC) 253 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 254 // CHECK-NEXT: Flags [ (0x0) 255 // CHECK-NEXT: ] 256 // CHECK-NEXT: Value: 0x0 257 // CHECK-NEXT: } 258 // CHECK-NEXT: Symbol { 259 // CHECK-NEXT: Name: D17 (46) 260 // CHECK-NEXT: Type: Section (0xE) 261 // CHECK-NEXT: Section: __mod_init_func (0xD) 262 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 263 // CHECK-NEXT: Flags [ (0x0) 264 // CHECK-NEXT: ] 265 // CHECK-NEXT: Value: 0x0 266 // CHECK-NEXT: } 267 // CHECK-NEXT: Symbol { 268 // CHECK-NEXT: Name: D18 (27) 269 // CHECK-NEXT: Type: Section (0xE) 270 // CHECK-NEXT: Section: __mod_term_func (0xE) 271 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 272 // CHECK-NEXT: Flags [ (0x0) 273 // CHECK-NEXT: ] 274 // CHECK-NEXT: Value: 0x0 275 // CHECK-NEXT: } 276 // CHECK-NEXT: Symbol { 277 // CHECK-NEXT: Name: D19 (8) 278 // CHECK-NEXT: Type: Section (0xE) 279 // CHECK-NEXT: Section: __const (0xF) 280 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 281 // CHECK-NEXT: Flags [ (0x0) 282 // CHECK-NEXT: ] 283 // CHECK-NEXT: Value: 0x0 284 // CHECK-NEXT: } 285 // CHECK-NEXT: Symbol { 286 // CHECK-NEXT: Name: D20 (146) 287 // CHECK-NEXT: Type: Section (0xE) 288 // CHECK-NEXT: Section: __class (0x10) 289 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 290 // CHECK-NEXT: Flags [ (0x0) 291 // CHECK-NEXT: ] 292 // CHECK-NEXT: Value: 0x0 293 // CHECK-NEXT: } 294 // CHECK-NEXT: Symbol { 295 // CHECK-NEXT: Name: D21 (135) 296 // CHECK-NEXT: Type: Section (0xE) 297 // CHECK-NEXT: Section: __meta_class (0x11) 298 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 299 // CHECK-NEXT: Flags [ (0x0) 300 // CHECK-NEXT: ] 301 // CHECK-NEXT: Value: 0x0 302 // CHECK-NEXT: } 303 // CHECK-NEXT: Symbol { 304 // CHECK-NEXT: Name: D22 (120) 305 // CHECK-NEXT: Type: Section (0xE) 306 // CHECK-NEXT: Section: __cat_cls_meth (0x12) 307 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 308 // CHECK-NEXT: Flags [ (0x0) 309 // CHECK-NEXT: ] 310 // CHECK-NEXT: Value: 0x0 311 // CHECK-NEXT: } 312 // CHECK-NEXT: Symbol { 313 // CHECK-NEXT: Name: D23 (105) 314 // CHECK-NEXT: Type: Section (0xE) 315 // CHECK-NEXT: Section: __cat_inst_meth (0x13) 316 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 317 // CHECK-NEXT: Flags [ (0x0) 318 // CHECK-NEXT: ] 319 // CHECK-NEXT: Value: 0x0 320 // CHECK-NEXT: } 321 // CHECK-NEXT: Symbol { 322 // CHECK-NEXT: Name: D24 (94) 323 // CHECK-NEXT: Type: Section (0xE) 324 // CHECK-NEXT: Section: __protocol (0x14) 325 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 326 // CHECK-NEXT: Flags [ (0x0) 327 // CHECK-NEXT: ] 328 // CHECK-NEXT: Value: 0x0 329 // CHECK-NEXT: } 330 // CHECK-NEXT: Symbol { 331 // CHECK-NEXT: Name: D25 (80) 332 // CHECK-NEXT: Type: Section (0xE) 333 // CHECK-NEXT: Section: __string_object (0x15) 334 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 335 // CHECK-NEXT: Flags [ (0x0) 336 // CHECK-NEXT: ] 337 // CHECK-NEXT: Value: 0x0 338 // CHECK-NEXT: } 339 // CHECK-NEXT: Symbol { 340 // CHECK-NEXT: Name: D26 (61) 341 // CHECK-NEXT: Type: Section (0xE) 342 // CHECK-NEXT: Section: __cls_meth (0x16) 343 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 344 // CHECK-NEXT: Flags [ (0x0) 345 // CHECK-NEXT: ] 346 // CHECK-NEXT: Value: 0x0 347 // CHECK-NEXT: } 348 // CHECK-NEXT: Symbol { 349 // CHECK-NEXT: Name: D27 (42) 350 // CHECK-NEXT: Type: Section (0xE) 351 // CHECK-NEXT: Section: __inst_meth (0x17) 352 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 353 // CHECK-NEXT: Flags [ (0x0) 354 // CHECK-NEXT: ] 355 // CHECK-NEXT: Value: 0x0 356 // CHECK-NEXT: } 357 // CHECK-NEXT: Symbol { 358 // CHECK-NEXT: Name: D28 (23) 359 // CHECK-NEXT: Type: Section (0xE) 360 // CHECK-NEXT: Section: __cls_refs (0x18) 361 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 362 // CHECK-NEXT: Flags [ (0x0) 363 // CHECK-NEXT: ] 364 // CHECK-NEXT: Value: 0x0 365 // CHECK-NEXT: } 366 // CHECK-NEXT: Symbol { 367 // CHECK-NEXT: Name: D29 (4) 368 // CHECK-NEXT: Type: Section (0xE) 369 // CHECK-NEXT: Section: __message_refs (0x19) 370 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 371 // CHECK-NEXT: Flags [ (0x0) 372 // CHECK-NEXT: ] 373 // CHECK-NEXT: Value: 0x0 374 // CHECK-NEXT: } 375 // CHECK-NEXT: Symbol { 376 // CHECK-NEXT: Name: D30 (142) 377 // CHECK-NEXT: Type: Section (0xE) 378 // CHECK-NEXT: Section: __symbols (0x1A) 379 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 380 // CHECK-NEXT: Flags [ (0x0) 381 // CHECK-NEXT: ] 382 // CHECK-NEXT: Value: 0x0 383 // CHECK-NEXT: } 384 // CHECK-NEXT: Symbol { 385 // CHECK-NEXT: Name: D31 (131) 386 // CHECK-NEXT: Type: Section (0xE) 387 // CHECK-NEXT: Section: __category (0x1B) 388 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 389 // CHECK-NEXT: Flags [ (0x0) 390 // CHECK-NEXT: ] 391 // CHECK-NEXT: Value: 0x0 392 // CHECK-NEXT: } 393 // CHECK-NEXT: Symbol { 394 // CHECK-NEXT: Name: D32 (116) 395 // CHECK-NEXT: Type: Section (0xE) 396 // CHECK-NEXT: Section: __class_vars (0x1C) 397 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 398 // CHECK-NEXT: Flags [ (0x0) 399 // CHECK-NEXT: ] 400 // CHECK-NEXT: Value: 0x0 401 // CHECK-NEXT: } 402 // CHECK-NEXT: Symbol { 403 // CHECK-NEXT: Name: D33 (101) 404 // CHECK-NEXT: Type: Section (0xE) 405 // CHECK-NEXT: Section: __instance_vars (0x1D) 406 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 407 // CHECK-NEXT: Flags [ (0x0) 408 // CHECK-NEXT: ] 409 // CHECK-NEXT: Value: 0x0 410 // CHECK-NEXT: } 411 // CHECK-NEXT: Symbol { 412 // CHECK-NEXT: Name: D34 (90) 413 // CHECK-NEXT: Type: Section (0xE) 414 // CHECK-NEXT: Section: __module_info (0x1E) 415 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 416 // CHECK-NEXT: Flags [ (0x0) 417 // CHECK-NEXT: ] 418 // CHECK-NEXT: Value: 0x0 419 // CHECK-NEXT: } 420 // CHECK-NEXT: Symbol { 421 // CHECK-NEXT: Name: L35 (72) 422 // CHECK-NEXT: Type: Section (0xE) 423 // CHECK-NEXT: Section: __cstring (0x4) 424 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 425 // CHECK-NEXT: Flags [ (0x0) 426 // CHECK-NEXT: ] 427 // CHECK-NEXT: Value: 0x0 428 // CHECK-NEXT: } 429 // CHECK-NEXT: Symbol { 430 // CHECK-NEXT: Name: D35 (76) 431 // CHECK-NEXT: Type: Section (0xE) 432 // CHECK-NEXT: Section: __cstring (0x4) 433 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 434 // CHECK-NEXT: Flags [ (0x0) 435 // CHECK-NEXT: ] 436 // CHECK-NEXT: Value: 0x0 437 // CHECK-NEXT: } 438 // CHECK-NEXT: Symbol { 439 // CHECK-NEXT: Name: L36 (53) 440 // CHECK-NEXT: Type: Section (0xE) 441 // CHECK-NEXT: Section: __cstring (0x4) 442 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 443 // CHECK-NEXT: Flags [ (0x0) 444 // CHECK-NEXT: ] 445 // CHECK-NEXT: Value: 0x0 446 // CHECK-NEXT: } 447 // CHECK-NEXT: Symbol { 448 // CHECK-NEXT: Name: D36 (57) 449 // CHECK-NEXT: Type: Section (0xE) 450 // CHECK-NEXT: Section: __cstring (0x4) 451 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 452 // CHECK-NEXT: Flags [ (0x0) 453 // CHECK-NEXT: ] 454 // CHECK-NEXT: Value: 0x0 455 // CHECK-NEXT: } 456 // CHECK-NEXT: Symbol { 457 // CHECK-NEXT: Name: L37 (34) 458 // CHECK-NEXT: Type: Section (0xE) 459 // CHECK-NEXT: Section: __cstring (0x4) 460 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 461 // CHECK-NEXT: Flags [ (0x0) 462 // CHECK-NEXT: ] 463 // CHECK-NEXT: Value: 0x0 464 // CHECK-NEXT: } 465 // CHECK-NEXT: Symbol { 466 // CHECK-NEXT: Name: D37 (38) 467 // CHECK-NEXT: Type: Section (0xE) 468 // CHECK-NEXT: Section: __cstring (0x4) 469 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 470 // CHECK-NEXT: Flags [ (0x0) 471 // CHECK-NEXT: ] 472 // CHECK-NEXT: Value: 0x0 473 // CHECK-NEXT: } 474 // CHECK-NEXT: Symbol { 475 // CHECK-NEXT: Name: L38 (15) 476 // CHECK-NEXT: Type: Section (0xE) 477 // CHECK-NEXT: Section: __selector_strs (0x1F) 478 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 479 // CHECK-NEXT: Flags [ (0x0) 480 // CHECK-NEXT: ] 481 // CHECK-NEXT: Value: 0x0 482 // CHECK-NEXT: } 483 // CHECK-NEXT: Symbol { 484 // CHECK-NEXT: Name: D38 (19) 485 // CHECK-NEXT: Type: Section (0xE) 486 // CHECK-NEXT: Section: __selector_strs (0x1F) 487 // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 488 // CHECK-NEXT: Flags [ (0x0) 489 // CHECK-NEXT: ] 490 // CHECK-NEXT: Value: 0x0 491 // CHECK-NEXT: } 492 // CHECK-NEXT: ] 493