diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bf93e1b8a26..a976442f9a4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-10-22 Luis Machado + + * corelow.c (core_target::xfer_partial): Also check for an empty + m_core_unavailable_mappings vector. + 2020-10-22 Andrew Burgess * expprint.c (dump_subexp_body_standard): Print RANGE_HAS_STRIDE. diff --git a/gdb/corelow.c b/gdb/corelow.c index d557475e06f..a54d81571aa 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,