mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	Add support for the COFF relocation types IMAGE_REL_I386_DIR32NB and IMAGE_REL_AMD64_ADDR32NB for 32- and 64-bit respectively. These are similar to normal 4-byte relocations except that they do not include the base address of the image. Image-relative relocations are used for debug information (32-bit) and SEH unwind tables (64-bit). A new MCSymbolRef variant called 'VK_COFF_IMGREL32' is introduced to specify such relocations. For AT&T assembly, this variant can be accessed using the symbol suffix '@imgrel'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179240 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			40 lines
		
	
	
		
			761 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			761 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| ===============
 | |
| LLVM Extensions
 | |
| ===============
 | |
| 
 | |
| .. contents::
 | |
|    :local:
 | |
|    :depth: 1
 | |
| 
 | |
| .. toctree::
 | |
|    :hidden:
 | |
| 
 | |
| Introduction
 | |
| ============
 | |
| 
 | |
| This document describes extensions to tools and formats LLVM seeks compatibility
 | |
| with.
 | |
| 
 | |
| Machine-specific Assembly Syntax
 | |
| ================================
 | |
| 
 | |
| X86/COFF-Dependent
 | |
| ------------------
 | |
| 
 | |
| The following additional relocation type is supported:
 | |
| 
 | |
| **@IMGREL** (AT&T syntax only) generates an image-relative relocation that
 | |
| corresponds to the COFF relocation types ``IMAGE_REL_I386_DIR32NB`` (32-bit) or
 | |
| ``IMAGE_REL_AMD64_ADDR32NB`` (64-bit).
 | |
| 
 | |
| .. code-block:: gas
 | |
| 
 | |
|   .text
 | |
|   fun:
 | |
|     mov foo@IMGREL(%ebx, %ecx, 4), %eax
 | |
| 
 | |
|   .section .pdata
 | |
|     .long fun@IMGREL
 | |
|     .long (fun@imgrel + 0x3F)
 | |
|     .long $unwind$fun@imgrel
 |