From fadf6add3028d477457c809f60f07643964d7fd2 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 23 Mar 2021 09:50:32 -0400 Subject: gdb: remove unpush_target free function unpush_target unpushes the passed-in target from the current inferior's target stack. Calling it is therefore an implicit dependency on the current global inferior. Remove that function and make the callers use the inferior::unpush_target method directly. This sometimes allows using the inferior from the context rather than the global current inferior. target_unpusher::operator() now needs to be implemented in target.c, otherwise target.h and inferior.h both need to include each other, and that wouldn't work. gdb/ChangeLog: * target.h (unpush_target): Remove, update all callers to use `inferior::unpush_target` instead. (struct target_unpusher) : Just declare. * target.c (unpush_target): Remove. (target_unpusher::operator()): New. Change-Id: Ia5172dfb3f373e0a75b991885b50322ca2142a8c --- gdb/exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/exec.c') diff --git a/gdb/exec.c b/gdb/exec.c index 544a058..bcc54bd 100644 --- a/gdb/exec.c +++ b/gdb/exec.c @@ -671,7 +671,7 @@ program_space::remove_target_sections (void *owner) continue; switch_to_inferior_no_thread (inf); - unpush_target (&exec_ops); + inf->unpush_target (&exec_ops); } } } -- cgit v1.1