Add ATTRIBUTE_UNUSED_RESULT to scoped_mmap
authorTom Tromey <tromey@adacore.com>
Tue, 26 Feb 2019 21:46:40 +0000 (14:46 -0700)
committerTom Tromey <tromey@adacore.com>
Tue, 5 Mar 2019 15:48:40 +0000 (08:48 -0700)
This applies ATTRIBUTE_UNUSED_RESULT to scoped_mmap::release and fixes
a couple of spots to comply.

gdb/ChangeLog
2019-03-05  Tom Tromey  <tromey@adacore.com>

* nat/linux-btrace.c (linux_enable_bts, linux_enable_pt): Update.
* common/scoped_mmap.h (class scoped_mmap) <release>: Add
ATTRIBUTE_UNUSED_RESULT.

gdb/ChangeLog
gdb/common/scoped_mmap.h
gdb/nat/linux-btrace.c

index 74b336749c5a7db79cfb29d58b2c46efc7070426..a420e2a6e7cc9b86cafe3e025d44e9e0e565acf8 100644 (file)
@@ -1,3 +1,9 @@
+2019-03-05  Tom Tromey  <tromey@adacore.com>
+
+       * nat/linux-btrace.c (linux_enable_bts, linux_enable_pt): Update.
+       * common/scoped_mmap.h (class scoped_mmap) <release>: Add
+       ATTRIBUTE_UNUSED_RESULT.
+
 2019-03-05  Tom Tromey  <tromey@adacore.com>
 
        * common/scoped_fd.h (class scoped_fd) <release>: Add
index 763f40e201c2ea66519fe514291bf027fa60c568..0b504c96fec09300fa75476dced845b425fa0906 100644 (file)
@@ -57,7 +57,7 @@ public:
 
   DISABLE_COPY_AND_ASSIGN (scoped_mmap);
 
-  void *release () noexcept
+  ATTRIBUTE_UNUSED_RESULT void *release () noexcept
   {
     void *mem = m_mem;
     m_mem = MAP_FAILED;
index b51e70fbaff7c72407efd51fc4331b3794bcf63b..ef291ec2310353f99ccef9b52ec598d3dedc74e1 100644 (file)
@@ -544,13 +544,11 @@ linux_enable_bts (ptid_t ptid, const struct btrace_config_bts *conf)
 
   bts->bts.size = size;
   bts->bts.data_head = &header->data_head;
-  bts->bts.mem = (const uint8_t *) data.get () + data_offset;
+  bts->bts.mem = (const uint8_t *) data.release () + data_offset;
   bts->bts.last_head = 0ull;
   bts->header = header;
   bts->file = fd.release ();
 
-  data.release ();
-
   tinfo->conf.bts.size = (unsigned int) size;
   return tinfo.release ();
 }
@@ -667,11 +665,10 @@ linux_enable_pt (ptid_t ptid, const struct btrace_config_pt *conf)
   pt->pt.size = aux.size ();
   pt->pt.mem = (const uint8_t *) aux.release ();
   pt->pt.data_head = &header->aux_head;
-  pt->header = header;
+  pt->header = (struct perf_event_mmap_page *) data.release ();
+  gdb_assert (pt->header == header);
   pt->file = fd.release ();
 
-  data.release ();
-
   tinfo->conf.pt.size = (unsigned int) pt->pt.size;
   return tinfo.release ();
 }