diff options
Diffstat (limited to 'gdb/remote-utils.c')
-rw-r--r-- | gdb/remote-utils.c | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/gdb/remote-utils.c b/gdb/remote-utils.c index bfa9d90..cbbdeaf 100644 --- a/gdb/remote-utils.c +++ b/gdb/remote-utils.c @@ -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 () { |