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

Elena Zannoni
2002-07-18T17:24:31Z

I committed this (with OBSOLETE added to each line as well).

Elena

Elena Zannoni writes:
> 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)
> \f
> +#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() */