Home | History | Annotate | Download | only in MachO
      1 // RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r -expand-relocs | FileCheck %s
      2 
      3         .data
      4         .long undef
      5         .long (undef + 4)
      6 
      7         .globl local_a_ext
      8 local_a_ext:
      9         .long local_a_ext
     10 
     11 local_a:
     12         .long 0
     13 local_a_elt:
     14         .long 0
     15 local_b:
     16         .long local_b - local_c + 245
     17         .long 0
     18 local_c:
     19         .long 0
     20 
     21 
     22         .long local_a_elt + 1
     23         .long local_a_elt + 10
     24         .short local_a_elt + 20
     25         .byte local_a_elt + 89
     26 
     27         .const
     28 
     29         .long
     30 bar:
     31         .long local_a_elt - bar + 33
     32 
     33 L0:
     34         .long L0
     35         .long L1
     36 
     37         .text
     38 _f0:
     39 L1:
     40         jmp	0xbabecafe
     41         jmp L0
     42         jmp L1
     43         ret
     44 
     45         .objc_class_name_A=0
     46 	.globl .objc_class_name_A
     47 
     48         .text
     49         .globl _f1
     50         .weak_definition _f1
     51 _f1:
     52         .data
     53         .long _f1
     54         .long _f1 + 4
     55 
     56 // CHECK:     Relocations [
     57 // CHECK-NEXT:  Section __text {
     58 // CHECK-NEXT:    Relocation {
     59 // CHECK-NEXT:      Offset: 0x6
     60 // CHECK-NEXT:      PCRel: 1
     61 // CHECK-NEXT:      Length: 2
     62 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
     63 // CHECK-NEXT:      Section: __const
     64 // CHECK-NEXT:    }
     65 // CHECK-NEXT:    Relocation {
     66 // CHECK-NEXT:      Offset: 0x1
     67 // CHECK-NEXT:      PCRel: 1
     68 // CHECK-NEXT:      Length: 2
     69 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
     70 // CHECK-NEXT:      Section: - (0)
     71 // CHECK-NEXT:    }
     72 // CHECK-NEXT:  }
     73 // CHECK-NEXT:  Section __data {
     74 // CHECK-NEXT:    Relocation {
     75 // CHECK-NEXT:      Offset: 0x2F
     76 // CHECK-NEXT:      PCRel: 0
     77 // CHECK-NEXT:      Length: 2
     78 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
     79 // CHECK-NEXT:      Symbol: _f1
     80 // CHECK-NEXT:    }
     81 // CHECK-NEXT:    Relocation {
     82 // CHECK-NEXT:      Offset: 0x2B
     83 // CHECK-NEXT:      PCRel: 0
     84 // CHECK-NEXT:      Length: 2
     85 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
     86 // CHECK-NEXT:      Symbol: _f1
     87 // CHECK-NEXT:    }
     88 // CHECK-NEXT:    Relocation {
     89 // CHECK-NEXT:      Offset: 0x2A
     90 // CHECK-NEXT:      PCRel: 0
     91 // CHECK-NEXT:      Length: 0
     92 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
     93 // CHECK-NEXT:      Value: 0x1D
     94 // CHECK-NEXT:    }
     95 // CHECK-NEXT:    Relocation {
     96 // CHECK-NEXT:      Offset: 0x28
     97 // CHECK-NEXT:      PCRel: 0
     98 // CHECK-NEXT:      Length: 1
     99 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    100 // CHECK-NEXT:      Value: 0x1D
    101 // CHECK-NEXT:    }
    102 // CHECK-NEXT:    Relocation {
    103 // CHECK-NEXT:      Offset: 0x24
    104 // CHECK-NEXT:      PCRel: 0
    105 // CHECK-NEXT:      Length: 2
    106 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    107 // CHECK-NEXT:      Value: 0x1D
    108 // CHECK-NEXT:    }
    109 // CHECK-NEXT:    Relocation {
    110 // CHECK-NEXT:      Offset: 0x20
    111 // CHECK-NEXT:      PCRel: 0
    112 // CHECK-NEXT:      Length: 2
    113 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    114 // CHECK-NEXT:      Value: 0x1D
    115 // CHECK-NEXT:    }
    116 // CHECK-NEXT:    Relocation {
    117 // CHECK-NEXT:      Offset: 0x14
    118 // CHECK-NEXT:      PCRel: 0
    119 // CHECK-NEXT:      Length: 2
    120 // CHECK-NEXT:      Type: GENERIC_RELOC_LOCAL_SECTDIFF (4)
    121 // CHECK-NEXT:      Value: 0x21
    122 // CHECK-NEXT:    }
    123 // CHECK-NEXT:    Relocation {
    124 // CHECK-NEXT:      Offset: 0x0
    125 // CHECK-NEXT:      PCRel: 0
    126 // CHECK-NEXT:      Length: 2
    127 // CHECK-NEXT:      Type: GENERIC_RELOC_PAIR (1)
    128 // CHECK-NEXT:      Value: 0x29
    129 // CHECK-NEXT:    }
    130 // CHECK-NEXT:    Relocation {
    131 // CHECK-NEXT:      Offset: 0x8
    132 // CHECK-NEXT:      PCRel: 0
    133 // CHECK-NEXT:      Length: 2
    134 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    135 // CHECK-NEXT:      Section: __data
    136 // CHECK-NEXT:    }
    137 // CHECK-NEXT:    Relocation {
    138 // CHECK-NEXT:      Offset: 0x4
    139 // CHECK-NEXT:      PCRel: 0
    140 // CHECK-NEXT:      Length: 2
    141 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    142 // CHECK-NEXT:      Symbol: undef
    143 // CHECK-NEXT:    }
    144 // CHECK-NEXT:    Relocation {
    145 // CHECK-NEXT:      Offset: 0x0
    146 // CHECK-NEXT:      PCRel: 0
    147 // CHECK-NEXT:      Length: 2
    148 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    149 // CHECK-NEXT:      Symbol: undef
    150 // CHECK-NEXT:    }
    151 // CHECK-NEXT:  }
    152 // CHECK-NEXT:  Section __const {
    153 // CHECK-NEXT:    Relocation {
    154 // CHECK-NEXT:      Offset: 0x8
    155 // CHECK-NEXT:      PCRel: 0
    156 // CHECK-NEXT:      Length: 2
    157 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    158 // CHECK-NEXT:      Section: __text
    159 // CHECK-NEXT:    }
    160 // CHECK-NEXT:    Relocation {
    161 // CHECK-NEXT:      Offset: 0x4
    162 // CHECK-NEXT:      PCRel: 0
    163 // CHECK-NEXT:      Length: 2
    164 // CHECK-NEXT:      Type: GENERIC_RELOC_VANILLA (0)
    165 // CHECK-NEXT:      Section: __const
    166 // CHECK-NEXT:    }
    167 // CHECK-NEXT:    Relocation {
    168 // CHECK-NEXT:      Offset: 0x0
    169 // CHECK-NEXT:      PCRel: 0
    170 // CHECK-NEXT:      Length: 2
    171 // CHECK-NEXT:      Type: GENERIC_RELOC_LOCAL_SECTDIFF (4)
    172 // CHECK-NEXT:      Value: 0x1D
    173 // CHECK-NEXT:    }
    174 // CHECK-NEXT:    Relocation {
    175 // CHECK-NEXT:      Offset: 0x0
    176 // CHECK-NEXT:      PCRel: 0
    177 // CHECK-NEXT:      Length: 2
    178 // CHECK-NEXT:      Type: GENERIC_RELOC_PAIR (1)
    179 // CHECK-NEXT:      Value: 0x40
    180 // CHECK-NEXT:    }
    181 // CHECK-NEXT:  }
    182 // CHECK-NEXT:]
    183