Thu Sep 28 14:32:11 1995 steve chamberlain <sac@slash.cygnus.com>
* callback.[ch]: New files. * remote-rdp.c: Support for the ARM RDP monitor. * Makefile: Update. * arm-tdep.c (arm_othernames): New. (_initialize_arm_tdep): install 'othernames' command. (arm_nullified_insn, shifted_reg_val, arm_get_next_pc): New. * configure.in: Check for termios.h, termio.h and sgtty.h. (i[345]86-*-win32*): New host. * configure: Regenerated. * inflow.c: Clean up inclusions. * main.c (main): Check for WINGDB, not WIN32. * printcmd.c (do_examine): Put QUIT test in loop. * remote-hms.c (e7000_load): Delete. (hms_ops): Point to generic_load instead. * remote-hms.c (hms_ops): Point to generic_load. * remote-sim.c (sim_callback_write_stdout): Becomes gdbsim_write_stdout. (gdbsim_load): Call generic_load. * remote-utils.c (gr_load_image): Delete. * ser-unix.c (terminal.h): Include instead of havig own #if tree. (hardwire_flush_input): Reset input buffer too. * source.c (openp): If WIN32 then open file in binary mode. * terminal.h: Configure IO mechanism using autoconf defines if available and not overriden. * utils.c (quit, pollquit, notice_quit): WIN32 check becomes WINGDB check. * config/arm/arm.mt (TDEPFILES): Add remote-rdp.o * config/arm/tm-arm.h (TARGET_BYTE_ORDER): becomes TARGET_BYTE_ORDER_SELECTABLE. (ADDR_BITS_REMOVE): New. (ORIGINAL_REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): New. (INST_xx): New (FRAME_FIND_SAVED_REGS): Pass the right argument. (arm_get_next_pc): Declare. * mswin/prebuilt/*/bfdtarget.h (SELECT_ARCHITECTURES): Need leading &.
This commit is contained in:
parent
b91537be61
commit
dedcc91de6
18 changed files with 1886 additions and 181 deletions
|
@ -629,70 +629,6 @@ gr_store_word (addr, word)
|
|||
dcache_poke (gr_get_dcache(), addr, word);
|
||||
}
|
||||
|
||||
/* general purpose load a file specified on the command line
|
||||
into target memory. */
|
||||
|
||||
void
|
||||
gr_load_image (args, fromtty)
|
||||
char *args;
|
||||
int fromtty;
|
||||
{
|
||||
bfd *abfd;
|
||||
|
||||
asection *s;
|
||||
struct cleanup *old_cleanups;
|
||||
int delta = 4096;
|
||||
char *buffer = xmalloc (delta);
|
||||
|
||||
abfd = bfd_openr (args, (char *) 0);
|
||||
|
||||
if (!abfd)
|
||||
/* FIXME: should be using bfd_errmsg, not assuming it was
|
||||
bfd_error_system_call. */
|
||||
perror_with_name (args);
|
||||
|
||||
/* FIXME: should be checking for errors from bfd_close (for one thing,
|
||||
on error it does not free all the storage associated with the
|
||||
bfd). */
|
||||
old_cleanups = make_cleanup (bfd_close, abfd);
|
||||
|
||||
QUIT;
|
||||
|
||||
if (!bfd_check_format (abfd, bfd_object))
|
||||
error ("It doesn't seem to be an object file.\n");
|
||||
|
||||
for (s = abfd->sections; s && !quit_flag; s = s->next)
|
||||
{
|
||||
if (bfd_get_section_flags (abfd, s) & SEC_LOAD)
|
||||
{
|
||||
int i;
|
||||
printf_filtered ("%s\t: 0x%4x .. 0x%4x ",
|
||||
s->name, s->vma, s->vma + s->_raw_size);
|
||||
fflush (stdout);
|
||||
for (i = 0; i < s->_raw_size && !quit_flag; i += delta)
|
||||
{
|
||||
int sub_delta = delta;
|
||||
if (sub_delta > s->_raw_size - i)
|
||||
sub_delta = s->_raw_size - i;
|
||||
QUIT;
|
||||
bfd_get_section_contents (abfd, s, buffer, i, sub_delta);
|
||||
target_write_memory (s->vma + i, buffer, sub_delta);
|
||||
printf_filtered ("*");
|
||||
fflush (stdout);
|
||||
}
|
||||
printf_filtered ("\n");
|
||||
}
|
||||
}
|
||||
|
||||
free (buffer);
|
||||
write_pc (bfd_get_start_address (abfd));
|
||||
if (!bfd_close (abfd))
|
||||
warning ("cannot close \"%s\": %s",
|
||||
args, bfd_errmsg (bfd_get_error ()));
|
||||
discard_cleanups (old_cleanups);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_initialize_sr_support ()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue