You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===-- AArch64FixupKinds.h - AArch64 Specific Fixup Entries ----*- C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64FIXUPKINDS_H
 | |
| #define LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64FIXUPKINDS_H
 | |
| 
 | |
| #include "llvm/MC/MCFixup.h"
 | |
| 
 | |
| namespace llvm {
 | |
| namespace AArch64 {
 | |
| 
 | |
| enum Fixups {
 | |
|   // A 21-bit pc-relative immediate inserted into an ADR instruction.
 | |
|   fixup_aarch64_pcrel_adr_imm21 = FirstTargetFixupKind,
 | |
| 
 | |
|   // A 21-bit pc-relative immediate inserted into an ADRP instruction.
 | |
|   fixup_aarch64_pcrel_adrp_imm21,
 | |
| 
 | |
|   // 12-bit fixup for add/sub instructions. No alignment adjustment. All value
 | |
|   // bits are encoded.
 | |
|   fixup_aarch64_add_imm12,
 | |
| 
 | |
|   // unsigned 12-bit fixups for load and store instructions.
 | |
|   fixup_aarch64_ldst_imm12_scale1,
 | |
|   fixup_aarch64_ldst_imm12_scale2,
 | |
|   fixup_aarch64_ldst_imm12_scale4,
 | |
|   fixup_aarch64_ldst_imm12_scale8,
 | |
|   fixup_aarch64_ldst_imm12_scale16,
 | |
| 
 | |
|   // The high 19 bits of a 21-bit pc-relative immediate. Same encoding as
 | |
|   // fixup_aarch64_pcrel_adrhi, except this is used by pc-relative loads and
 | |
|   // generates relocations directly when necessary.
 | |
|   fixup_aarch64_ldr_pcrel_imm19,
 | |
| 
 | |
|   // FIXME: comment
 | |
|   fixup_aarch64_movw,
 | |
| 
 | |
|   // The high 14 bits of a 21-bit pc-relative immediate.
 | |
|   fixup_aarch64_pcrel_branch14,
 | |
| 
 | |
|   // The high 19 bits of a 21-bit pc-relative immediate. Same encoding as
 | |
|   // fixup_aarch64_pcrel_adrhi, except this is use by b.cc and generates
 | |
|   // relocations directly when necessary.
 | |
|   fixup_aarch64_pcrel_branch19,
 | |
| 
 | |
|   // The high 26 bits of a 28-bit pc-relative immediate.
 | |
|   fixup_aarch64_pcrel_branch26,
 | |
| 
 | |
|   // The high 26 bits of a 28-bit pc-relative immediate. Distinguished from
 | |
|   // branch26 only on ELF.
 | |
|   fixup_aarch64_pcrel_call26,
 | |
| 
 | |
|   // zero-space placeholder for the ELF R_AARCH64_TLSDESC_CALL relocation.
 | |
|   fixup_aarch64_tlsdesc_call,
 | |
| 
 | |
|   // Marker
 | |
|   LastTargetFixupKind,
 | |
|   NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
 | |
| };
 | |
| 
 | |
| } // end namespace AArch64
 | |
| } // end namespace llvm
 | |
| 
 | |
| #endif
 |