* infrun.c: Fixed typo in comment.

* utils.c:  All the v*fprintf emulation is now in libiberty,
	so we can get rid of some junk.
	* xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco,
	xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more.
	* m68k-pinsn.c (print_insn_arg):  Support BB/BW/BL
	type operands, as used by branch instructions.
	* gmalloc.c: Fix prototype of memcpy.
	* elfread.c: Comment out register_addr, since it conflicts
	with the one in coredep.c.
	* buildsym.h:  Remove extern declarations of two functions
	that are really static in buildsym.c.
	* tm-mips.h: Add symbolic names for more registers.
	* mips-xdep.c (store_inferior_registers): Use new register names.
	* xm-mips.h: Simplify REGISTER_U_ADDR, since it is now
	only used for core files, not ptrace.  Therefore,
	the KERNEL_U_ADDR hack is no longer needed.
	The mapping to ptrace number is now in in mips-xdep.c.
	* mips-xdep.c:  Define REGISTER_PTRACE_ADDR (using the
	mapping from the old REGISTER_U_ADDR), and use it
	in {fetch,store}_inferior_registers.
	* mipsread.c: Rename #include ecoff.h to new name coff-mips.h.
	* mips-tdep.c (mips_push_dummy_frame, mips_pop_frame):
	Save/restore FP regs correctly (?).
	* dbxread.c: Remove duplicate define_symbol and type_synonym_name
	(these had been previously moved to buildsym.c).
	Hence, define_symbol becomes extern instead of static.
	* buildsym.c (read_struct_type):  Comment out bogus handling
	of C++ operator methods.  Minor hacking of reading of class
	contexts. Make define_symbol non-static, so dbxread.c can call it.
This commit is contained in:
Per Bothner
1991-11-04 23:15:31 +00:00
parent 6a8687f3c7
commit abefb1f107
13 changed files with 91 additions and 284 deletions

View File

@@ -51,7 +51,7 @@ extern int hashname ();
extern void patch_block_stabs (); /* AIX xcoffread.c */
#define patch_block_stabs abort /* FIXME scaffolding */
static struct symbol *define_symbol ();
static void cleanup_undefined_types ();
static void fix_common_block ();
@@ -826,7 +826,7 @@ read_type_number (pp, typenums)
static char *type_synonym_name;
/* ARGSUSED */
static struct symbol *
struct symbol *
define_symbol (valu, string, desc, type)
unsigned int valu;
char *string;
@@ -1841,14 +1841,13 @@ read_struct_type (pp, type)
}
*pp = p + 1;
context = read_type (pp);
if (type_name_no_tag (context) == 0)
name = type_name_no_tag (context);
if (name == 0)
{
if (name == 0)
error ("type name unknown at symtab pos %d.", symnum);
/* FIXME-tiemann: when is `name' ever non-0? */
TYPE_NAME (context) = obsavestring (name, p - name - 1);
error ("type name unknown at symtab pos %d.", symnum);
TYPE_NAME (context) = name;
}
list->field.name = obconcat (prefix, type_name_no_tag (context), "");
list->field.name = obconcat (prefix, name, "");
p = ++(*pp);
if (p[-1] != ':')
error ("invalid abbreviation at symtab pos %d.", symnum);
@@ -2034,29 +2033,32 @@ read_struct_type (pp, type)
/* read in the name. */
while (*p != ':') p++;
#if 0
if ((*pp)[0] == 'o' && (*pp)[1] == 'p' && (*pp)[2] == CPLUS_MARKER)
{
/* This lets the user type "break operator+".
We could just put in "+" as the name, but that wouldn't
work for "*". */
/* I don't understand what this is trying to do.
It seems completely bogus. -Per Bothner. */
static char opname[32] = {'o', 'p', CPLUS_MARKER};
char *o = opname + 3;
/* Skip past '::'. */
p += 2;
*pp = p + 2;
if (**pp == '\\') *pp = next_symbol_text ();
p = *pp;
while (*p != '.')
*o++ = *p++;
main_fn_name = savestring (opname, o - opname);
main_fn_name = savestring (opname, o - opname);
/* Skip past '.' */
*pp = p + 1;
}
else
{
i = 0;
#endif
main_fn_name = savestring (*pp, p - *pp);
/* Skip past '::'. */
*pp = p + 2;
}
/* Skip past '::'. */
*pp = p + 2;
new_mainlist->fn_fieldlist.name = main_fn_name;
do