From f2fec8644535ac3a140f3968bc48aca9afc029b0 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Mon, 14 May 2007 17:19:48 +0000 Subject: [PATCH] * dwarf2-frame.c (read_encoded_value): Correct typo. Use DW_EH_PE_signed if appropriate. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2-frame.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8bfd0f8..55c0da8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-05-14 Daniel Jacobowitz + + * dwarf2-frame.c (read_encoded_value): Correct typo. Use + DW_EH_PE_signed if appropriate. + 2007-05-14 Paul Brook Daniel Jacobowitz diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index 1e1d395..6af1421 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -1451,7 +1451,7 @@ read_encoded_value (struct comp_unit *unit, gdb_byte encoding, base = 0; break; case DW_EH_PE_pcrel: - base = bfd_get_section_vma (unit->bfd, unit->dwarf_frame_section); + base = bfd_get_section_vma (unit->abfd, unit->dwarf_frame_section); base += (buf - unit->dwarf_frame_buffer); break; case DW_EH_PE_datarel: @@ -1482,7 +1482,11 @@ read_encoded_value (struct comp_unit *unit, gdb_byte encoding, } if ((encoding & 0x07) == 0x00) - encoding |= encoding_for_size (ptr_len); + { + encoding |= encoding_for_size (ptr_len); + if (bfd_get_sign_extend_vma (unit->abfd)) + encoding |= DW_EH_PE_signed; + } switch (encoding & 0x0f) { -- 2.7.4