17abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s
27abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
37abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// FIXME: This is a horrible way of checking the output, we need an llvm-mc
47abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// based 'otool'.
57abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
67abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// This is a case where llvm-mc computes a better layout than Darwin 'as'. This
77abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// issue is that after the first jmp slides, the .align size must be
87abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// recomputed -- otherwise the second jump will appear to be out-of-range for a
97abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// 1-byte jump.
107abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
117abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  # Section 0
127abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
137abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
147abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('address', 0)
157abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('size', 306)
167abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('offset', 324)
177abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('alignment', 4)
187abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('reloc_offset', 0)
197abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('num_reloc', 0)
207abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('flags', 0x80000400)
217abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('reserved1', 0)
227abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK:  ('reserved2', 0)
237abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao// CHECK: ),
247abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
257abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei LiaoL0:
267abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao        .space 0x8a, 0x90
277abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao	jmp	L0
287abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao        .space (0xb3 - 0x8f), 0x90
297abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao	jle	L2
307abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao        .space (0xcd - 0xb5), 0x90
317abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao	.align	4, 0x90
327abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei LiaoL1:
337abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao        .space (0x130 - 0xd0),0x90
347abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao	jl	L1
357abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei LiaoL2:
367abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao
377abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao.zerofill __DATA,__bss,_sym,4,2
38