diff options
Diffstat (limited to 'arch/parisc/kernel/module.c')
| -rw-r--r-- | arch/parisc/kernel/module.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c index b9d75d9fa9ac..a0ecdb4abcc8 100644 --- a/arch/parisc/kernel/module.c +++ b/arch/parisc/kernel/module.c @@ -660,6 +660,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,  			}  			*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);  			break; +		case R_PARISC_PCREL32: +			/* 32-bit PC relative address */ +			*loc = val - dot - 8 + addend; +			break;  		default:  			printk(KERN_ERR "module %s: Unknown relocation: %u\n", @@ -788,6 +792,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,  			CHECK_RELOC(val, 22);  			*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);  			break; +		case R_PARISC_PCREL32: +			/* 32-bit PC relative address */ +			*loc = val - dot - 8 + addend; +			break;  		case R_PARISC_DIR64:  			/* 64-bit effective address */  			*loc64 = val + addend;  | 
