Browse Source

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>
Paul Mundt 16 years ago
parent
commit
bf43a160ff
1 changed files with 2 additions and 1 deletions
  1. 2 1
      arch/sh/kernel/dwarf.c

+ 2 - 1
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 *);
 }