From: Paul Mundt Date: Sat, 9 May 2009 09:03:37 +0000 (+0900) Subject: sh: Fix up SHmedia module ELF relocations. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=7cd0378ef4c0d7b05e7dcb1daa115b841ffdc31a;p=deliverable%2Flinux.git sh: Fix up SHmedia module ELF relocations. This fixes up the LSB setting for SHmedia branching in updated symbols when processing module relocations. Signed-off-by: Paul Mundt --- diff --git a/arch/sh/kernel/module.c b/arch/sh/kernel/module.c index c43081039dd5..c19b0f7d2cc1 100644 --- a/arch/sh/kernel/module.c +++ b/arch/sh/kernel/module.c @@ -90,7 +90,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, * SHmedia, the LSB of the symbol needs to be asserted * for the CPU to be in SHmedia mode when it starts executing * the branch target. */ - relocation |= (sym->st_other & 4); + relocation |= !!(sym->st_other & 4); #endif switch (ELF32_R_TYPE(rel[i].r_info)) {