mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 18:39:34 +08:00
Fix signedness of def_cfa_sf and def_cfa_offset_sf
* dwarf.c (display_debug_frames): Both DW_CFA_def_cfa_sf and DW_CFA_def_cfa_offset_sf have a signed offset.
This commit is contained in:

committed by
Nick Clifton

parent
d8b04da736
commit
280c57ff58
@ -1,3 +1,8 @@
|
|||||||
|
2021-06-30 Richard Henderson <richard.henderson@linaro.org>
|
||||||
|
|
||||||
|
* dwarf.c (display_debug_frames): Both DW_CFA_def_cfa_sf
|
||||||
|
and DW_CFA_def_cfa_offset_sf have a signed offset.
|
||||||
|
|
||||||
2021-06-19 Alan Modra <amodra@gmail.com>
|
2021-06-19 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* dwarf.c (display_debug_lines_decoded): Use memcpy rather than
|
* dwarf.c (display_debug_lines_decoded): Use memcpy rather than
|
||||||
|
@ -9432,19 +9432,21 @@ display_debug_frames (struct dwarf_section *section,
|
|||||||
|
|
||||||
case DW_CFA_def_cfa_sf:
|
case DW_CFA_def_cfa_sf:
|
||||||
READ_ULEB (fc->cfa_reg, start, block_end);
|
READ_ULEB (fc->cfa_reg, start, block_end);
|
||||||
READ_ULEB (fc->cfa_offset, start, block_end);
|
READ_SLEB (l, start, block_end);
|
||||||
fc->cfa_offset = fc->cfa_offset * fc->data_factor;
|
l *= fc->data_factor;
|
||||||
|
fc->cfa_offset = l;
|
||||||
fc->cfa_exp = 0;
|
fc->cfa_exp = 0;
|
||||||
if (! do_debug_frames_interp)
|
if (! do_debug_frames_interp)
|
||||||
printf (" DW_CFA_def_cfa_sf: %s ofs %d\n",
|
printf (" DW_CFA_def_cfa_sf: %s ofs %ld\n",
|
||||||
regname (fc->cfa_reg, 0), (int) fc->cfa_offset);
|
regname (fc->cfa_reg, 0), (long) l);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DW_CFA_def_cfa_offset_sf:
|
case DW_CFA_def_cfa_offset_sf:
|
||||||
READ_ULEB (fc->cfa_offset, start, block_end);
|
READ_SLEB (l, start, block_end);
|
||||||
fc->cfa_offset *= fc->data_factor;
|
l *= fc->data_factor;
|
||||||
|
fc->cfa_offset = l;
|
||||||
if (! do_debug_frames_interp)
|
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;
|
break;
|
||||||
|
|
||||||
case DW_CFA_MIPS_advance_loc8:
|
case DW_CFA_MIPS_advance_loc8:
|
||||||
|
Reference in New Issue
Block a user