Fix signedness of def_cfa_sf and def_cfa_offset_sf
[deliverable/binutils-gdb.git] / binutils / dwarf.c
index a57f0dab6b268c9326a18d9e9997544a4c74eb63..a61f099e3f24b0ff8eb2c0669d67ab7a26434ff0 100644 (file)
@@ -9432,19 +9432,21 @@ display_debug_frames (struct dwarf_section *section,
 
            case DW_CFA_def_cfa_sf:
              READ_ULEB (fc->cfa_reg, start, block_end);
-             READ_ULEB (fc->cfa_offset, start, block_end);
-             fc->cfa_offset = fc->cfa_offset * fc->data_factor;
+             READ_SLEB (l, start, block_end);
+             l *= fc->data_factor;
+             fc->cfa_offset = l;
              fc->cfa_exp = 0;
              if (! do_debug_frames_interp)
-               printf ("  DW_CFA_def_cfa_sf: %s ofs %d\n",
-                       regname (fc->cfa_reg, 0), (int) fc->cfa_offset);
+               printf ("  DW_CFA_def_cfa_sf: %s ofs %ld\n",
+                       regname (fc->cfa_reg, 0), (long) l);
              break;
 
            case DW_CFA_def_cfa_offset_sf:
-             READ_ULEB (fc->cfa_offset, start, block_end);
-             fc->cfa_offset *= fc->data_factor;
+             READ_SLEB (l, start, block_end);
+             l *= fc->data_factor;
+             fc->cfa_offset = l;
              if (! do_debug_frames_interp)
-               printf ("  DW_CFA_def_cfa_offset_sf: %d\n", (int) fc->cfa_offset);
+               printf ("  DW_CFA_def_cfa_offset_sf: %ld\n", (long) l);
              break;
 
            case DW_CFA_MIPS_advance_loc8:
This page took 0.023776 seconds and 4 git commands to generate.