From e195730061191cefb019a552718b30d85bbe7ff3 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Wed, 14 Dec 2005 22:04:22 +0000 Subject: [PATCH] --- yaml --- r: 15130 b: refs/heads/master c: c2e2611425a956d25d2948c5d95d3848c4db1257 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/module.c | 2 ++ trunk/include/asm-arm/elf.h | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index cff91898f8a7..735fa37a20d9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1ee9530a71686436dbeb5f31dd5b925c39cf71d7 +refs/heads/master: c2e2611425a956d25d2948c5d95d3848c4db1257 diff --git a/trunk/arch/arm/kernel/module.c b/trunk/arch/arm/kernel/module.c index 6055e1427ba3..055bf5d28894 100644 --- a/trunk/arch/arm/kernel/module.c +++ b/trunk/arch/arm/kernel/module.c @@ -101,6 +101,8 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, break; case R_ARM_PC24: + case R_ARM_CALL: + case R_ARM_JUMP24: offset = (*(u32 *)loc & 0x00ffffff) << 2; if (offset & 0x02000000) offset -= 0x04000000; diff --git a/trunk/include/asm-arm/elf.h b/trunk/include/asm-arm/elf.h index 7da97a937548..2d44b42d1847 100644 --- a/trunk/include/asm-arm/elf.h +++ b/trunk/include/asm-arm/elf.h @@ -22,6 +22,8 @@ typedef unsigned long elf_freg_t[3]; #define R_ARM_NONE 0 #define R_ARM_PC24 1 #define R_ARM_ABS32 2 +#define R_ARM_CALL 28 +#define R_ARM_JUMP24 29 #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) typedef elf_greg_t elf_gregset_t[ELF_NGREG];