Hurd, C++: Avoid GNU C nested functions

..., which C++ doesn't allow, so...

	gdb/
	* gnu-nat.c (gnu_create_inferior): Move nested "trace_me"
	function...
	(gnu_ptrace_me): ... here.
This commit is contained in:
Thomas Schwinge 2016-11-25 14:56:01 +01:00
parent e9e431d194
commit a9617a426d
2 changed files with 15 additions and 9 deletions

View File

@ -1,5 +1,9 @@
2016-12-08 Thomas Schwinge <thomas@codesourcery.com>
* gnu-nat.c (gnu_create_inferior): Move nested "trace_me"
function...
(gnu_ptrace_me): ... here.
* i386-gnu-nat.c (i386_gnu_dr_set_control_one)
(i386_gnu_dr_set_addr_one): Explicitly cast "void *".

View File

@ -2109,6 +2109,16 @@ cur_inf (void)
return gnu_current_inf;
}
static void
gnu_ptrace_me (void)
{
/* We're in the child; make this process stop as soon as it execs. */
struct inf *inf = cur_inf ();
inf_debug (inf, "tracing self");
if (ptrace (PTRACE_TRACEME) != 0)
error (_("ptrace (PTRACE_TRACEME) failed!"));
}
static void
gnu_create_inferior (struct target_ops *ops,
char *exec_file, char *allargs, char **env,
@ -2117,17 +2127,9 @@ gnu_create_inferior (struct target_ops *ops,
struct inf *inf = cur_inf ();
int pid;
void trace_me (void)
{
/* We're in the child; make this process stop as soon as it execs. */
inf_debug (inf, "tracing self");
if (ptrace (PTRACE_TRACEME) != 0)
error (_("ptrace (PTRACE_TRACEME) failed!"));
}
inf_debug (inf, "creating inferior");
pid = fork_inferior (exec_file, allargs, env, trace_me,
pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me,
NULL, NULL, NULL, NULL);
/* Attach to the now stopped child, which is actually a shell... */