Fix DW_CFA_restore in parsing of debug frames

Before this fix, following frame:

  DW_CFA_advance_loc4: 4 to 00000004
  DW_CFA_def_cfa_offset: 48
  DW_CFA_advance_loc4: 16 to 00000014
  DW_CFA_offset: r31 at cfa-4
  DW_CFA_offset: r30 at cfa-8
  DW_CFA_offset: r17 at cfa-12
  DW_CFA_offset: r16 at cfa-16
  DW_CFA_advance_loc4: 4 to 00000018
  DW_CFA_def_cfa_register: r30
  DW_CFA_advance_loc4: 152 to 000000b0
  DW_CFA_def_cfa_register: r29
  DW_CFA_advance_loc4: 20 to 000000c4
  DW_CFA_restore: r16
  DW_CFA_restore: r17
  DW_CFA_restore: r30
  DW_CFA_restore: r31
  DW_CFA_def_cfa_offset: 0
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop

was decoded as:

    LOC   CFA      r16   r17   r30   ra
 00000000 r29+0    u     u     u     u
 00000004 r29+48   u     u     u     u
 00000014 r29+48   c-16  c-12  c-8   c-4
 00000018 r30+48   c-16  c-12  c-8   c-4
 000000b0 r29+48   c-16  c-12  c-8   c-4
 000000c4 r29+0    c-16  c-12  c-8   c-4

which has an incorrect frame at loc 0xc4, after this
patch it correctly decodes to:

    LOC   CFA      r16   r17   r30   ra
 00000000 r29+0    u     u     u     u
 00000004 r29+48   u     u     u     u
 00000014 r29+48   c-16  c-12  c-8   c-4
 00000018 r30+48   c-16  c-12  c-8   c-4
 000000b0 r29+48   c-16  c-12  c-8   c-4
 000000c4 r29+0    u     u     u     u

This was due to the last line variable getting altered.