gdb: remove unpush_target free function
authorSimon Marchi <simon.marchi@polymtl.ca>
Tue, 23 Mar 2021 13:50:32 +0000 (09:50 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Tue, 23 Mar 2021 13:50:32 +0000 (09:50 -0400)
commitfadf6add3028d477457c809f60f07643964d7fd2
tree6892c92baa1dc60e5e238e9bee69c0fd2fe732cc
parent70e958370c8f4dc3222b658a725571d8d2f5f98a
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) <operator()>: Just declare.
* target.c (unpush_target): Remove.
(target_unpusher::operator()): New.

Change-Id: Ia5172dfb3f373e0a75b991885b50322ca2142a8c
17 files changed:
gdb/ChangeLog
gdb/aix-thread.c
gdb/bsd-kvm.c
gdb/bsd-uthread.c
gdb/corelow.c
gdb/exec.c
gdb/inf-child.c
gdb/linux-thread-db.c
gdb/ravenscar-thread.c
gdb/record-btrace.c
gdb/record-full.c
gdb/record.c
gdb/remote-sim.c
gdb/sol-thread.c
gdb/target.c
gdb/target.h
gdb/tracefile-tfile.c