* os9kread.c (os9k_process_one_symbol): Rename

VARIABLES_INSIDE_BLOCK to OS9K_VARIABLES_INSIDE_BLOCK.
	* symfile.c (symbol_file_command): Check for (CORE_ADDR)-1, not
	(CORE_ADDR)0, from target_link, since that is what it uses.
	Process name at end, not during parsing (like we did before Kung's
	change), so that -readnow and -mapped can appear anywhere.
	Make text_relocation a local variable.
	* config/i386/i386os9k.mt: Fix comment.
	* Makefile.in (ALLDEPFILES): Add remote-os9k.c.
	* os9kread.c: Put "comments" after #endif inside /* */.
	* stabsread.h: Add os9k_stabs variable.
	* stabsread.c (start_stabs), os9kread.c (os9k_process_one_symbol):
	Set it.
	* stabsread.c (define_symbol): If os9k_stabs, put a 'V' symbol
	descriptor in global_symbols not local_symbols.
	(read_type): If os9k_stabs, accept 'c', 'i', and 'b' type
	descriptors.
	(read_type): If os9k_stabs, accept function parameters after 'f'
	type descriptor.
	(read_array_type): If os9k_stabs, don't expect index type and
	expect lower and upper to be separated by ',' not ';'.
	(read_enum_type): If os9k_stabs, read a number before the first
	enumeration constant.
	(os9k_init_type_vector): New function.
	(dbx_lookup_type): Call it when starting new type vector.
	* config/i386/tm-i386os9k.h: Define BELIEVE_PCC_PROMOTION.
	* (os9k_process_one_symbol): Call define_symbol not os9k_define_symbol.
	* os9kstab.c: Removed.
	* Makefile.in: Update accordingly.
	* objfiles.c (objfile_relocate_data): Removed.
	* remote-os9k.c (rombug_wait): Call objfile_relocate
	not objfile_relocate_data.
	* objfiles.h, objfiles.c: Remove find_pc_objfile.
	* remote-os9k.c (rombug_wait): Call find_pc_section not
	find_pc_objfile.
	* main.c (quit_command): Check inferior_pid; revert Kung change.
	* remote-os9k.c (rombug_create_inferior): Set inferior_pid.
This commit is contained in:
Jim Kingdon
1994-03-02 03:01:34 +00:00
parent 6e2194f077
commit 25200748a2
14 changed files with 192 additions and 2207 deletions

View File

@@ -289,6 +289,9 @@ rombug_create_inferior (execfile, args, env)
{
int entry_pt;
/* Nonzero value indicates that a process really is running. */
inferior_pid = 42;
if (args && *args)
error("Can't pass arguments to remote ROMBUG process");
@@ -471,7 +474,7 @@ rombug_wait (pid, status)
int old_timeout = timeout;
struct section_offsets *offs;
CORE_ADDR addr, pc;
struct objfile *obj;
struct obj_section *obj_sec;
#ifdef LOG_FILE
fputs ("\nIn wait ()", log_file);
@@ -489,9 +492,11 @@ rombug_wait (pid, status)
rombug_fetch_registers();
pc = read_register(PC_REGNUM);
addr = read_register(DATABASE_REG);
obj = find_pc_objfile(pc);
if (obj != NULL)
new_symfile_objfile(obj, 1, 0);
obj_sec = find_pc_section (pc);
if (obj_sec != NULL)
new_symfile_objfile (obj_sec, 1, 0);
offs = ((struct section_offsets *)
alloca (sizeof (struct section_offsets)
+ (symfile_objfile->num_sections * sizeof (offs->offsets))));
@@ -501,7 +506,10 @@ rombug_wait (pid, status)
ANOFFSET (offs, SECT_OFF_DATA) = addr;
ANOFFSET (offs, SECT_OFF_BSS) = addr;
objfile_relocate_data(symfile_objfile, offs);
/* Because we only set offsets for DATA and BSS sections, and the other
offsets are unchanged from ->section_offsets, the other sections won't
get relocated. */
objfile_relocate (symfile_objfile, offs);
return 0;
}