Fix procfs.c compilation on Solaris
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.
1 file changed