diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-03-02 03:01:34 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-03-02 03:01:34 +0000 |
commit | 25200748a2ad772bb72958902dd18b314ec4e6c9 (patch) | |
tree | 01a1e4e75536ec6fc99cca358f17d3224a87f49c /gdb/remote-os9k.c | |
parent | 6e2194f0772c505e0ee872611664188c8513a0b1 (diff) | |
download | gdb-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.c | 18 |
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; } |