X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fremote-eb.c;h=baa4d24b55dff11a31f77f7735bcf5b9a7da033d;hb=5d62f957a89a3174ca2669db19effcf0585a8827;hp=f5366c61ace255dfdf7f8423505760dd534bbc47;hpb=71607f9d62c125cdd1770ff7f8f07024bfa94410;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/remote-eb.c b/gdb/remote-eb.c index f5366c61ac..baa4d24b55 100644 --- a/gdb/remote-eb.c +++ b/gdb/remote-eb.c @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This is like remote.c but is for an esoteric situation-- having a a29k board in a PC hooked up to a unix machine with @@ -25,12 +25,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ has PC/NFS, so it can access the same executables that gdb can, over the net in real time. */ -#define TM_FILE_OVERRIDE #include "defs.h" -#include -#include "a29k/tm-a29k.h" +#include "gdb_string.h" #include "inferior.h" +#include "bfd.h" +#include "symfile.h" #include "wait.h" #include "value.h" #include @@ -198,7 +198,7 @@ get_hex_regs (n, regno) val = 0; for (j = 0; j < 8; j++) val = (val << 4) + get_hex_digit (j == 0); - supply_register (regno++, &val); + supply_register (regno++, (char *) &val); } } @@ -252,10 +252,6 @@ eb_create_inferior (execfile, args, env) entry_pt = (int) bfd_get_start_address (exec_bfd); -#ifdef CREATE_INFERIOR_HOOK - CREATE_INFERIOR_HOOK (0); /* No process-ID */ -#endif - { /* OK, now read in the file. Y=read, C=COFF, D=no symbols 0=start address, %s=filename. */ @@ -289,7 +285,7 @@ eb_create_inferior (execfile, args, env) target_terminal_inferior (); /* insert_step_breakpoint (); FIXME, do we need this? */ - proceed ((CORE_ADDR)entry_pt, -1, 0); /* Let 'er rip... */ + proceed ((CORE_ADDR)entry_pt, TARGET_SIGNAL_DEFAULT, 0); /* Let 'er rip... */ } /* Translate baud rates from integers to damn B_codes. Unix should @@ -479,8 +475,9 @@ eb_detach (from_tty) /* Tell the remote machine to resume. */ void -eb_resume (step, sig) - int step, sig; +eb_resume (pid, step, sig) + int pid, step; + enum target_signal sig; { if (step) { @@ -521,7 +518,7 @@ eb_resume (step, sig) int eb_wait (status) - WAITTYPE *status; + struct target_waitstatus *status; { /* Strings to look for. '?' means match any single character. Note that with the algorithm we use, the initial character @@ -546,11 +543,13 @@ eb_wait (status) int old_timeout = timeout; - WSETEXIT ((*status), 0); + status->kind = TARGET_WAITKIND_EXITED; + status->value.integer = 0; if (need_artificial_trap != 0) { - WSETSTOP ((*status), SIGTRAP); + status->kind = TARGET_WAITKIND_STOPPED; + status->value.sig = TARGET_SIGNAL_TRAP; need_artificial_trap--; return 0; } @@ -599,9 +598,15 @@ eb_wait (status) } expect_prompt (); if (*bp== '\0') - WSETSTOP ((*status), SIGTRAP); + { + status->kind = TARGET_WAITKIND_STOPPED; + status->value.sig = TARGET_SIGNAL_TRAP; + } else - WSETEXIT ((*status), 0); + { + status->kind = TARGET_WAITKIND_EXITED; + status->value.integer = 0; + } timeout = old_timeout; return 0; @@ -717,10 +722,10 @@ eb_fetch_registers () /* There doesn't seem to be any way to get these. */ { int val = -1; - supply_register (FPE_REGNUM, &val); - supply_register (INTE_REGNUM, &val); - supply_register (FPS_REGNUM, &val); - supply_register (EXO_REGNUM, &val); + supply_register (FPE_REGNUM, (char *) &val); + supply_register (INTE_REGNUM, (char *) &val); + supply_register (FPS_REGNUM, (char *) &val); + supply_register (EXO_REGNUM, (char *) &val); } write (eb_desc, "dw gr1,gr1\n", 11); @@ -984,12 +989,13 @@ executable as it exists on the remote computer. For example,\n\ 0, 0, /* Breakpoints */ 0, 0, 0, 0, 0, /* Terminal handling */ eb_kill, - 0, /* load */ + generic_load, /* load */ 0, /* lookup_symbol */ eb_create_inferior, eb_mourn_inferior, 0, /* can_run */ 0, /* notice_signals */ + 0, /* to_stop */ process_stratum, 0, /* next */ 1, 1, 1, 1, 1, /* all mem, mem, stack, regs, exec */ 0, 0, /* Section pointers */