sparc32: Enable the relocation target R_SPARC_DISP32 for sparc32
GNU Binutils 2.20.1 generates .eh_frame sections that uses R_SPARC_DISP32. Signed-off-by: Andreas Larsson <andreas@gaisler.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
					parent
					
						
							
								c46de2263f
							
						
					
				
			
			
				commit
				
					
						dfa520af2c
					
				
			
		
					 1 changed files with 4 additions and 5 deletions
				
			
		| 
						 | 
					@ -116,6 +116,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
 | 
				
			||||||
		v = sym->st_value + rel[i].r_addend;
 | 
							v = sym->st_value + rel[i].r_addend;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		switch (ELF_R_TYPE(rel[i].r_info) & 0xff) {
 | 
							switch (ELF_R_TYPE(rel[i].r_info) & 0xff) {
 | 
				
			||||||
 | 
							case R_SPARC_DISP32:
 | 
				
			||||||
 | 
								v -= (Elf_Addr) location;
 | 
				
			||||||
 | 
								*loc32 = v;
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
#ifdef CONFIG_SPARC64
 | 
					#ifdef CONFIG_SPARC64
 | 
				
			||||||
		case R_SPARC_64:
 | 
							case R_SPARC_64:
 | 
				
			||||||
			location[0] = v >> 56;
 | 
								location[0] = v >> 56;
 | 
				
			||||||
| 
						 | 
					@ -128,11 +132,6 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
 | 
				
			||||||
			location[7] = v >>  0;
 | 
								location[7] = v >>  0;
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case R_SPARC_DISP32:
 | 
					 | 
				
			||||||
			v -= (Elf_Addr) location;
 | 
					 | 
				
			||||||
			*loc32 = v;
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		case R_SPARC_WDISP19:
 | 
							case R_SPARC_WDISP19:
 | 
				
			||||||
			v -= (Elf_Addr) location;
 | 
								v -= (Elf_Addr) location;
 | 
				
			||||||
			*loc32 = (*loc32 & ~0x7ffff) |
 | 
								*loc32 = (*loc32 & ~0x7ffff) |
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue