This is the mail archive of the gdb-patches@sources.redhat.com 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]

Re: [patch/rfc] Obsolete i[3456]86-*-os9k target


Andrew Cagney writes:
 > >  > I started changing:
 > >  > 
 > >  > 	if (os8k_stabs)
 > >  > 	  <then>
 > >  > 	else
 > >  > 	  <else>
 > >  > 
 > >  > into:
 > >  > 
 > >  > 	/* OBSOLETE if (os8k_stabs) */
 > >  > 	/* OBSOLETE  <then> */
 > >  > 	/* OBSOLETE else */
 > >  > 	<else>
 > >  > 
 > >  > but gave up.  Some of those if() clauses got pretty weired.  Not sure 
 > >  > what the reader maintainers want to do.
 > > 
 > > I'll try to come up a patch that to 'if 0' those bits. I think that
 > > the indentation and extra curly braces can be fixed later, once we
 > > pull the code out for good. We definitely need to deactivate these parts,
 > > otherwise os9k_stabs would be undefined.
 > 
 > Hmm, another way of disabling it it might be:
 > 
 > 	if (os9k_stabs) /* OBSOLETE */
 > 	...
 > 
 > The reason behind adding the word OBSOLETE is that it makes searching 
 > easier - just grep out any line with OBSOLETE in it.
 > 
 > Andrew
 > 


Well, how about refining on the following patch, I think it should be
pretty easy from this starting point.

Elena

Index: stabsread.c
===================================================================
RCS file: /cvs/uberbaum/gdb/stabsread.c,v
retrieving revision 1.35
diff -u -p -r1.35 stabsread.c
--- stabsread.c	14 Jun 2002 14:34:25 -0000	1.35
+++ stabsread.c	16 Jul 2002 19:28:53 -0000
@@ -256,6 +256,7 @@ static struct symbol *current_symbol = N
       *(pp) = next_symbol_text (objfile);	\
   } while (0)
 
+#if 0 /* OBSOLETE OS9K */
 /* FIXME: These probably should be our own types (like rs6000_builtin_type
    has its own types) rather than builtin_type_*.  */
 static struct type **os9k_type_vector[] =
@@ -284,6 +285,7 @@ os9k_init_type_vector (struct type **tv)
   for (i = 0; i < sizeof (os9k_type_vector) / sizeof (struct type **); i++)
     tv[i] = (os9k_type_vector[i] == 0 ? 0 : *(os9k_type_vector[i]));
 }
+#endif /* OBSOLETE OS9K */
 
 /* Look up a dbx type-number pair.  Return the address of the slot
    where the type for that number-pair is stored.
@@ -351,9 +353,11 @@ Invalid symbol data: type number (%d,%d)
 	  memset (&type_vector[old_len], 0,
 		  (type_vector_length - old_len) * sizeof (struct type *));
 
+#if 0 /* OBSOLETE OS9K */
 	  if (os9k_stabs)
 	    /* Deal with OS9000 fundamental types.  */
 	    os9k_init_type_vector (type_vector);
+#endif /* OBSOLETE OS9K */
 	}
       return (&type_vector[index]);
     }
@@ -2052,9 +2056,11 @@ define_symbol (CORE_ADDR valu, char *str
 	}
 #endif
       SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
+#if 0 /* OBSOLETE OS9K */
       if (os9k_stabs)
 	add_symbol_to_list (sym, &global_symbols);
       else
+#endif /* OBSOLETE OS9K */
 	add_symbol_to_list (sym, &local_symbols);
       break;
 
@@ -2589,6 +2595,7 @@ again:
       break;
 
     case 'f':			/* Function returning another type */
+#if 0 /* OBSOLETE OS9K */
       if (os9k_stabs && **pp == '(')
 	{
 	  /* Function prototype; parse it.
@@ -2604,6 +2611,8 @@ again:
 		++ * pp;
 	    }
 	}
+#endif /* OBSOLETE OS9K */
+
       type1 = read_type (pp, objfile);
       type = make_function_type (type1, dbx_lookup_type (typenums));
       break;
@@ -2684,22 +2693,36 @@ again:
       }
 
     case 'k':			/* Const qualifier on some type (Sun) */
+#if 0 /* OBSOLETE OS9K */
+      /* ezannoni 2002-07-16: This can be safely deleted, because 'c'
+	 means complex type in AIX stabs, while it means const qualifier
+	 in os9k stabs.  Obviously we were supporting only the os9k meaning.
+	 We were erroring out if we were reading AIX stabs.  Right now the
+	 erroring out will happen in the default clause of the switch.  */
     case 'c':			/* Const qualifier on some type (OS9000) */
       /* Because 'c' means other things to AIX and 'k' is perfectly good,
          only accept 'c' in the os9k_stabs case.  */
       if (type_descriptor == 'c' && !os9k_stabs)
 	return error_type (pp, objfile);
+#endif /* OBSOLETE OS9K */
       type = read_type (pp, objfile);
       type = make_cv_type (1, TYPE_VOLATILE (type), type,
 			   dbx_lookup_type (typenums));
       break;
 
     case 'B':			/* Volatile qual on some type (Sun) */
+#if 0 /* OBSOLETE OS9K */
+      /* ezannoni 2002-07-16: This can be safely deleted, because 'i'
+	 means imported type in AIX stabs, while it means volatile qualifier
+	 in os9k stabs.  Obviously we were supporting only the os9k meaning.
+	 We were erroring out if we were reading AIX stabs.  Right now the
+	 erroring out will happen in the default clause of the switch.  */
     case 'i':			/* Volatile qual on some type (OS9000) */
       /* Because 'i' means other things to AIX and 'B' is perfectly good,
          only accept 'i' in the os9k_stabs case.  */
       if (type_descriptor == 'i' && !os9k_stabs)
 	return error_type (pp, objfile);
+#endif /* OBSOLETE OS9K */
       type = read_type (pp, objfile);
       type = make_cv_type (TYPE_CONST (type), 1, type,
 			   dbx_lookup_type (typenums));
@@ -2804,10 +2827,12 @@ again:
       break;
 
     case 'b':
+#if 0 /* OBSOLETE OS9K */
       if (os9k_stabs)
 	/* Const and volatile qualified type.  */
 	type = read_type (pp, objfile);
       else
+#endif /* OBSOLETE OS9K */
 	{
 	  /* Sun ACC builtin int type */
 	  type = read_sun_builtin_type (pp, typenums, objfile);
@@ -3666,8 +3691,10 @@ read_struct_fields (struct field_info *f
 
   while (**pp != ';' && **pp != '\0')
     {
+#if 0 /* OBSOLETE OS9K */
       if (os9k_stabs && **pp == ',')
 	break;
+#endif /* OBSOLETE OS9K */
       STABS_CONTINUE (pp, objfile);
       /* Get space to record the next field's data.  */
       new = (struct nextfield *) xmalloc (sizeof (struct nextfield));
@@ -4329,9 +4356,11 @@ read_array_type (register char **pp, reg
      Fortran adjustable arrays use Adigits or Tdigits for lower or upper;
      for these, produce a type like float[][].  */
 
+#if 0 /* OBSOLETE OS9K */
   if (os9k_stabs)
     index_type = builtin_type_int;
   else
+#endif /* OBSOLETE OS9K */
     {
       index_type = read_type (pp, objfile);
       if (**pp != ';')
@@ -4345,7 +4374,12 @@ read_array_type (register char **pp, reg
       (*pp)++;
       adjustable = 1;
     }
+#if 0 /* OBSOLETE OS9K */
   lower = read_huge_number (pp, os9k_stabs ? ',' : ';', &nbits);
+#else /* OBSOLETE OS9K */
+  lower = read_huge_number (pp, ';', &nbits);
+#endif /* OBSOLETE OS9K */
+
   if (nbits != 0)
     return error_type (pp, objfile);
 
@@ -4405,6 +4439,7 @@ read_enum_type (register char **pp, regi
   osyms = *symlist;
   o_nsyms = osyms ? osyms->nsyms : 0;
 
+#if 0 /* OBSOLETE OS9K */
   if (os9k_stabs)
     {
       /* Size.  Perhaps this does not have to be conditionalized on
@@ -4414,6 +4449,7 @@ read_enum_type (register char **pp, regi
       if (nbits != 0)
 	return error_type (pp, objfile);
     }
+#endif /* OBSOLETE OS9K */
 
   /* The aix4 compiler emits an extra field before the enum members;
      my guess is it's a type of some sort.  Just ignore it.  */
@@ -4652,9 +4688,11 @@ read_huge_number (char **pp, int end, in
       p++;
     }
 
+#if 0 /* OBSOLETE OS9K */
   if (os9k_stabs)
     upper_limit = ULONG_MAX / radix;
   else
+#endif /* OBSOLETE OS9K */
     upper_limit = LONG_MAX / radix;
 
   while ((c = *p++) >= '0' && c < ('0' + radix))
@@ -5366,7 +5404,9 @@ start_stabs (void)
   /* FIXME: If common_block_name is not already NULL, we should complain().  */
   common_block_name = NULL;
 
+#if 0 /* OBSOLETE OS9K */
   os9k_stabs = 0;
+#endif /* OBSOLETE OS9K */
 }
 
 /* Call after end_symtab() */


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