* [PATCH] Fix procfs.c compilation on Solaris
@ 2026-08-14 9:34 Rainer Orth
2026-08-14 11:33 ` Eli Zaretskii
0 siblings, 1 reply; 5+ messages in thread
From: Rainer Orth @ 2026-08-14 9:34 UTC (permalink / raw)
To: gdb-patches; +Cc: Andrew Burgess
[-- 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");
}
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] Fix procfs.c compilation on Solaris
2026-08-14 9:34 [PATCH] Fix procfs.c compilation on Solaris Rainer Orth
@ 2026-08-14 11:33 ` Eli Zaretskii
2026-08-14 11:49 ` Hannes Domani
0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2026-08-14 11:33 UTC (permalink / raw)
To: Rainer Orth; +Cc: gdb-patches, aburgess
> From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
> Cc: Andrew Burgess <aburgess@redhat.com>
> Date: Fri, 14 Aug 2026 11:34:14 +0200
>
> 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.
The rule until now was that each bugfix on the release branch needs a
Bugzilla report.
Thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] Fix procfs.c compilation on Solaris
2026-08-14 11:33 ` Eli Zaretskii
@ 2026-08-14 11:49 ` Hannes Domani
2026-08-19 15:39 ` Andrew Burgess
0 siblings, 1 reply; 5+ messages in thread
From: Hannes Domani @ 2026-08-14 11:49 UTC (permalink / raw)
To: Rainer Orth, Eli Zaretskii; +Cc: gdb-patches, aburgess
Am Freitag, 14. August 2026 um 13:34:30 MESZ hat Eli Zaretskii <eliz@gnu.org> Folgendes geschrieben:
> > From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
> > Cc: Andrew Burgess <aburgess@redhat.com>
> > Date: Fri, 14 Aug 2026 11:34:14 +0200
> >
> > 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.
>
> The rule until now was that each bugfix on the release branch needs a
> Bugzilla report.
AFAIK a bugzilla report is only necessary after the first release on that
branch, but a global maintainer has to approve in any case, see:
https://sourceware.org/gdb/wiki/PushingToReleaseBranch
Hannes
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] Fix procfs.c compilation on Solaris
2026-08-14 11:49 ` Hannes Domani
@ 2026-08-19 15:39 ` Andrew Burgess
2026-08-19 17:27 ` Rainer Orth
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Burgess @ 2026-08-19 15:39 UTC (permalink / raw)
To: Hannes Domani, Rainer Orth, Eli Zaretskii; +Cc: gdb-patches
Hannes Domani <ssbssa@yahoo.de> writes:
> Am Freitag, 14. August 2026 um 13:34:30 MESZ hat Eli Zaretskii <eliz@gnu.org> Folgendes geschrieben:
>
>> > From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
>> > Cc: Andrew Burgess <aburgess@redhat.com>
>> > Date: Fri, 14 Aug 2026 11:34:14 +0200
>> >
>> > 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.
>>
>> The rule until now was that each bugfix on the release branch needs a
>> Bugzilla report.
>
> AFAIK a bugzilla report is only necessary after the first release on that
> branch, but a global maintainer has to approve in any case, see:
> https://sourceware.org/gdb/wiki/PushingToReleaseBranch
This is how I've always understood the rule too. I'm happy to see this
pushed to gdb-18-branch if it has not already been done so.
Approved-By: Andrew Burgess <aburgess@redhat.com>
thanks,
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] Fix procfs.c compilation on Solaris
2026-08-19 15:39 ` Andrew Burgess
@ 2026-08-19 17:27 ` Rainer Orth
0 siblings, 0 replies; 5+ messages in thread
From: Rainer Orth @ 2026-08-19 17:27 UTC (permalink / raw)
To: Andrew Burgess; +Cc: Hannes Domani, Eli Zaretskii, gdb-patches
Hi Andrew,
>>> > This patch should also go to the gdb-18 branch: I'm not sure if I should
>>> > just commit it or it needs approval.
>>>
>>> The rule until now was that each bugfix on the release branch needs a
>>> Bugzilla report.
>>
>> AFAIK a bugzilla report is only necessary after the first release on that
>> branch, but a global maintainer has to approve in any case, see:
>> https://sourceware.org/gdb/wiki/PushingToReleaseBranch
>
> This is how I've always understood the rule too. I'm happy to see this
> pushed to gdb-18-branch if it has not already been done so.
>
> Approved-By: Andrew Burgess <aburgess@redhat.com>
done now.
Thanks.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-08-19 17:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-14 9:34 [PATCH] Fix procfs.c compilation on Solaris Rainer Orth
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox