* dwarf2-frame.c (read_encoded_value): Handle DW_EH_PE_funcrel

encondings.  Fixes PR gdb/1628.
This commit is contained in:
Mark Kettenis 2004-05-01 10:55:19 +00:00
parent 50ea776902
commit 03ac2a74f9
2 changed files with 11 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2004-05-01 Mark Kettenis <kettenis@gnu.org>
* dwarf2-frame.c (read_encoded_value): Handle DW_EH_PE_funcrel
encondings. Fixes PR gdb/1628.
* dwarf2-frame.c (execute_cfa_program): Complain if we encounter a
DW_CFA_restore state without a matching DW_CFA_remember_state
instead of aborting. Fixes PR backtrace/1589.

View File

@ -1088,6 +1088,14 @@ read_encoded_value (struct comp_unit *unit, unsigned char encoding,
case DW_EH_PE_textrel:
base = unit->tbase;
break;
case DW_EH_PE_funcrel:
/* FIXME: kettenis/20040501: For now just pretend
DW_EH_PE_funcrel is equivalent to DW_EH_PE_absptr. For
reading the initial location of an FDE it should be treated
as such, and currently that's the only place where this code
is used. */
base = 0;
break;
case DW_EH_PE_aligned:
base = 0;
offset = buf - unit->dwarf_frame_buffer;