Change maybe_disable_address_space_randomization to a class
This changes maybe_disable_address_space_randomization to be an RAII class, rather than having it return a cleanup. Regression tested by the buildbot. ChangeLog 2017-11-26 Tom Tromey <tom@tromey.com> * nat/linux-personality.h (class maybe_disable_address_space_randomization): New class. (maybe_disable_address_space_randomization): Don't declare function. * nat/linux-personality.c (restore_personality) (make_disable_asr_cleanup): Remove. (maybe_disable_address_space_randomization): Now a constructor. (~maybe_disable_address_space_randomization): New destructor. * linux-nat.c (linux_nat_create_inferior): Update. gdbserver/ChangeLog 2017-11-26 Tom Tromey <tom@tromey.com> * linux-low.c (linux_create_inferior): Update.
This commit is contained in:
parent
44287fd890
commit
41272101db
6 changed files with 72 additions and 67 deletions
|
@ -1118,8 +1118,8 @@ linux_nat_create_inferior (struct target_ops *ops,
|
|||
const char *exec_file, const std::string &allargs,
|
||||
char **env, int from_tty)
|
||||
{
|
||||
struct cleanup *restore_personality
|
||||
= maybe_disable_address_space_randomization (disable_randomization);
|
||||
maybe_disable_address_space_randomization restore_personality
|
||||
(disable_randomization);
|
||||
|
||||
/* The fork_child mechanism is synchronous and calls target_wait, so
|
||||
we have to mask the async mode. */
|
||||
|
@ -1128,8 +1128,6 @@ linux_nat_create_inferior (struct target_ops *ops,
|
|||
linux_nat_pass_signals (ops, 0, NULL);
|
||||
|
||||
linux_ops->to_create_inferior (ops, exec_file, allargs, env, from_tty);
|
||||
|
||||
do_cleanups (restore_personality);
|
||||
}
|
||||
|
||||
/* Callback for linux_proc_attach_tgid_threads. Attach to PTID if not
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue