[pushed/ob] Fix Solaris build

Message ID 20180412164948.25873-1-palves@redhat.com
State New, archived
Headers

Commit Message

Pedro Alves April 12, 2018, 4:49 p.m. UTC
  This commit fixes a bit of rot in procfs.c caused by recent changes.

Specifically, the target_ops::to_detach change to pass down 'inferior
*' missed updating a forward declation, and the change to use
scoped_fd in more places missed removing one do_cleanups call.

  src/gdb/procfs.c: In function ‘target_ops* procfs_target()’:
  src/gdb/procfs.c:167:16: error: invalid conversion from ‘void (*)(target_ops*, const char*, int)’ to ‘void (*)(target_ops*, inferior*, int)’ [-fpermissive]
     t->to_detach = procfs_detach;
		  ^
  src/gdb/procfs.c: In function ‘ssd* proc_get_LDT_entry(procinfo*, int)’:
  src/gdb/procfs.c:1624:17: error: ‘old_chain’ was not declared in this scope
      do_cleanups (old_chain);
		   ^
  src/gdb/procfs.c: At global scope:
  src/gdb/procfs.c:90:13: error: ‘void procfs_detach(target_ops*, const char*, int)’ declared ‘static’ but never defined [-Werror=unused-function]
   static void procfs_detach (struct target_ops *, const char *, int);
	       ^
  src/gdb/procfs.c:1923:1: error: ‘void procfs_detach(target_ops*, inferior*, int)’ defined but not used [-Werror=unused-function]
   procfs_detach (struct target_ops *ops, inferior *inf, int from_tty)
   ^

gdb/ChangeLog:
2018-04-12  Pedro Alves  <palves@redhat.com>

	* procfs.c (procfs_detach): Make forward declaration's prototype
	match definition's protototype.
	(proc_get_LDT_entry): Remove stale do_cleanups call.
---
 gdb/ChangeLog | 6 ++++++
 gdb/procfs.c  | 7 ++-----
 2 files changed, 8 insertions(+), 5 deletions(-)
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a05520fb7c..66ca520aad 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@ 
+2018-04-12  Pedro Alves  <palves@redhat.com>
+
+	* procfs.c (procfs_detach): Make forward declaration's prototype
+	match definition's protototype.
+	(proc_get_LDT_entry): Remove stale do_cleanups call.
+
 2018-04-12  Pedro Alves  <palves@redhat.com>
 
 	* target.h (target_ops::to_has_exited): Delete.
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 5ca7477fa5..3c747cd3e2 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -87,7 +87,7 @@ 
 /* This module defines the GDB target vector and its methods.  */
 
 static void procfs_attach (struct target_ops *, const char *, int);
-static void procfs_detach (struct target_ops *, const char *, int);
+static void procfs_detach (struct target_ops *, inferior *, int);
 static void procfs_resume (struct target_ops *,
 			   ptid_t, int, enum gdb_signal);
 static void procfs_files_info (struct target_ops *);
@@ -1620,10 +1620,7 @@  proc_get_LDT_entry (procinfo *pi, int key)
 	break;	/* end of table */
       /* If key matches, return this entry.  */
       if (ldt_entry->sel == key)
-	{
-	  do_cleanups (old_chain);
-	  return ldt_entry;
-	}
+	return ldt_entry;
     }
   /* Loop ended, match not found.  */
   return NULL;