diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2016-11-25 14:56:01 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2016-12-08 08:24:22 +0100 |
commit | a9617a426d001a748168fbc399fcc77e6d8d3cac (patch) | |
tree | bbe6a76e4c16faddcf79a15fa477cea9170ad270 | |
parent | e9e431d19426a6dd6b8923850398b847af0a1532 (diff) | |
download | gdb-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/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/gnu-nat.c | 20 |
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... */ |