183 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			183 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| // 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:]
 |