|
@@ -660,6 +660,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
|
|
}
|
|
}
|
|
*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
|
|
*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
|
|
break;
|
|
break;
|
|
|
|
+ case R_PARISC_PCREL32:
|
|
|
|
+ /* 32-bit PC relative address */
|
|
|
|
+ *loc = val - dot - 8 + addend;
|
|
|
|
+ break;
|
|
|
|
|
|
default:
|
|
default:
|
|
printk(KERN_ERR "module %s: Unknown relocation: %u\n",
|
|
printk(KERN_ERR "module %s: Unknown relocation: %u\n",
|
|
@@ -788,6 +792,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
|
|
CHECK_RELOC(val, 22);
|
|
CHECK_RELOC(val, 22);
|
|
*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
|
|
*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
|
|
break;
|
|
break;
|
|
|
|
+ case R_PARISC_PCREL32:
|
|
|
|
+ /* 32-bit PC relative address */
|
|
|
|
+ *loc = val - dot - 8 + addend;
|
|
|
|
+ break;
|
|
case R_PARISC_DIR64:
|
|
case R_PARISC_DIR64:
|
|
/* 64-bit effective address */
|
|
/* 64-bit effective address */
|
|
*loc64 = val + addend;
|
|
*loc64 = val + addend;
|