]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/binutils-tumbl.git/commitdiff
* dwarf.c (read_and_display_attr_value): Handle
authorJakub Jelinek <jakub@redhat.com>
Fri, 8 Jun 2012 19:07:33 +0000 (19:07 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 8 Jun 2012 19:07:33 +0000 (19:07 +0000)
DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt.
(display_debug_macro): Handle DW_MACRO_GNU_define_indirect_alt,
DW_MACRO_GNU_undef_indirect_alt and
DW_MACRO_GNU_transparent_include_alt.

binutils/ChangeLog
binutils/dwarf.c

index 14d720f284235903b00cda76a8d56535fc9b7e98..32ca87c54daf8d81c48b32e73c9614c11551a7a0 100644 (file)
@@ -1,3 +1,11 @@
+2012-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf.c (read_and_display_attr_value): Handle
+       DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt.
+       (display_debug_macro): Handle DW_MACRO_GNU_define_indirect_alt,
+       DW_MACRO_GNU_undef_indirect_alt and
+       DW_MACRO_GNU_transparent_include_alt.
+
 2012-06-01  Alan Modra  <amodra@gmail.com>
 
        * addr2line.c (translate_addresses): Truncate input addresses to
index 072a1a7506209f692dc0a3d51ea1484103fd5cdb..2eb9ec829820fb418957fea7d48cc9cdc4955586 100644 (file)
@@ -1284,6 +1284,8 @@ read_and_display_attr_value (unsigned long attribute,
 
     case DW_FORM_strp:
     case DW_FORM_sec_offset:
+    case DW_FORM_GNU_ref_alt:
+    case DW_FORM_GNU_strp_alt:
       uvalue = byte_get (data, offset_size);
       data += offset_size;
       break;
@@ -1349,6 +1351,11 @@ read_and_display_attr_value (unsigned long attribute,
        printf (" <0x%s>", dwarf_vmatoa ("x",uvalue));
       break;
 
+    case DW_FORM_GNU_ref_alt:
+      if (!do_loc)
+       printf (" <alt 0x%s>", dwarf_vmatoa ("x",uvalue));
+      break;
+
     case DW_FORM_ref1:
     case DW_FORM_ref2:
     case DW_FORM_ref4:
@@ -1458,6 +1465,12 @@ read_and_display_attr_value (unsigned long attribute,
         }
       break;
 
+    case DW_FORM_GNU_strp_alt:
+      if (!do_loc)
+       printf (_(" (alt indirect string, offset: 0x%s)"),
+               dwarf_vmatoa ("x", uvalue));
+      break;
+
     case DW_FORM_indirect:
       /* Handled above.  */
       break;
@@ -1796,7 +1809,8 @@ read_and_display_attr_value (unsigned long attribute,
 
     case DW_AT_import:
       {
-        if (form == DW_FORM_ref_sig8)
+       if (form == DW_FORM_ref_sig8
+           || form == DW_FORM_GNU_ref_alt)
           break;
 
        if (form == DW_FORM_ref1
@@ -3629,6 +3643,31 @@ display_debug_macro (struct dwarf_section *section,
                      (unsigned long) offset);
              break;
 
+           case DW_MACRO_GNU_define_indirect_alt:
+             lineno = read_leb128 (curr, &bytes_read, 0);
+             curr += bytes_read;
+             offset = byte_get (curr, offset_size);
+             curr += offset_size;
+             printf (_(" DW_MACRO_GNU_define_indirect_alt - lineno : %d macro offset : 0x%lx\n"),
+                     lineno, (unsigned long) offset);
+             break;
+
+           case DW_MACRO_GNU_undef_indirect_alt:
+             lineno = read_leb128 (curr, &bytes_read, 0);
+             curr += bytes_read;
+             offset = byte_get (curr, offset_size);
+             curr += offset_size;
+             printf (_(" DW_MACRO_GNU_undef_indirect_alt - lineno : %d macro offset : 0x%lx\n"),
+                     lineno, (unsigned long) offset);
+             break;
+
+           case DW_MACRO_GNU_transparent_include_alt:
+             offset = byte_get (curr, offset_size);
+             curr += offset_size;
+             printf (_(" DW_MACRO_GNU_transparent_include_alt - offset : 0x%lx\n"),
+                     (unsigned long) offset);
+             break;
+
            default:
              if (extended_ops == NULL || extended_ops[op] == NULL)
                {