* Makefile.in configure configure.in: Remove ENABLE_CLIBS,

ENABLE_OBS, and THREAD_DB_OBS.  These are consolidated into LIBS
	and CONFIG_OBS.
	* configure configure.in:  Clean up test cases around thread support.
start-sanitize-v850
	* configure.tgt (v850-*-*):  Include v850ice.o and v850.lib if
	host is Windows.
end-sanitize-v850
	* c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
	printcmd.c valops.c value.h values.c:  Add bfd_section arg to
	value_at and value_at_lazy.
	* coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
	Add bfd_section arg to prim_record_minimal_symbol_and_info.
	* corefile.c gdbcore.h printcmd.c valops.c:  Use read_memory_section
	instead of read_memory.  It takes a bfd_section arg.
	* coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h:  Remove
	unnecessary cast for assignment of struct dbx_symfile_info.
	Struct objfile now uses a real pointer instead of PTR for this
	element.
	* dbxread.c (dbx_symfile_init): Stash bfd section pointers for
	text, data and bss into dbx_symfile_info.
	* exec.c (xfer_memory):  Handle transfers for user-specified
	sections.
	* findvar.c (read_var_value locate_var_value):  Copy bfd section
	from the symbol to the value.
	* gdb-stabs.h:  Add section pointers for text, data and bss
	sections.
	* maint.c (translate address command):  Add test code for overlay
	address translation.
	* printcmd.c (do_examine do_one_display):  Now takes a bfd section
	arg.
	* (print_formatted x_command):  Record current section along with
	current address for repeated commands.
	* sparc-nat.c (fetch_inferior_registers):  Change
	target_xfer_memory to target_{read write}_memory to allow changes
	to target_xfer_memory interface for section info.
	* symmisc.c (dump_msymbols print_symbol):  Print section
	assocaited with symbol.
	* symtab.c (fixup_symbol_section):  New routine to
	add section info to symbols returned by lookup_symbol.
	* symtab.h (struct general_symbol_info):  Add bfd section to
	symbols.
	* target.c target.h (target_xfer_memory):  Add bfd section to
	args.
	* (target_read_memory_section):  New routine to read data from a
	specific section.
	* (target_memory_bfd_section):  New global variable to pass bfd
	section in to targets.
	* valarith.c (value_add value_addr value_array):  Preserve bfd
	section when computing new value.
	* value.h (struct value):  Add bfd section to values.
	* values.c (allocate_value value_copy):  Initialize/preserve bfd
	section.
	* (unpack_double):  Clean up _MSC_VER conditionals to remove
	duplicate code.
start-sanitize-v850
	* v850ice.c:  New module to support communication with NEC's
	PC-based ICE.
	* config/v850/tm-v850.h (REGISTER_NAMES):  Replace sp, gp, fp, and
	ep names with rxx names.  sp and fp are renamed via a different
	mechanism.
end-sanitize-v850
This commit is contained in:
Stu Grossman 1997-01-04 00:33:01 +00:00
parent 6c310da826
commit 4c681116af
6 changed files with 105 additions and 25 deletions

View file

@ -459,6 +459,30 @@ find_pc_psymbol (psymtab, pc)
return best;
}
/* Debug symbols usually don't have section information. We need to dig that
out of the minimal symbols and stash that in the debug symbol. */
static
struct symbol * fixup_symbol_section PARAMS ((struct symbol *sym,
struct objfile *objfile));
static struct symbol *
fixup_symbol_section (sym, objfile)
struct symbol *sym;
struct objfile *objfile;
{
struct minimal_symbol *msym;
if (SYMBOL_BFD_SECTION (sym))
return sym;
msym = lookup_minimal_symbol (SYMBOL_NAME (sym), NULL, objfile);
if (msym)
SYMBOL_BFD_SECTION (sym) = SYMBOL_BFD_SECTION (msym);
return sym;
}
/* Find the definition for a specified symbol name NAME
in namespace NAMESPACE, visible from lexical block BLOCK.
@ -493,7 +517,7 @@ lookup_symbol (name, block, namespace, is_a_field_of_this, symtab)
register struct symtab *s = NULL;
register struct partial_symtab *ps;
struct blockvector *bv;
register struct objfile *objfile;
register struct objfile *objfile = NULL;
register struct block *b;
register struct minimal_symbol *msymbol;
@ -521,7 +545,7 @@ found:
*symtab = s;
}
return (sym);
return fixup_symbol_section (sym, objfile);
}
block = BLOCK_SUPERBLOCK (block);
}
@ -550,7 +574,7 @@ found:
block_found = b;
if (symtab != NULL)
*symtab = s;
return sym;
return fixup_symbol_section (sym, objfile);
}
}
}
@ -569,7 +593,7 @@ found:
*is_a_field_of_this = 1;
if (symtab != NULL)
*symtab = NULL;
return 0;
return NULL;
}
}
@ -586,7 +610,7 @@ found:
block_found = block;
if (symtab != NULL)
*symtab = s;
return sym;
return fixup_symbol_section (sym, objfile);
}
}
@ -630,7 +654,7 @@ found:
if (symtab != NULL)
*symtab = s;
return sym;
return fixup_symbol_section (sym, objfile);
}
else if (MSYMBOL_TYPE (msymbol) != mst_text
&& MSYMBOL_TYPE (msymbol) != mst_file_text
@ -638,8 +662,10 @@ found:
{
/* This is a mangled variable, look it up by its
mangled name. */
return lookup_symbol (SYMBOL_NAME (msymbol), block,
namespace, is_a_field_of_this, symtab);
return fixup_symbol_section
(lookup_symbol (SYMBOL_NAME (msymbol), block,
namespace, is_a_field_of_this, symtab),
NULL);
}
/* There are no debug symbols for this file, or we are looking
for an unmangled variable.
@ -659,7 +685,7 @@ found:
error ("Internal: global symbol `%s' found in %s psymtab but not in symtab", name, ps->filename);
if (symtab != NULL)
*symtab = s;
return sym;
return fixup_symbol_section (sym, objfile);
}
}
@ -677,7 +703,7 @@ found:
block_found = block;
if (symtab != NULL)
*symtab = s;
return sym;
return fixup_symbol_section (sym, objfile);
}
}
@ -693,7 +719,7 @@ found:
error ("Internal: static symbol `%s' found in %s psymtab but not in symtab", name, ps->filename);
if (symtab != NULL)
*symtab = s;
return sym;
return fixup_symbol_section (sym, objfile);
}
}