[PATCH v5 00/14] Fix BZ 25631 - core file memory access problem

Kevin Buettner kevinb@redhat.com
Wed Jul 22 00:58:18 GMT 2020


This series fixes several core file related bugs.  The bug which
started this work can be viewed here:

    https://sourceware.org/bugzilla/show_bug.cgi?id=25631

Other problems were found either during review or during development. 
I discuss these in my commit log remarks.

This v5 series has only minor changes from v4.  Unless noted
otherwise, these changes all address Pedro's concerns:

o Patch #5, Test ability to access unwritten-to mmap data in core file:

  - Add setup_xfail for non-Linux OSes.  (I spotted this while testing
    on FreeBSD.)

o Patch #8, Use NT_FILE note section for reading core target memory:

  - Formatting fixes.
  - Close bfd after failed bfd_check_format_check.
  - Fix SECNAME leak.

o Patch #11, Adjust coredump-filter.exp to account for NT_FILE note handling:

  - Instead of XFAILing test, use Mihails Strasuns's suggestion
    instead.

o Patch #12, Add new command "maint print core-file-backed-mappings":

  - Formatting fixes.
  - Don't crash GDB with gdb_assert().
  - Add comments (in both code and commit log) regarding utility
    of this new command.

o Patch #14, New core file tests with mappings over existing program memory:

  - Formatting fixes.
  - Add another "maint print core-file-backed-mappings" test requested
    by Pedro in patch #12 review.  This one makes sure that we don't
    crash GDB when NOT debugging a core file.

I believe that all patches not listed above have been approved. 
Actually, I think that #5 is still approved too; I doubt that adding
an XFAIL changes that.

Kevin Buettner (14):
  Remove hack for GDB which sets the section size to 0
  Adjust corefile.exp test to show regression after bfd hack removal
  section_table_xfer_memory: Replace section name with callback
    predicate
  Provide access to non SEC_HAS_CONTENTS core file sections
  Test ability to access unwritten-to mmap data in core file
  Update binary_get_section_contents to seek using section's file
    position
  Add new gdbarch method, read_core_file_mappings
  Use NT_FILE note section for reading core target memory
  Add test for accessing read-only mmapped data in a core file
  gcore command: Place all file-backed mappings in NT_FILE note
  Adjust coredump-filter.exp to account for NT_FILE note handling
  Add new command "maint print core-file-backed-mappings"
  Add documentation for "maint print core-file-backed-mappings"
  New core file tests with mappings over existing program memory

 bfd/binary.c                               |  12 +-
 bfd/elf.c                                  |   8 -
 gdb/NEWS                                   |   4 +
 gdb/arch-utils.c                           |  16 ++
 gdb/arch-utils.h                           |  12 +
 gdb/bfd-target.c                           |   3 +-
 gdb/corelow.c                              | 264 ++++++++++++++++++++-
 gdb/doc/gdb.texinfo                        |   8 +
 gdb/exec.c                                 |   8 +-
 gdb/exec.h                                 |  13 +-
 gdb/gdbarch.c                              |  23 ++
 gdb/gdbarch.h                              |   6 +
 gdb/gdbarch.sh                             |   3 +
 gdb/linux-tdep.c                           | 244 +++++++++++++------
 gdb/target.c                               |  18 +-
 gdb/testsuite/gdb.base/coredump-filter.exp |  18 +-
 gdb/testsuite/gdb.base/corefile.exp        |  27 ++-
 gdb/testsuite/gdb.base/corefile2.exp       | 185 +++++++++++++++
 gdb/testsuite/gdb.base/coremaker.c         |  30 ++-
 gdb/testsuite/gdb.base/coremaker2.c        | 150 ++++++++++++
 20 files changed, 942 insertions(+), 110 deletions(-)
 create mode 100644 gdb/testsuite/gdb.base/corefile2.exp
 create mode 100644 gdb/testsuite/gdb.base/coremaker2.c

-- 
2.26.2



More information about the Gdb-patches mailing list