Fix build failure in linux-osdata.c
authorSimon Marchi <simon.marchi@ericsson.com>
Sat, 14 Oct 2017 13:28:07 +0000 (09:28 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Sat, 14 Oct 2017 13:28:07 +0000 (09:28 -0400)
Commit

  Use std::vector in linux_xfer_osdata_processgroups
  b129dcac882da87767cb863ad8b2572f90e9e5bc

broke the build with older gcc (at least 4.7 and 4.8):

In file included from /usr/include/c++/4.7/algorithm:63:0,
                 from /home/emaisin/src/binutils-gdb/gdb/nat/linux-osdata.c:40:
/usr/include/c++/4.7/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >; _Tp = pid_pgid_entry]’:
/usr/include/c++/4.7/bits/stl_algo.h:2315:70:   required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >]’
/usr/include/c++/4.7/bits/stl_algo.h:2347:54:   required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >; _Size = long int]’
/usr/include/c++/4.7/bits/stl_algo.h:5483:4:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >]’
/home/emaisin/src/binutils-gdb/gdb/nat/linux-osdata.c:480:57:   required from here
/usr/include/c++/4.7/bits/stl_algo.h:2277:4: error: passing ‘const pid_pgid_entry’ as ‘this’ argument of ‘bool pid_pgid_entry::operator<(const pid_pgid_entry&)’ discards qualifiers [-fpermissive]

Making the operator< method const fixes it.

gdb/ChangeLog:

* nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
const.

gdb/ChangeLog
gdb/nat/linux-osdata.c

index af22deb2c6cced06f5fdc5c3f2bd69b4b2cebc30..25ae470bb93cd2a5bbe8653dcb725efbc09b1e93 100644 (file)
@@ -1,3 +1,8 @@
+2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
+       const.
+
 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * target.h: Include tracepoint.h.
index 5d1a7bd6ddb56a608490473af3d5965e878dc51c..0980c8d0176f7d093cbe65843dc8d59a0de7d3e6 100644 (file)
@@ -407,7 +407,7 @@ struct pid_pgid_entry
     return pid == pgid;
   }
 
-  bool operator< (const pid_pgid_entry &other)
+  bool operator< (const pid_pgid_entry &other) const
   {
     /* Sort by PGID.  */
     if (this->pgid != other.pgid)