aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/parisc/kernel/module.c')
-rw-r--r--arch/parisc/kernel/module.c8
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,
660 } 660 }
661 *loc = (*loc & ~0x3ff1ffd) | reassemble_22(val); 661 *loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
662 break; 662 break;
663 case R_PARISC_PCREL32:
664 /* 32-bit PC relative address */
665 *loc = val - dot - 8 + addend;
666 break;
663 667
664 default: 668 default:
665 printk(KERN_ERR "module %s: Unknown relocation: %u\n", 669 printk(KERN_ERR "module %s: Unknown relocation: %u\n",
@@ -788,6 +792,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
788 CHECK_RELOC(val, 22); 792 CHECK_RELOC(val, 22);
789 *loc = (*loc & ~0x3ff1ffd) | reassemble_22(val); 793 *loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
790 break; 794 break;
795 case R_PARISC_PCREL32:
796 /* 32-bit PC relative address */
797 *loc = val - dot - 8 + addend;
798 break;
791 case R_PARISC_DIR64: 799 case R_PARISC_DIR64:
792 /* 64-bit effective address */ 800 /* 64-bit effective address */
793 *loc64 = val + addend; 801 *loc64 = val + addend;