Home | History | Annotate | Download | only in MachO
      1 // RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s
      2 
      3 // Test case for rdar://9356266
      4 
      5 // This tests that this expression does not cause a crash and produces these
      6 // four relocation entries:
      7 // Relocation information (__DATA,__data) 4 entries
      8 // address  pcrel length extern type    scattered symbolnum/value
      9 // 00000004 False long   False  SUB     False     2 (__DATA,__data)
     10 // 00000004 False long   False  UNSIGND False     2 (__DATA,__data)
     11 // 00000000 False long   False  SUB     False     2 (__DATA,__data)
     12 // 00000000 False long   False  UNSIGND False     2 (__DATA,__data)
     13 
     14 	.data
     15 L_var1:
     16 L_var2:
     17 // This was working fine
     18 	.long L_var2 - L_var1
     19 
     20 	.set L_var3, .
     21 	.set L_var4, .
     22 // But this was causing a crash
     23 	.long L_var4 - L_var3
     24 
     25 // CHECK:  ('_relocations', [
     26 // CHECK:    # Relocation 0
     27 // CHECK:    (('word-0', 0x4),
     28 // CHECK:     ('word-1', 0x54000002)),
     29 // CHECK:    # Relocation 1
     30 // CHECK:    (('word-0', 0x4),
     31 // CHECK:     ('word-1', 0x4000002)),
     32 // CHECK:    # Relocation 2
     33 // CHECK:    (('word-0', 0x0),
     34 // CHECK:     ('word-1', 0x54000002)),
     35 // CHECK:    # Relocation 3
     36 // CHECK:    (('word-0', 0x0),
     37 // CHECK:     ('word-1', 0x4000002)),
     38 // CHECK:  ])
     39