diff options
author | Mark Kettenis <kettenis@gnu.org> | 2004-05-01 10:55:19 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2004-05-01 10:55:19 +0000 |
commit | 03ac2a74f949f0ff3796e2d0a083ac6d88e16c20 (patch) | |
tree | 3a6932d3fa8564f63aba6aeaacc20e3cd04d5b44 /gdb | |
parent | 50ea776902f39c4966e4f88f14ee11da80d0cfef (diff) | |
download | gdb-03ac2a74f949f0ff3796e2d0a083ac6d88e16c20.zip gdb-03ac2a74f949f0ff3796e2d0a083ac6d88e16c20.tar.gz gdb-03ac2a74f949f0ff3796e2d0a083ac6d88e16c20.tar.bz2 |
* dwarf2-frame.c (read_encoded_value): Handle DW_EH_PE_funcrel
encondings. Fixes PR gdb/1628.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 3 | ||||
-rw-r--r-- | gdb/dwarf2-frame.c | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 937b6f3..dafa5bd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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. diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index fafc8fc..fccb94d 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -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; |