]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* dwarf2-frame.c (read_encoded_value): Handle DW_EH_PE_funcrel
authorMark Kettenis <kettenis@gnu.org>
Sat, 1 May 2004 11:22:54 +0000 (11:22 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sat, 1 May 2004 11:22:54 +0000 (11:22 +0000)
encondings.  Fixes PR gdb/1628.

gdb/ChangeLog
gdb/dwarf2-frame.c

index 94575564b56f77887bb8c57a577d1937a8d27cfd..633ab5d838a4c9b1c4b48876058a27c3da402b59 100644 (file)
@@ -1,3 +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.
+
 2004-04-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
            Andrew Cagney  <cagney@redhat.com>
 
index 8c6241984532335a7948993a2384e51c5893ccd2..51a631dcac93130c461eeca91dc52ca3b04370d4 100644 (file)
@@ -1098,6 +1098,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;