SOURCES: binutils-pr3191.patch (NEW) - properly handle DW_FORM_ref...

pluto pluto at pld-linux.org
Wed Sep 20 11:38:48 CEST 2006


Author: pluto                        Date: Wed Sep 20 09:38:48 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- properly handle DW_FORM_ref_addr.

---- Files affected:
SOURCES:
   binutils-pr3191.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/binutils-pr3191.patch
diff -u /dev/null SOURCES/binutils-pr3191.patch:1.1
--- /dev/null	Wed Sep 20 11:38:48 2006
+++ SOURCES/binutils-pr3191.patch	Wed Sep 20 11:38:43 2006
@@ -0,0 +1,27 @@
+2006-09-19  H.J. Lu  <hongjiu.lu at intel.com>
+
+	PR ld/3191
+	* dwarf2.c (read_attribute_value): Properly handle
+	DW_FORM_ref_addr.
+
+--- bfd/dwarf2.c.ref_addr	2006-05-02 03:01:56.000000000 -0700
++++ bfd/dwarf2.c	2006-09-19 21:26:37.000000000 -0700
+@@ -562,11 +562,16 @@ read_attribute_value (struct attribute *
+   switch (form)
+     {
+     case DW_FORM_addr:
+-      /* FIXME: DWARF3 draft says DW_FORM_ref_addr is offset_size.  */
+-    case DW_FORM_ref_addr:
+       attr->u.val = read_address (unit, info_ptr);
+       info_ptr += unit->addr_size;
+       break;
++    case DW_FORM_ref_addr:
++      if (unit->offset_size == 4)
++	attr->u.val = read_4_bytes (abfd, info_ptr);
++      else
++	attr->u.val = read_8_bytes (abfd, info_ptr);
++      info_ptr += unit->offset_size;
++      break;
+     case DW_FORM_block2:
+       amt = sizeof (struct dwarf_block);
+       blk = bfd_alloc (abfd, amt);
================================================================


More information about the pld-cvs-commit mailing list