diff options
author | Gary King <gking@nvidia.com> | 2009-12-22 17:28:19 -0800 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2009-12-22 17:45:55 -0800 |
commit | 5e7598e29f877bc837fbc458f1a989ea7f4767a9 (patch) | |
tree | 9e202b05777a53d7816fec7e96ea327273053b12 /arch/arm/kernel/module.c | |
parent | 3ac40349c04de4fa645cfc2f1054ed2e7cdf254c (diff) |
ARM: fix kernel module relocation
a break was accidentally deleted for R_ARM_MOVT_ABS and
R_ARM_MOVW_ABS_NC case statements, during the tree merge,
causing the relocation for these sections to be wrong
Change-Id: I95740d10ecba881376110037b4f88404bacbd4ab
Diffstat (limited to 'arch/arm/kernel/module.c')
-rw-r--r-- | arch/arm/kernel/module.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 1593a0c7c82e..0a4dbecac883 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c @@ -169,6 +169,8 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, *(u32 *)loc &= 0xfff0f000; *(u32 *)loc |= ((offset & 0xf000) << 4) | (offset & 0x0fff); + break; + case R_ARM_PREL31: offset = *(u32 *)loc + sym->st_value - loc; *(u32 *)loc = offset & 0x7fffffff; |