Hurd, C++: kern_return_t vs. error_t
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 25 Nov 2016 10:02:17 +0000 (11:02 +0100)
committerThomas Schwinge <thomas@codesourcery.com>
Thu, 8 Dec 2016 07:27:07 +0000 (08:27 +0100)
commit0947023d1d4b5d8803a1065d622f707010b2bcdc
tree89739d759c325f3e99ddab9178a2d45f502a1be4
parent785102a7d34f2d48f9a1616bf931fea6de2385fb
Hurd, C++: kern_return_t vs. error_t

GNU/Hurd uses its own "typedef enum __error_t_codes error_t;"
([glibc]/sysdeps/mach/hurd/bits/errno.h), contrary to the default
"typedef int error_t;" ([glibc]/stdlib/errno.h).

The Mach/Hurd RPCs return kern_return_t values, for which, upon assigning them
to an error_t variable, GCC in C++ mode tells us "error: invalid conversion
from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}'".  Instead of
casting all these RPC return values to "error_t", just use "kern_return_t"
variables:

gdb/
* gnu-nat.c (proc_get_exception_port, proc_set_exception_port)
(INF_RESUME_MSGPORT_RPC, proc_get_state, _proc_get_exc_port)
(proc_steal_exc_port, proc_restore_exc_port, make_proc)
(inf_startup, inf_set_pid, inf_validate_procinfo)
(inf_validate_task_sc, inf_set_traced, inf_validate_procs)
(inf_signal, inf_continue, gnu_wait, S_exception_raise_request)
(do_mach_notify_dead_name, S_proc_wait_reply)
(S_msg_sig_post_untraced_reply, S_msg_sig_post_reply)
(port_msgs_queued, gnu_read_inferior, gnu_write_inferior)
(gnu_find_memory_regions, steal_exc_port, thread_takeover_sc_cmd)
(flush_inferior_icache): Instead of "error_t" use "kern_return_t".
* i386-gnu-nat.c (fetch_fpregs, store_fpregs, i386_gnu_dr_get)
(i386_gnu_dr_set): Likewise.
gdb/ChangeLog
gdb/gnu-nat.c
gdb/i386-gnu-nat.c