diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2015-12-21 13:40:05 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2015-12-21 14:01:25 +0530 |
commit | 6d0d506012c93d3393b8d3d0cac62e46e541c5b6 (patch) | |
tree | 2731ac132e4506d3cd63e80554ded66038ceba6e /arch/arc/kernel/unwind.c | |
parent | 2d64affc92d6281d2eca4faad326b981773bf040 (diff) | |
download | linux-6d0d506012c93d3393b8d3d0cac62e46e541c5b6.tar.bz2 |
ARC: dw2 unwind: Don't bail for CIE.version != 1
The rudimentary CIE.version == 3 handling is already present in code
(for return address register specification)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/unwind.c')
-rw-r--r-- | arch/arc/kernel/unwind.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c index 9f9ecc15556e..f34599abe182 100644 --- a/arch/arc/kernel/unwind.c +++ b/arch/arc/kernel/unwind.c @@ -600,9 +600,6 @@ static signed fde_pointer_type(const u32 *cie) const u8 *ptr = (const u8 *)(cie + 2); unsigned version = *ptr; - if (version != 1) - return -1; /* unsupported */ - if (*++ptr) { const char *aug; const u8 *end = (const u8 *)(cie + 1) + *cie; @@ -1014,9 +1011,7 @@ int arc_unwind(struct unwind_frame_info *frame) ptr = (const u8 *)(cie + 2); end = (const u8 *)(cie + 1) + *cie; frame->call_frame = 1; - if ((state.version = *ptr) != 1) - cie = NULL; /* unsupported version */ - else if (*++ptr) { + if (*++ptr) { /* check if augmentation size is first (thus present) */ if (*ptr == 'z') { while (++ptr < end && *ptr) { |