aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote-os9k.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-03-02 03:01:34 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-03-02 03:01:34 +0000
commit25200748a2ad772bb72958902dd18b314ec4e6c9 (patch)
tree01a1e4e75536ec6fc99cca358f17d3224a87f49c /gdb/remote-os9k.c
parent6e2194f0772c505e0ee872611664188c8513a0b1 (diff)
downloadgdb-25200748a2ad772bb72958902dd18b314ec4e6c9.zip
gdb-25200748a2ad772bb72958902dd18b314ec4e6c9.tar.gz
gdb-25200748a2ad772bb72958902dd18b314ec4e6c9.tar.bz2
* 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.
Diffstat (limited to 'gdb/remote-os9k.c')
-rw-r--r--gdb/remote-os9k.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/gdb/remote-os9k.c b/gdb/remote-os9k.c
index 855ea4f..b6d6758 100644
--- a/gdb/remote-os9k.c
+++ b/gdb/remote-os9k.c
@@ -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;
}