summaryrefslogtreecommitdiff
path: root/gdb/dwarf2-frame.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-05-01 10:55:19 +0000
committerMark Kettenis <kettenis@gnu.org>2004-05-01 10:55:19 +0000
commit03ac2a74f949f0ff3796e2d0a083ac6d88e16c20 (patch)
tree3a6932d3fa8564f63aba6aeaacc20e3cd04d5b44 /gdb/dwarf2-frame.c
parent50ea776902f39c4966e4f88f14ee11da80d0cfef (diff)
downloadbinutils-gdb-03ac2a74f949f0ff3796e2d0a083ac6d88e16c20.tar.gz
* dwarf2-frame.c (read_encoded_value): Handle DW_EH_PE_funcrel
encondings. Fixes PR gdb/1628.
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r--gdb/dwarf2-frame.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index fafc8fc6574..fccb94d3e33 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;