diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-07-24 12:49:24 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-07-24 12:49:24 +0000 |
commit | e5948e1c6cd2f29a221a1d464c37dac7173fe1bd (patch) | |
tree | 54b7785908b1d0cd6c7f12601512573035363b4e /gdb/target.c | |
parent | d84858eba306a36e6e8860b267b5246950b69807 (diff) | |
download | gdb-e5948e1c6cd2f29a221a1d464c37dac7173fe1bd.tar.gz |
* target.c (memory_xfer_partial): Accesses to unmapped overlay
sections should always go to the executable file.
Diffstat (limited to 'gdb/target.c')
-rw-r--r-- | gdb/target.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/target.c b/gdb/target.c index 2bb50e6f6b8..92a4d6ac2c9 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -1017,6 +1017,14 @@ memory_xfer_partial (struct target_ops *ops, void *readbuf, const void *writebuf return xfer_memory (memaddr, readbuf, len, 0, NULL, ops); } + /* Likewise for accesses to unmapped overlay sections. */ + if (readbuf != NULL && overlay_debugging) + { + asection *section = find_pc_overlay (memaddr); + if (pc_in_unmapped_range (memaddr, section)) + return xfer_memory (memaddr, readbuf, len, 0, NULL, ops); + } + /* Try GDB's internal data cache. */ region = lookup_mem_region (memaddr); /* region->hi == 0 means there's no upper bound. */ |