* dwarf.c (read_and_display_attr_value): Don't look up tag from
[deliverable/binutils-gdb.git] / binutils / dwarf.c
index 856a851a4379f6ca0e1b285c251ddb7cbe58675a..5361396b8efb87f451d230aadec838e38f0355c2 100644 (file)
@@ -1716,11 +1716,17 @@ read_and_display_attr_value (unsigned long attribute,
            abbrev_number = read_leb128 (section->start + uvalue, NULL, 0);
 
            printf (_("[Abbrev Number: %ld"), abbrev_number);
-           for (entry = first_abbrev; entry != NULL; entry = entry->next)
-             if (entry->entry == abbrev_number)
-               break;
-           if (entry != NULL)
-             printf (" (%s)", get_TAG_name (entry->tag));
+           /* Don't look up abbrev for DW_FORM_ref_addr, as it very often will
+              use different abbrev table, and we don't track .debug_info chunks
+              yet.  */
+           if (form != DW_FORM_ref_addr)
+             {
+               for (entry = first_abbrev; entry != NULL; entry = entry->next)
+                 if (entry->entry == abbrev_number)
+                   break;
+               if (entry != NULL)
+                 printf (" (%s)", get_TAG_name (entry->tag));
+             }
            printf ("]");
          }
       }
This page took 0.025632 seconds and 4 git commands to generate.