gdb: add inferior parameter to inferior_created observable
authorSimon Marchi <simon.marchi@efficios.com>
Sun, 25 Oct 2020 02:59:04 +0000 (22:59 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 25 Oct 2020 13:06:09 +0000 (09:06 -0400)
I think it would make sense for the inferior_created observable to say
which inferior is being dealt with, rather than relying on it being the
current inferior.

This patch adds an inferior parameter to inferior_created, but does not
change the callbacks to use it.

gdb/ChangeLog:

* aix-thread.c (aix_thread_inferior_created): Add inferior
parameter.
* bsd-uthread.c (bsd_uthread_inferior_created): Likewise.
* dummy-frame.c (cleanup_dummy_frames): Likewise.
* jit.c (jit_inferior_created): Likewise.
* linux-thread-db.c (thread_db_inferior_created): Likewise.
* m68k-linux-tdep.c (m68k_linux_inferior_created): Likewise.
* observable.h (inferior_created): Likewise.
* ravenscar-thread.c (ravenscar_inferior_created): Likewise.
* symfile-mem.c (add_vsyscall_page): Likewise.
* infcmd.c (post_create_inferior): Pass inferior argument.

Change-Id: I2543d19ff055a9df6b269929faea10b27d2adc5e

gdb/ChangeLog
gdb/aix-thread.c
gdb/bsd-uthread.c
gdb/dummy-frame.c
gdb/infcmd.c
gdb/jit.c
gdb/linux-thread-db.c
gdb/m68k-linux-tdep.c
gdb/observable.h
gdb/ravenscar-thread.c
gdb/symfile-mem.c

index 88d01a01ebb67f5c0006022c198fb950825c38cd..0f2a87bf7d7a511b212beccbb22ccaae07add23e 100644 (file)
@@ -1,3 +1,17 @@
+2020-10-24  Simon Marchi  <simon.marchi@efficios.com>
+
+       * aix-thread.c (aix_thread_inferior_created): Add inferior
+       parameter.
+       * bsd-uthread.c (bsd_uthread_inferior_created): Likewise.
+       * dummy-frame.c (cleanup_dummy_frames): Likewise.
+       * jit.c (jit_inferior_created): Likewise.
+       * linux-thread-db.c (thread_db_inferior_created): Likewise.
+       * m68k-linux-tdep.c (m68k_linux_inferior_created): Likewise.
+       * observable.h (inferior_created): Likewise.
+       * ravenscar-thread.c (ravenscar_inferior_created): Likewise.
+       * symfile-mem.c (add_vsyscall_page): Likewise.
+       * infcmd.c (post_create_inferior): Pass inferior argument.
+
 2020-10-24  Joel Brobecker  <brobecker@adacore.com>
 
        GDB 10.1 released.
index b4100a55ae9533ea398f355be694f694133d6620..bedd97d439a74cffba95896b15f978df1a02c69d 100644 (file)
@@ -1015,7 +1015,7 @@ new_objfile (struct objfile *objfile)
 /* Attach to process specified by ARGS.  */
 
 static void
-aix_thread_inferior_created ()
+aix_thread_inferior_created (inferior *inf)
 {
   pd_enable ();
 }
index e83707fd7c50bedae5a0ab75ef33d2301c3dd114..ffbee4a15f92b92c0a53628caafc0b1f6bfb6f71 100644 (file)
@@ -263,7 +263,7 @@ bsd_uthread_deactivate (void)
 }
 
 static void
-bsd_uthread_inferior_created ()
+bsd_uthread_inferior_created (inferior *inf)
 {
   bsd_uthread_activate (NULL);
 }
index 1952d2eb6f305a040fbc1bc5db8b609e5bde871f..0b99e5c1c6a7cc1eb54b8b74749d1269d7c1ba83 100644 (file)
@@ -273,7 +273,7 @@ find_dummy_frame_dtor (dummy_frame_dtor_ftype *dtor, void *dtor_data)
    them up at least once whenever we start a new inferior.  */
 
 static void
-cleanup_dummy_frames ()
+cleanup_dummy_frames (inferior *inf)
 {
   while (dummy_frame_stack != NULL)
     remove_dummy_frame (&dummy_frame_stack);
index 498089fdb529cfa3286fef894816c985cdab0ae2..068de96941a6af776b76095ed02da9b6cf5e1bc5 100644 (file)
@@ -347,7 +347,7 @@ post_create_inferior (int from_tty)
      if the now pushed target supports hardware watchpoints.  */
   breakpoint_re_set ();
 
-  gdb::observers::inferior_created.notify ();
+  gdb::observers::inferior_created.notify (current_inferior ());
 }
 
 /* Kill the inferior if already running.  This function is designed
index 9298ac0f4877a87e57b35792f5af73132c65d409..6f1f7e69d5e5c1eae52f17e0b156d5f0fca951ce 100644 (file)
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -1232,7 +1232,7 @@ jit_inferior_init (struct gdbarch *gdbarch)
 /* inferior_created observer.  */
 
 static void
-jit_inferior_created ()
+jit_inferior_created (inferior *inf)
 {
   jit_inferior_created_hook ();
 }
index c625cefead2f662875ead99180383ba8da605cbf..e759ecc951352129d33d710ba8c68b1c1cf46f8b 100644 (file)
@@ -1310,7 +1310,7 @@ check_pid_namespace_match (void)
    This handles the case of debugging statically linked executables.  */
 
 static void
-thread_db_inferior_created ()
+thread_db_inferior_created (inferior *inf)
 {
   check_pid_namespace_match ();
   check_for_thread_db ();
index e4fc2faecb208eed0d165c58a6fcd59208c3fd13..752260e8616412379b281d8b17c8fee67568fd4c 100644 (file)
@@ -211,7 +211,7 @@ struct m68k_linux_sigtramp_info
 static int target_is_uclinux;
 
 static void
-m68k_linux_inferior_created ()
+m68k_linux_inferior_created (inferior *inf)
 {
   /* Record that we will need to re-evaluate whether we are running on a
      uClinux or normal GNU/Linux target (see m68k_linux_get_sigtramp_info).  */
index d9d0f149f6f520275c97465893932bd2a39978dd..9114b28d04f054665430ea312af05342486ba3d7 100644 (file)
@@ -87,7 +87,7 @@ extern observable<> executable_changed;
    instruction.  For 'attach' and 'core', gdb calls this observer
    immediately after connecting to the inferior, and before any
    information on the inferior has been printed.  */
-extern observable<> inferior_created;
+extern observable<inferior */* inferior */> inferior_created;
 
 /* The status of process record for inferior inferior in gdb has
    changed.  The process record is started if STARTED is true, and
index a7c59ad325a36fa5609e8ce8e9531997f79c952d..29f8ae1ae5f71f6162d0f6fadf273b6fc9c62cee 100644 (file)
@@ -657,7 +657,7 @@ ravenscar_thread_target::xfer_partial (enum target_object object,
 /* Observer on inferior_created: push ravenscar thread stratum if needed.  */
 
 static void
-ravenscar_inferior_created ()
+ravenscar_inferior_created (inferior *inf)
 {
   const char *err_msg;
 
index 5f212e10323f10360f4a361e8abcf81b85f0c9fa..18ab9357dbb010b340d84ef6bcf0800c152aa351 100644 (file)
@@ -157,7 +157,7 @@ add_symbol_file_from_memory_command (const char *args, int from_tty)
    This function is called via the inferior_created observer.  */
 
 static void
-add_vsyscall_page ()
+add_vsyscall_page (inferior *inf)
 {
   struct mem_range vsyscall_range;