1b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// RUN: llvm-mc -triple i386-apple-darwin10 %s -filetype=obj -o - | macho-dump | FileCheck %s 2b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach 3b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach.space 0x1ed280 4b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .section __DATA,__const 5b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .align 4 6b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach.space 0x5181020 7b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach_foo: 8b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .long _bar 9b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .long 0 10b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .long _bar+8 11b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .long _bar+24 12b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .long 0 13b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach .long _bar+16 14b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach 15b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach.zerofill __DATA,__bss,__dummy,0x5d780 16b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach.zerofill __DATA,__bss,_bar,48,4 17b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach 18b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// Normally scattered relocations are used for sym+offset expressions. When 19b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// the value exceeds 24-bits, however, it's outside what MachO can encode, 20b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// so the assembler falls back to non-scattered relocations. 21b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// rdar://12358909 22b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach 23b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: ('_relocations', [ 24b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: # Relocation 0 25b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: (('word-0', 0x5181034), 26b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: ('word-1', 0x4000003)), 27b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: # Relocation 1 28b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: (('word-0', 0x518102c), 29b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: ('word-1', 0x4000003)), 30b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: # Relocation 2 31b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: (('word-0', 0x5181028), 32b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: ('word-1', 0x4000003)), 33b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: # Relocation 3 34b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: (('word-0', 0x5181020), 35b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: ('word-1', 0x4000003)), 36b7abea08409d4f15063b25e025f160a5469efd54Jim Grosbach// CHECK: ]) 37