aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/sh/kernel/dwarf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c
index 606ece37eb4..e6f427cff5b 100644
--- a/arch/sh/kernel/dwarf.c
+++ b/arch/sh/kernel/dwarf.c
@@ -751,7 +751,8 @@ static int dwarf_parse_cie(void *entry, void *p, unsigned long len,
}
static int dwarf_parse_fde(void *entry, u32 entry_type,
- void *start, unsigned long len)
+ void *start, unsigned long len,
+ unsigned char *end)
{
struct dwarf_fde *fde;
struct dwarf_cie *cie;
@@ -798,7 +799,7 @@ static int dwarf_parse_fde(void *entry, u32 entry_type,
/* Call frame instructions. */
fde->instructions = p;
- fde->end = start + len;
+ fde->end = end;
/* Add to list. */
spin_lock_irqsave(&dwarf_fde_lock, flags);
@@ -932,7 +933,7 @@ static int __init dwarf_unwinder_init(void)
else
c_entries++;
} else {
- err = dwarf_parse_fde(entry, entry_type, p, len);
+ err = dwarf_parse_fde(entry, entry_type, p, len, end);
if (err < 0)
goto out;
else