ARC: dw2 unwind: Don't bail for CIE.version != 1
authorVineet Gupta <vgupta@synopsys.com>
Mon, 21 Dec 2015 08:10:05 +0000 (13:40 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 21 Dec 2015 08:31:25 +0000 (14:01 +0530)
The rudimentary CIE.version == 3 handling is already present in code
(for return address register specification)

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/unwind.c

index 9f9ecc15556e5afb1b706f80c854b9d2d78d8892..f34599abe18265e375995354985b88558f4dc1cf 100644 (file)
@@ -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) {