You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
6 years ago
|
https://bugzilla.redhat.com/show_bug.cgi?id=1493675
|
||
|
|
||
|
diff -dup -rup gdb-7.6.1-orig/gdb/gcore.c gdb-7.6.1/gdb/gcore.c
|
||
|
--- gdb-7.6.1-orig/gdb/gcore.c 2017-10-20 22:28:50.990391003 +0200
|
||
|
+++ gdb-7.6.1/gdb/gcore.c 2017-10-20 22:29:26.797710799 +0200
|
||
|
@@ -111,8 +111,8 @@ do_bfd_delete_cleanup (void *arg)
|
||
|
bfd *obfd = arg;
|
||
|
const char *filename = obfd->filename;
|
||
|
|
||
|
- gdb_bfd_unref (arg);
|
||
|
unlink (filename);
|
||
|
+ gdb_bfd_unref (arg);
|
||
|
}
|
||
|
|
||
|
/* gcore_command -- implements the 'gcore' command.
|
||
|
--- ./gdb/inf-ptrace.c 2017-09-28 20:14:05.802344770 +0200
|
||
|
+++ ./gdb/inf-ptrace.c 2017-09-28 22:04:30.417779859 +0200
|
||
|
@@ -280,6 +280,7 @@ inf_ptrace_detach (struct target_ops *op
|
||
|
{
|
||
|
pid_t pid = ptid_get_pid (inferior_ptid);
|
||
|
int sig = 0;
|
||
|
+ int saved_errno;
|
||
|
|
||
|
if (from_tty)
|
||
|
{
|
||
|
@@ -300,8 +301,7 @@ inf_ptrace_detach (struct target_ops *op
|
||
|
started the process ourselves. */
|
||
|
errno = 0;
|
||
|
ptrace (PT_DETACH, pid, (PTRACE_TYPE_ARG3)1, sig);
|
||
|
- if (errno != 0)
|
||
|
- perror_with_name (("ptrace"));
|
||
|
+saved_errno = errno;
|
||
|
#else
|
||
|
error (_("This system does not support detaching from a process"));
|
||
|
#endif
|
||
|
@@ -311,6 +311,11 @@ inf_ptrace_detach (struct target_ops *op
|
||
|
|
||
|
if (!have_inferiors ())
|
||
|
unpush_target (ops);
|
||
|
+
|
||
|
+if (saved_errno != 0) {
|
||
|
+ errno = saved_errno;
|
||
|
+ perror_with_name (("ptrace"));
|
||
|
+}
|
||
|
}
|
||
|
|
||
|
/* Kill the inferior. */
|