aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/corelow.c14
2 files changed, 15 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bf93e1b..a976442 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2020-10-22 Luis Machado <luis.machado@linaro.org>
+
+ * corelow.c (core_target::xfer_partial): Also check for an empty
+ m_core_unavailable_mappings vector.
+
2020-10-22 Andrew Burgess <andrew.burgess@embecosm.com>
* expprint.c (dump_subexp_body_standard): Print RANGE_HAS_STRIDE.
diff --git a/gdb/corelow.c b/gdb/corelow.c
index d557475..a54d815 100644
--- a/gdb/corelow.c
+++ b/gdb/corelow.c
@@ -813,10 +813,16 @@ core_target::xfer_partial (enum target_object object, const char *annex,
core file provided mappings (e.g. from .note.linuxcore.file
or the like) as this should provide a more accurate
result. If not, check the stratum beneath us, which should
- be the file stratum. */
- if (!m_core_file_mappings.empty ())
- xfer_status = xfer_memory_via_mappings (readbuf, writebuf, offset,
- len, xfered_len);
+ be the file stratum.
+
+ We also check unavailable mappings due to Docker/AUFS driver
+ issues. */
+ if (!m_core_file_mappings.empty ()
+ || !m_core_unavailable_mappings.empty ())
+ {
+ xfer_status = xfer_memory_via_mappings (readbuf, writebuf, offset,
+ len, xfered_len);
+ }
else
xfer_status = this->beneath ()->xfer_partial (object, annex, readbuf,
writebuf, offset, len,