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.
This commit is contained in:
Thomas Schwinge 2016-11-25 11:02:17 +01:00
parent 785102a7d3
commit 0947023d1d
3 changed files with 51 additions and 37 deletions

View file

@ -58,7 +58,7 @@ fetch_fpregs (struct regcache *regcache, struct proc *thread)
{
mach_msg_type_number_t count = i386_FLOAT_STATE_COUNT;
struct i386_float_state state;
error_t err;
kern_return_t err;
err = thread_get_state (thread->port, i386_FLOAT_STATE,
(thread_state_t) &state, &count);
@ -148,7 +148,7 @@ store_fpregs (const struct regcache *regcache, struct proc *thread, int regno)
{
mach_msg_type_number_t count = i386_FLOAT_STATE_COUNT;
struct i386_float_state state;
error_t err;
kern_return_t err;
err = thread_get_state (thread->port, i386_FLOAT_STATE,
(thread_state_t) &state, &count);
@ -279,7 +279,7 @@ static void
i386_gnu_dr_get (struct i386_debug_state *regs, struct proc *thread)
{
mach_msg_type_number_t count = i386_DEBUG_STATE_COUNT;
error_t err;
kern_return_t err;
err = thread_get_state (thread->port, i386_DEBUG_STATE,
(thread_state_t) regs, &count);
@ -293,7 +293,7 @@ i386_gnu_dr_get (struct i386_debug_state *regs, struct proc *thread)
static void
i386_gnu_dr_set (const struct i386_debug_state *regs, struct proc *thread)
{
error_t err;
kern_return_t err;
err = thread_set_state (thread->port, i386_DEBUG_STATE,
(thread_state_t) regs, i386_DEBUG_STATE_COUNT);