aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-01-19 15:41:50 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-01-19 15:41:50 +0900
commit88ea1a445a84fcfbedb810c01e84d6711352bd82 (patch)
tree0af28645ead1e1cf8b40e9d1cdef7d6670d855b0 /arch
parent3ef2932b8c1fc89408ef1fd4b1e1c2caabc7f07d (diff)
sh64: Fix up PC casting in unaligned fixup notifier with 32bit ABI.
Presently the build bails with the following: CC arch/sh/mm/alignment.o cc1: warnings being treated as errors arch/sh/mm/alignment.c: In function 'unaligned_fixups_notify': arch/sh/mm/alignment.c:69: warning: cast to pointer from integer of different size arch/sh/mm/alignment.c:74: warning: cast to pointer from integer of different size make[2]: *** [arch/sh/mm/alignment.o] Error 1 This is due to the fact that regs->pc is always 64-bit, while the pointer size depends on the ABI. Wrapping through instruction_pointer() takes care of the appropriate casting for both configurations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/mm/alignment.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/mm/alignment.c b/arch/sh/mm/alignment.c
index e615151eac3..2da808802a4 100644
--- a/arch/sh/mm/alignment.c
+++ b/arch/sh/mm/alignment.c
@@ -69,12 +69,12 @@ void unaligned_fixups_notify(struct task_struct *tsk, insn_size_t insn,
pr_notice("Fixing up unaligned userspace access "
"in \"%s\" pid=%d pc=0x%p ins=0x%04hx\n",
tsk->comm, task_pid_nr(tsk),
- (void *)regs->pc, insn);
+ (void *)instruction_pointer(regs), insn);
else if (se_kernmode_warn && printk_ratelimit())
pr_notice("Fixing up unaligned kernel access "
"in \"%s\" pid=%d pc=0x%p ins=0x%04hx\n",
tsk->comm, task_pid_nr(tsk),
- (void *)regs->pc, insn);
+ (void *)instruction_pointer(regs), insn);
}
static const char *se_usermode_action[] = {