summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/dwarf.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-13 20:06:13 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-08-13 20:06:13 +0200
commitbf43a160ff2d67a21b076286bab6f5e2c993bd0a (patch)
treefbfd62c12ab7e4c72804ac271548e950b268562c /arch/sh/kernel/dwarf.c
parentsh: unwinder: Fix up usage of unaligned accessors. (diff)
downloadlinux-bf43a160ff2d67a21b076286bab6f5e2c993bd0a.tar.xz
linux-bf43a160ff2d67a21b076286bab6f5e2c993bd0a.zip
sh: unwinder: Restore put_unaligned() for an unaligned destination.
The destination address might be unaligned, so set it with put_unaligned() for safety. This restores the previous behaviour, albeit through the proper API. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/dwarf.c')
-rw-r--r--arch/sh/kernel/dwarf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c
index d1d8536e5ba3..49d039f19426 100644
--- a/arch/sh/kernel/dwarf.c
+++ b/arch/sh/kernel/dwarf.c
@@ -89,7 +89,8 @@ static void dwarf_frame_alloc_regs(struct dwarf_frame *frame,
*/
static inline int dwarf_read_addr(unsigned long *src, unsigned long *dst)
{
- *dst = get_unaligned(src);
+ u32 val = get_unaligned(src);
+ put_unaligned(val, dst);
return sizeof(unsigned long *);
}