You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
|   | // RUN: not llvm-mc -triple aarch64-darwin -filetype=obj %s -o /dev/null 2>&1 | FileCheck %s | ||
|  | // RUN: not llvm-mc -triple aarch64-ios -filetype=obj %s -o /dev/null 2>&1 | FileCheck %s | ||
|  | 
 | ||
|  | Lstart: | ||
|  |   .space 8
 | ||
|  | Lend: | ||
|  |   add w0, w1, #(Lend - external) | ||
|  |   cmp w0, #(Lend - external) | ||
|  |   // CHECK: error: unknown AArch64 fixup kind! | ||
|  |   // CHECK-NEXT: add w0, w1, #(Lend - external) | ||
|  |   // CHECK-NEXT: ^ | ||
|  |   // CHECK: error: unknown AArch64 fixup kind! | ||
|  |   // CHECK-NEXT: cmp w0, #(Lend - external) | ||
|  |   // CHECK-NEXT: ^ | ||
|  | 
 | ||
|  |   add w0, w1, #(Lend - var@TLVPPAGEOFF) | ||
|  |   cmp w0, #(Lend - var@TLVPPAGEOFF) | ||
|  |   // CHECK: error: unsupported subtraction of qualified symbol | ||
|  |   // CHECK-NEXT: add w0, w1, #(Lend - var@TLVPPAGEOFF) | ||
|  |   // CHECK-NEXT: ^ | ||
|  |   // CHECK: error: unsupported subtraction of qualified symbol | ||
|  |   // CHECK-NEXT: cmp w0, #(Lend - var@TLVPPAGEOFF) | ||
|  |   // CHECK-NEXT: ^ | ||
|  | 
 | ||
|  |   add w0, w1, #(Lstart - Lend) | ||
|  |   cmp w0, #(Lstart - Lend) | ||
|  |   // CHECK: error: fixup value out of range | ||
|  |   // CHECK-NEXT: add w0, w1, #(Lstart - Lend) | ||
|  |   // CHECK-NEXT: ^ | ||
|  |   // CHECK: error: fixup value out of range | ||
|  |   // CHECK-NEXT: cmp w0, #(Lstart - Lend) | ||
|  |   // CHECK-NEXT: ^ | ||
|  | 
 | ||
|  |   .space 5000
 | ||
|  | Lfar: | ||
|  |   add w0, w1, #(Lfar - Lend) | ||
|  |   cmp w0, #(Lfar - Lend) | ||
|  |   // CHECK: error: fixup value out of range | ||
|  |   // CHECK-NEXT: add w0, w1, #(Lfar - Lend) | ||
|  |   // CHECK-NEXT: ^ | ||
|  |   // CHECK: error: fixup value out of range | ||
|  |   // CHECK-NEXT: cmp w0, #(Lfar - Lend) | ||
|  |   // CHECK-NEXT: ^ | ||
|  | 
 | ||
|  | Lprivate1: | ||
|  |   .space 8
 | ||
|  | notprivate: | ||
|  |   .space 8
 | ||
|  | Lprivate2: | ||
|  |   add w0, w1, #(Lprivate2 - Lprivate1) | ||
|  |   cmp w0, #(Lprivate2 - Lprivate1) | ||
|  |   // CHECK: error: unknown AArch64 fixup kind! | ||
|  |   // CHECK-NEXT: add w0, w1, #(Lprivate2 - Lprivate1) | ||
|  |   // CHECK-NEXT: ^ | ||
|  |   // CHECK: error: unknown AArch64 fixup kind! | ||
|  |   // CHECK-NEXT: cmp w0, #(Lprivate2 - Lprivate1) | ||
|  |   // CHECK-NEXT: ^ | ||
|  | 
 | ||
|  |   .section __TEXT, sec_y, regular, pure_instructions | ||
|  | Lend_across_sec: | ||
|  |   add w0, w1, #(Lend_across_sec - Lprivate2) | ||
|  |   cmp w0, #(Lend_across_sec - Lprivate2) | ||
|  |   // CHECK: error: unknown AArch64 fixup kind! | ||
|  |   // CHECK-NEXT: add w0, w1, #(Lend_across_sec - Lprivate2) | ||
|  |   // CHECK-NEXT: ^ | ||
|  |   // CHECK: error: unknown AArch64 fixup kind! | ||
|  |   // CHECK-NEXT: cmp w0, #(Lend_across_sec - Lprivate2) | ||
|  |   // CHECK-NEXT: ^ |