From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Mon, 27 Jul 2020 17:27:39 -0400 Subject: gdb-rhbz1842691-corefile-mem-access-5of15.patch ;; Test ability to access unwritten-to mmap data in core file ;; Kevin Buettner, RH BZ 1842961 Author: Kevin Buettner Date: Wed Mar 4 17:42:43 2020 -0700 Test ability to access unwritten-to mmap data in core file gdb/testsuite/ChangeLog: PR corefiles/25631 * gdb.base/corefile.exp (accessing anonymous, unwritten-to mmap data): New test. * gdb.base/coremaker.c (buf3): New global. (mmapdata): Add mmap call which uses MAP_ANONYMOUS and MAP_PRIVATE flags. diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp --- a/gdb/testsuite/gdb.base/corefile.exp +++ b/gdb/testsuite/gdb.base/corefile.exp @@ -175,6 +175,15 @@ gdb_test_multiple "x/8bd buf2" "$test" { } } +# Test ability to read anonymous and, more importantly, unwritten-to +# mmap'd data. + +if { ![istarget *-linux*] } { + setup_xfail "*-*-*" +} +gdb_test "x/wx buf3" "$hex:\[ \t\]+0x00000000" \ + "accessing anonymous, unwritten-to mmap data" + # test reinit_frame_cache gdb_load ${binfile} diff --git a/gdb/testsuite/gdb.base/coremaker.c b/gdb/testsuite/gdb.base/coremaker.c --- a/gdb/testsuite/gdb.base/coremaker.c +++ b/gdb/testsuite/gdb.base/coremaker.c @@ -38,6 +38,7 @@ char *buf1; char *buf2; +char *buf3; int coremaker_data = 1; /* In Data section */ int coremaker_bss; /* In BSS section */ @@ -104,6 +105,15 @@ mmapdata () } /* Touch buf2 so kernel writes it out into 'core'. */ buf2[0] = buf1[0]; + + /* Create yet another region which is allocated, but not written to. */ + buf3 = mmap (NULL, MAPSIZE, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (buf3 == (char *) -1) + { + perror ("mmap failed"); + return; + } } void