Bug #1765: Add support for R_ALPHA_SREL32 relocations in elfloader.
Originally Debian patch
    202_alpha_elfloader_support_R_ALPHA_SREL32.diff. (Falk Hueffner)
			
			
This commit is contained in:
		
							parent
							
								
									50cdff7ee2
								
							
						
					
					
						commit
						367b963b63
					
				| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/elfloader.c,v 1.2 2004/04/23 19:54:06 eich Exp $ */
 | 
			
		||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/elfloader.c,v 1.3 2004/10/30 20:33:43 alanc Exp $ */
 | 
			
		||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/elfloader.c,v 1.61tsi Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			@ -1609,6 +1609,20 @@ Elf_RelocateEntry(ELFModulePtr elffile, Elf_Word secn, Elf_Rel_t *rel,
 | 
			
		|||
	    break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 	case R_ALPHA_SREL32:
 | 
			
		||||
 	    {
 | 
			
		||||
 		dest32 = (unsigned int *)(secp + rel->r_offset);
 | 
			
		||||
 		symval += rel->r_addend;
 | 
			
		||||
 		symval -= (unsigned long) dest32;
 | 
			
		||||
 		if ((long)symval >= 0x80000000
 | 
			
		||||
 		    || (long)symval < -(long)0x80000000)
 | 
			
		||||
 		    FatalError("R_ALPHA_SREL32 overflow for %s: %lx\n",
 | 
			
		||||
 			       ElfGetSymbolName(elffile, ELF_R_SYM(rel->r_info)),
 | 
			
		||||
 			       symval);
 | 
			
		||||
 		*dest32 = symval;
 | 
			
		||||
 		break;
 | 
			
		||||
 	    }
 | 
			
		||||
 
 | 
			
		||||
#endif /* alpha */
 | 
			
		||||
#if defined(__mc68000__)
 | 
			
		||||
    case R_68K_32:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue