aboutsummaryrefslogtreecommitdiff
path: root/gdb/solist.h
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2023-10-02 14:46:18 -0400
committerSimon Marchi <simon.marchi@efficios.com>2023-10-19 10:57:51 -0400
commit581b34c2a153d36876ec92bbcd1820ac1d99f83b (patch)
treec79693a31eab84dea680b98c942ab307a996ab60 /gdb/solist.h
parent6fe4d5bf18512798b3a685599bfcff5aab3f798e (diff)
downloadgdb-581b34c2a153d36876ec92bbcd1820ac1d99f83b.zip
gdb-581b34c2a153d36876ec92bbcd1820ac1d99f83b.tar.gz
gdb-581b34c2a153d36876ec92bbcd1820ac1d99f83b.tar.bz2
gdb: add program_space parameter to target_so_ops::clear_solib
The clear_solib is implicitly meant to clear the resources associated to the current program space (that's what the solib implementations that actually support multi-program-space / multi-inferior do). Make that explicit by adding a program_space parameter and pass down current_program_space in call sites. The implementation of the clear_solib callbacks is fairly simple, I don't think any of them rely on global state other than accessing current_program_space. Change-Id: I8d0cc4db7b4f8db8d7452879c0c62db03269bf46 Approved-By: Pedro Alves <pedro@palves.net> Reviewed-By: Reviewed-By: Lancelot Six <lancelot.six@amd.com>
Diffstat (limited to 'gdb/solist.h')
-rw-r--r--gdb/solist.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/solist.h b/gdb/solist.h
index 0f764b2..b3a06b8 100644
--- a/gdb/solist.h
+++ b/gdb/solist.h
@@ -96,9 +96,10 @@ struct target_so_ops
It is also called before free_so when SO is about to be freed. */
void (*clear_so) (struct so_list *so);
- /* Reset or free private data structures not associated with
- so_list entries. */
- void (*clear_solib) (void);
+ /* Free private data structures associated to PSPACE. This method
+ should not free resources associated to individual so_list entries,
+ those are cleared by the clear_so method. */
+ void (*clear_solib) (program_space *pspace);
/* Target dependent code to run after child process fork. */
void (*solib_create_inferior_hook) (int from_tty);