// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r -expand-relocs | FileCheck %s .data .long undef .long (undef + 4) .globl local_a_ext local_a_ext: .long local_a_ext local_a: .long 0 local_a_elt: .long 0 local_b: .long local_b - local_c + 245 .long 0 local_c: .long 0 .long local_a_elt + 1 .long local_a_elt + 10 .short local_a_elt + 20 .byte local_a_elt + 89 .const .long bar: .long local_a_elt - bar + 33 L0: .long L0 .long L1 .text _f0: L1: jmp 0xbabecafe jmp L0 jmp L1 ret .objc_class_name_A=0 .globl .objc_class_name_A .text .globl _f1 .weak_definition _f1 _f1: .data .long _f1 .long _f1 + 4 // CHECK: Relocations [ // CHECK-NEXT: Section __text { // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x6 // CHECK-NEXT: PCRel: 1 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 0 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x3 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x1 // CHECK-NEXT: PCRel: 1 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 0 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x0 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: Section __data { // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x2F // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 1 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: _f1 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x2B // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 1 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: _f1 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x2A // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 0 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x1D // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x28 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 1 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x1D // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x24 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x1D // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x20 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x1D // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x14 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_LOCAL_SECTDIFF (4) // CHECK-NEXT: Symbol: 0x21 // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x0 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_PAIR (1) // CHECK-NEXT: Symbol: 0x29 // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x8 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 0 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x2 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x4 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 1 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: undef // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x0 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 1 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: undef // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: Section __const { // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x8 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 0 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x1 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x4 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: 0 // CHECK-NEXT: Type: GENERIC_RELOC_VANILLA (0) // CHECK-NEXT: Symbol: 0x3 // CHECK-NEXT: Scattered: 0 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x0 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_LOCAL_SECTDIFF (4) // CHECK-NEXT: Symbol: 0x1D // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: Relocation { // CHECK-NEXT: Offset: 0x0 // CHECK-NEXT: PCRel: 0 // CHECK-NEXT: Length: 2 // CHECK-NEXT: Extern: N/A // CHECK-NEXT: Type: GENERIC_RELOC_PAIR (1) // CHECK-NEXT: Symbol: 0x40 // CHECK-NEXT: Scattered: 1 // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT:]