public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gdb: remove deprecated_exec_file_display_hook and associated code
@ 2023-12-29 10:03 Andrew Burgess
  2024-01-09 14:50 ` Tom Tromey
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Burgess @ 2023-12-29 10:03 UTC (permalink / raw)
  To: gdb-patches; +Cc: Andrew Burgess

This commit removes deprecated_exec_file_display_hook and the
associated specify_exec_file_hook.

The specify_exec_file_hook is used to add a new hook function to
deprecated_exec_file_display_hook, but is only used from the insight
debugger.

I posted a patch to remove the use of specify_exec_file_hook from
insight, and instead use gdb::observers::executable_changed, this
patch hasn't been merged yet, but can be found here:

  https://inbox.sourceware.org/insight/6abeb45e97d9004ec331e94cf2089af00553de76.1702379379.git.aburgess@redhat.com/T/#u

Assuming that the proposed insight patch is merged then we should be
free to cleanup the GDB side of things, which this patch does.

I'm posting this before the insight patch is merged just in case
there's any feedback, but I'll hold off merging this until the insight
patch lands.

For a pure GDB build (no insight) there should be no user visible
changes after this commit as this is all dead code.  For an insight
build with the above patch applied, there should also be no user
visible changes.
---
 gdb/corefile.c | 67 --------------------------------------------------
 gdb/exec.c     |  4 ---
 gdb/gdbcore.h  |  3 ---
 3 files changed, 74 deletions(-)

diff --git a/gdb/corefile.c b/gdb/corefile.c
index b9c204d18dc..6299f9140e9 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -35,73 +35,6 @@
 #include "gdbarch.h"
 #include "interps.h"
 
-/* You can have any number of hooks for `exec_file_command' command to
-   call.  If there's only one hook, it is set in exec_file_display
-   hook.  If there are two or more hooks, they are set in
-   exec_file_extra_hooks[], and deprecated_exec_file_display_hook is
-   set to a function that calls all of them.  This extra complexity is
-   needed to preserve compatibility with old code that assumed that
-   only one hook could be set, and which called
-   deprecated_exec_file_display_hook directly.  */
-
-typedef void (*hook_type) (const char *);
-
-hook_type deprecated_exec_file_display_hook;	/* The original hook.  */
-static hook_type *exec_file_extra_hooks;	/* Array of additional
-						   hooks.  */
-static int exec_file_hook_count = 0;		/* Size of array.  */
-
-\f
-
-/* If there are two or more functions that wish to hook into
-   exec_file_command, this function will call all of the hook
-   functions.  */
-
-static void
-call_extra_exec_file_hooks (const char *filename)
-{
-  int i;
-
-  for (i = 0; i < exec_file_hook_count; i++)
-    (*exec_file_extra_hooks[i]) (filename);
-}
-
-/* Call this to specify the hook for exec_file_command to call back.
-   This is called from the x-window display code.  */
-
-void
-specify_exec_file_hook (void (*hook) (const char *))
-{
-  hook_type *new_array;
-
-  if (deprecated_exec_file_display_hook != NULL)
-    {
-      /* There's already a hook installed.  Arrange to have both it
-	 and the subsequent hooks called.  */
-      if (exec_file_hook_count == 0)
-	{
-	  /* If this is the first extra hook, initialize the hook
-	     array.  */
-	  exec_file_extra_hooks = XNEW (hook_type);
-	  exec_file_extra_hooks[0] = deprecated_exec_file_display_hook;
-	  deprecated_exec_file_display_hook = call_extra_exec_file_hooks;
-	  exec_file_hook_count = 1;
-	}
-
-      /* Grow the hook array by one and add the new hook to the end.
-	 Yes, it's inefficient to grow it by one each time but since
-	 this is hardly ever called it's not a big deal.  */
-      exec_file_hook_count++;
-      new_array = (hook_type *)
-	xrealloc (exec_file_extra_hooks,
-		  exec_file_hook_count * sizeof (hook_type));
-      exec_file_extra_hooks = new_array;
-      exec_file_extra_hooks[exec_file_hook_count - 1] = hook;
-    }
-  else
-    deprecated_exec_file_display_hook = hook;
-}
-
 void
 reopen_exec_file (void)
 {
diff --git a/gdb/exec.c b/gdb/exec.c
index 59965b84d55..3e3e165dad4 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -494,10 +494,6 @@ exec_file_attach (const char *filename, int from_tty)
 	 target.  */
       current_program_space->add_target_sections
 	(current_program_space->ebfd.get (), sections);
-
-      /* Tell display code (if any) about the changed file name.  */
-      if (deprecated_exec_file_display_hook)
-	(*deprecated_exec_file_display_hook) (filename);
     }
 
   /* Are are loading the same executable?  */
diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h
index 56ddea65334..5cecb15c47a 100644
--- a/gdb/gdbcore.h
+++ b/gdb/gdbcore.h
@@ -114,9 +114,6 @@ extern void write_memory_signed_integer (CORE_ADDR addr, int len,
 					 enum bfd_endian byte_order,
 					 LONGEST value);
 \f
-/* Hook for `exec_file_command' command to call.  */
-
-extern void (*deprecated_exec_file_display_hook) (const char *filename);
 
 /* Hook for "file_command", which is more useful than above
    (because it is invoked AFTER symbols are read, not before).  */

base-commit: 90827b4eefb06f6e0ab6cbac9eb94922e2cc8aee
-- 
2.25.4


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-19 22:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-29 10:03 [PATCH] gdb: remove deprecated_exec_file_display_hook and associated code Andrew Burgess
2024-01-09 14:50 ` Tom Tromey
2024-01-19 22:23   ` Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).