diff options
author | Pedro Alves <pedro@palves.net> | 2022-09-23 11:48:11 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2023-02-02 10:02:33 -0500 |
commit | b82d4ec99e3347b62a16cf5456628a37a128a99b (patch) | |
tree | eee5895086a1b48dcc3007660f8f600b7a7ac610 | |
parent | 1a8505cb53faa1c191d09ba221f9b0ec383ccfde (diff) | |
download | gdb-b82d4ec99e3347b62a16cf5456628a37a128a99b.zip gdb-b82d4ec99e3347b62a16cf5456628a37a128a99b.tar.gz gdb-b82d4ec99e3347b62a16cf5456628a37a128a99b.tar.bz2 |
gdb: make install_breakpoint return a non-owning reference
A following patch will want to install a breakpoint and then keep a
non-owning reference to it. Make install_breakpoint return a non-owning
reference, to make that easy.
Co-Authored-By: Simon Marchi <simon.marchi@efficios.com>
Change-Id: I2e8106a784021ff276ce251e24708cbdccc2d479
Approved-By: Andrew Burgess <aburgess@redhat.com>
-rw-r--r-- | gdb/breakpoint.c | 4 | ||||
-rw-r--r-- | gdb/breakpoint.h | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 00cc2ab..e25c588 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -7956,7 +7956,7 @@ catchpoint::catchpoint (struct gdbarch *gdbarch, bool temp, pspace = current_program_space; } -void +breakpoint * install_breakpoint (int internal, std::unique_ptr<breakpoint> &&arg, int update_gll) { breakpoint *b = add_to_breakpoint_chain (std::move (arg)); @@ -7969,6 +7969,8 @@ install_breakpoint (int internal, std::unique_ptr<breakpoint> &&arg, int update_ if (update_gll) update_global_location_list (UGLL_MAY_INSERT); + + return b; } static int diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 399bd03..352e846 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -1484,10 +1484,12 @@ extern void target and breakpoint_created observers of its existence. If INTERNAL is non-zero, the breakpoint number will be allocated from the internal breakpoint count. If UPDATE_GLL is non-zero, - update_global_location_list will be called. */ + update_global_location_list will be called. -extern void install_breakpoint (int internal, std::unique_ptr<breakpoint> &&b, - int update_gll); + Takes ownership of B, and returns a non-owning reference to it. */ + +extern breakpoint *install_breakpoint + (int internal, std::unique_ptr<breakpoint> &&b, int update_gll); /* Returns the breakpoint ops appropriate for use with with LOCSPEC and according to IS_TRACEPOINT. Use this to ensure, for example, |