aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2016-11-25 14:56:01 +0100
committerThomas Schwinge <thomas@codesourcery.com>2016-12-08 08:24:22 +0100
commita9617a426d001a748168fbc399fcc77e6d8d3cac (patch)
treebbe6a76e4c16faddcf79a15fa477cea9170ad270
parente9e431d19426a6dd6b8923850398b847af0a1532 (diff)
downloadgdb-a9617a426d001a748168fbc399fcc77e6d8d3cac.zip
gdb-a9617a426d001a748168fbc399fcc77e6d8d3cac.tar.gz
gdb-a9617a426d001a748168fbc399fcc77e6d8d3cac.tar.bz2
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.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/gnu-nat.c20
2 files changed, 15 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f68a787..8b43cd8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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 *".
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index 92b9292..34fd6f1 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -2110,6 +2110,16 @@ cur_inf (void)
}
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,
int from_tty)
@@ -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... */