[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