// 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:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Section: __const
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x1
// CHECK-NEXT:      PCRel: 1
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Section: - (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:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Symbol: _f1
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x2B
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Symbol: _f1
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x2A
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 0
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Value: 0x1D
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x28
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 1
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Value: 0x1D
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x24
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Value: 0x1D
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x20
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Value: 0x1D
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x14
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_LOCAL_SECTDIFF (4)
// CHECK-NEXT:      Value: 0x21
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x0
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_PAIR (1)
// CHECK-NEXT:      Value: 0x29
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x8
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Section: __data
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x4
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Symbol: undef
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x0
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Symbol: undef
// 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:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Section: __text
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x4
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
// CHECK-NEXT:      Section: __const
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x0
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_LOCAL_SECTDIFF (4)
// CHECK-NEXT:      Value: 0x1D
// CHECK-NEXT:    }
// CHECK-NEXT:    Relocation {
// CHECK-NEXT:      Offset: 0x0
// CHECK-NEXT:      PCRel: 0
// CHECK-NEXT:      Length: 2
// CHECK-NEXT:      Type: GENERIC_RELOC_PAIR (1)
// CHECK-NEXT:      Value: 0x40
// CHECK-NEXT:    }
// CHECK-NEXT:  }
// CHECK-NEXT:]
