Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
To: gdb-patches@sourceware.org
Cc: Andrew Burgess <aburgess@redhat.com>
Subject: [PATCH] Fix procfs.c compilation on Solaris
Date: Fri, 14 Aug 2026 11:34:14 +0200	[thread overview]
Message-ID: <yddpkzlnizt.fsf@CeBiTec.Uni-Bielefeld.DE> (raw)

[-- Attachment #1: Type: text/plain, Size: 2707 bytes --]

procfs.c doesn't compile on trunk and the gdb-18 branch:

procfs.c: In function ‘int procfs_notice_thread(procinfo*, procinfo*, void*)’:
procfs.c:2857:33: error: invalid use of non-static member function ‘thread_state thread_info::state() const’
 2857 |   if (thr == NULL || thr->state == THREAD_EXITED)
      |                      ~~~~~~~~~~~^~~~~~~~~~~~~~~~

Fixed by calling the member function.

procfs.c: In function ‘bool find_memory_regions_callback(prmap*, find_memory_region_ftype)’:
procfs.c:3152:15: error: no match for call to ‘(find_memory_region_ftype {aka gdb::function_view<bool(long unsigned int, long unsigned int, bool, bool, bool, bool, bool, bool)>}) (CORE_ADDR, std::size_t&, bool, bool, bool, bool, bool)’
 3152 |   return func ((CORE_ADDR) map->pr_vaddr,
      |          ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
 3153 |                map->pr_size,
      |                ~~~~~~~~~~~~~
 3154 |                (map->pr_mflags & MA_READ) != 0,
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3155 |                (map->pr_mflags & MA_WRITE) != 0,
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3156 |                (map->pr_mflags & MA_EXEC) != 0,
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3157 |                true, /* MODIFIED is unknown, pass it as true.  */
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3158 |                false);
      |                ~~~~~~

Fixed by passing the new HOLE arg.

procfs.c: In function ‘void info_proc_mappings(procinfo*, int)’:
procfs.c:3257:25: error: too many arguments to function ‘bool iterate_over_mappings(procinfo*, find_memory_region_ftype, bool (*)(prmap*, find_memory_region_ftype))’
 3257 |   iterate_over_mappings (pi, NULL, NULL, info_mappings_callback);
      |   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fixed by removing the unused arg.

Tested on sparcv9-sun-solaris2.11 and amd64-pc-solaris2.11 with results
similar to the gdb-17 ones.

Committed to trunk.


This patch should also go to the gdb-18 branch: I'm not sure if I should
just commit it or it needs approval.

Besides, this has happened repeatedly over the last couple of years, so
I'm now working to set up Solaris/sparcv9 and amd64 builders parallel to
the recent binutils-solaris11-* ones so failures are noticed early.

There are a few issues with the subset of patches run by the gdb
builders: I'll report once I'm closer to clean results.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gdb-18.patch --]
[-- Type: text/x-patch, Size: 1295 bytes --]

diff --git a/gdb/procfs.c b/gdb/procfs.c
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -2854,7 +2854,7 @@ procfs_notice_thread (procinfo *pi, proc
   ptid_t gdb_threadid = ptid_t (pi->pid, thread->tid, 0);
 
   thread_info *thr = the_procfs_target.find_thread (gdb_threadid);
-  if (thr == NULL || thr->state == THREAD_EXITED)
+  if (thr == NULL || thr->state () == THREAD_EXITED)
     add_thread (&the_procfs_target, gdb_threadid);
 
   return 0;
@@ -3155,7 +3155,7 @@ find_memory_regions_callback (struct prm
 	       (map->pr_mflags & MA_WRITE) != 0,
 	       (map->pr_mflags & MA_EXEC) != 0,
 	       true, /* MODIFIED is unknown, pass it as true.  */
-	       false);
+	       false, false);
 }
 
 /* External interface.  Calls a callback function once for each
@@ -3205,8 +3205,7 @@ mappingflags (long flags)
    mappings'.  */
 
 static bool
-info_mappings_callback (struct prmap *map, find_memory_region_ftype ignore,
-			void *unused)
+info_mappings_callback (struct prmap *map, find_memory_region_ftype ignore)
 {
   unsigned int pr_off;
 
@@ -3254,7 +3253,7 @@ info_proc_mappings (procinfo *pi, int su
 		"    Offset",
 		"Flags");
 
-  iterate_over_mappings (pi, NULL, NULL, info_mappings_callback);
+  iterate_over_mappings (pi, NULL, info_mappings_callback);
   gdb_printf ("\n");
 }
 

             reply	other threads:[~2026-08-14  9:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-14  9:34 Rainer Orth [this message]
2026-08-14 11:33 ` Eli Zaretskii
2026-08-14 11:49   ` Hannes Domani
2026-08-19 15:39     ` Andrew Burgess
2026-08-19 17:27       ` Rainer Orth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=yddpkzlnizt.fsf@CeBiTec.Uni-Bielefeld.DE \
    --to=ro@cebitec.uni-bielefeld.de \
    --cc=aburgess@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox