diff options
author | Steve Chamberlain <sac@cygnus> | 1993-12-12 00:00:53 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1993-12-12 00:00:53 +0000 |
commit | 08c0d7b84f411aed680b0777b43266171f11c552 (patch) | |
tree | 16232d5ba59d4bb15a4d0c61daa34406ad3e0994 /gdb/remote-utils.c | |
parent | fcf276c4958f7cc906ec389f003aa2a713c98528 (diff) | |
download | gdb-08c0d7b84f411aed680b0777b43266171f11c552.zip gdb-08c0d7b84f411aed680b0777b43266171f11c552.tar.gz gdb-08c0d7b84f411aed680b0777b43266171f11c552.tar.bz2 |
* ser-go32.c: Lint. (strncasecmp): Removed, now in libiberty.
(go32_readchar): Special handling for faster polling. (async
structure): Volatile.
* h8300-tdep.c (print_register_hook): Allocate and use the right
number bytes for the raw register.
* h8500-tdep.c (regoff, frame_find_saved_reg, examine_prologue):
deleted. (h8500_register_size, h8500_register_virtual_type, ):
Use new way of counting registers.
* remote-e7000.c (echo_index): deleted. (expect): Better handling
of user interrupts. (expect_prompt): Remove never used log file
support. (want, want_nopc): Add support for H8/300H.
(fetch_regs_from_dump): Treat \r and \n as whitespace.
(e7000_drain): Send an "end" command before waiting for output to
stop. (e7000_wait): Cope with H8/300H, better handling of user
interrupts. (why_stop, expect_n, sub2_from_pc): New function.
* remote-utils.c (gr_load_image): call fflush and QUIT more regularly.
* utils.c (notice_quit): New function for polling for user interrupts.
Diffstat (limited to 'gdb/remote-utils.c')
-rw-r--r-- | gdb/remote-utils.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gdb/remote-utils.c b/gdb/remote-utils.c index 9504320..75137e4 100644 --- a/gdb/remote-utils.c +++ b/gdb/remote-utils.c @@ -641,24 +641,24 @@ gr_load_image (args, fromtty) old_cleanups = make_cleanup (bfd_close, abfd); QUIT; - immediate_quit++; if (!bfd_check_format (abfd, bfd_object)) error ("It doesn't seem to be an object file.\n"); - for (s = abfd->sections; s; s = s->next) + 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); - for (i = 0; i < s->_raw_size; i += delta) + 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 ("*"); @@ -667,7 +667,7 @@ gr_load_image (args, fromtty) printf_filtered ("\n"); } } - immediate_quit--; + free (buffer); write_pc (bfd_get_start_address (abfd)); bfd_close (abfd); |