This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA]dwarf reader: Avoid complaint on const type


  GDB CVS compiled for Linux arm gave several dwarf complaints 
when debugging itself that I tried to fix.

  Here is a first fix:
It seem that some symbol directly come as
DW_TAG_const_type, I believe it was due to
typedef const struct reloc_howto_struct reloc_howto_type;
from bfd-in.h (or bfd-in2.h), but I did not recheck this
carefully.

  The patch below fixes that complaint.

  Tested on compiler farm machine gcc16, no regression found.

  Is this correct?
Maybe there are other position where DW_TAG_const_type
and DW_TAG_volatile_type should be added...

Pierre Muller
Pascal language support maintainer for GDB


2010-05-21  Pierre Muller  <muller@ics.u-strasbg.fr>

	* dwarf2read.c (process_die): Also allow DW_TAG_const_type
	and DW_TAG_volatile_type.
	(new_symbol): Likewise.

Index: src/gdb/dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.386
diff -u -p -r1.386 dwarf2read.c
--- src/gdb/dwarf2read.c	17 May 2010 15:55:01 -0000	1.386
+++ src/gdb/dwarf2read.c	21 May 2010 14:40:59 -0000
@@ -3194,6 +3194,8 @@ process_die (struct die_info *die, struc
     case DW_TAG_base_type:
     case DW_TAG_subrange_type:
     case DW_TAG_typedef:
+    case DW_TAG_const_type:
+    case DW_TAG_volatile_type:
       /* Add a typedef symbol for the type definition, if it has a
          DW_AT_name.  */
       new_symbol (die, read_type_die (die, cu), cu);
@@ -8742,6 +8744,8 @@ new_symbol (struct die_info *die, struct
 	  break;
 	case DW_TAG_base_type:
         case DW_TAG_subrange_type:
+        case DW_TAG_const_type:
+        case DW_TAG_volatile_type:
 	  SYMBOL_CLASS (sym) = LOC_TYPEDEF;
 	  SYMBOL_DOMAIN (sym) = VAR_DOMAIN;
 	  add_symbol_to_list (sym, cu->list_in_scope);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]