diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-08-28 17:40:58 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-08-28 17:40:58 +0000 |
commit | 24af3f3f3f4baab0815a8b1093bbc01842b837a3 (patch) | |
tree | e5e24f11b59da42078f880f810ff894c28f04942 | |
parent | dce3f541677b884d78533c0ddf473b6461799c3a (diff) | |
download | gdb-24af3f3f3f4baab0815a8b1093bbc01842b837a3.tar.gz |
PR server/15604
gdb/gdbserver/
2013-08-28 Jan Kratochvil <jan.kratochvil@redhat.com>
PR server/15604
* linux-low.c: Include filestuff.h.
(linux_create_inferior) <pid == 0>: Call close_most_fds.
* lynx-low.c: Include filestuff.h.
(lynx_create_inferior) <pid == 0>: Call close_most_fds.
* server.c: Include filestuff.h.
(main): Call notice_open_fds.
* spu-low.c: Include filestuff.h.
(spu_create_inferior) <pid == 0>: Call close_most_fds.
-rw-r--r-- | gdb/gdbserver/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/gdbserver/linux-low.c | 2 | ||||
-rw-r--r-- | gdb/gdbserver/lynx-low.c | 3 | ||||
-rw-r--r-- | gdb/gdbserver/server.c | 5 | ||||
-rw-r--r-- | gdb/gdbserver/spu-low.c | 2 |
5 files changed, 24 insertions, 0 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index fe3660c020d..913fe42c45f 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,15 @@ +2013-08-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + PR server/15604 + * linux-low.c: Include filestuff.h. + (linux_create_inferior) <pid == 0>: Call close_most_fds. + * lynx-low.c: Include filestuff.h. + (lynx_create_inferior) <pid == 0>: Call close_most_fds. + * server.c: Include filestuff.h. + (main): Call notice_open_fds. + * spu-low.c: Include filestuff.h. + (spu_create_inferior) <pid == 0>: Call close_most_fds. + 2013-08-22 Luis Machado <lgustavo@codesourcery.com> * Makefile.in: Explain why ../target and ../nat are not diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 12208dcc1e1..7db1fc8e947 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -44,6 +44,7 @@ #include "gdb_stat.h" #include <sys/vfs.h> #include <sys/uio.h> +#include "filestuff.h" #ifndef ELFMAG0 /* Don't include <linux/elf.h> here. If it got included by gdb_proc_service.h then ELFMAG0 will have been defined. If it didn't get included by @@ -580,6 +581,7 @@ linux_create_inferior (char *program, char **allargs) if (pid == 0) { + close_most_fds (); ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0); #ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */ diff --git a/gdb/gdbserver/lynx-low.c b/gdb/gdbserver/lynx-low.c index 4cf86837f3f..3c75b6296b8 100644 --- a/gdb/gdbserver/lynx-low.c +++ b/gdb/gdbserver/lynx-low.c @@ -27,6 +27,7 @@ #include <sys/types.h> #include "gdb_wait.h" #include <signal.h> +#include "filestuff.h" int using_threads = 1; @@ -240,6 +241,8 @@ lynx_create_inferior (char *program, char **allargs) { int pgrp; + close_most_fds (); + /* Switch child to its own process group so that signals won't directly affect gdbserver. */ pgrp = getpid(); diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index a4b9129bbfd..ebdaba50467 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -28,6 +28,7 @@ #endif #include "gdb_wait.h" #include "btrace-common.h" +#include "filestuff.h" /* The thread set with an `Hc' packet. `Hc' is deprecated in favor of `vCont'. Note the multi-process extensions made `vCont' a @@ -2850,6 +2851,10 @@ main (int argc, char *argv[]) exit (1); } + /* Remember stdio descriptors. LISTEN_DESC must not be listed, it will be + opened by remote_prepare. */ + notice_open_fds (); + /* We need to know whether the remote connection is stdio before starting the inferior. Inferiors created in this scenario have stdin,stdout redirected. So do this here before we call diff --git a/gdb/gdbserver/spu-low.c b/gdb/gdbserver/spu-low.c index 6e3974a4546..e604b9f62bf 100644 --- a/gdb/gdbserver/spu-low.c +++ b/gdb/gdbserver/spu-low.c @@ -29,6 +29,7 @@ #include <unistd.h> #include <errno.h> #include <sys/syscall.h> +#include "filestuff.h" /* Some older glibc versions do not define this. */ #ifndef __WNOTHREAD @@ -274,6 +275,7 @@ spu_create_inferior (char *program, char **allargs) if (pid == 0) { + close_most_fds (); ptrace (PTRACE_TRACEME, 0, 0, 0); setpgid (0, 0); |