diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2011-10-07 12:06:48 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2011-10-07 12:06:48 +0000 |
commit | 03583c206f350870e077f4e112f83b3c4bdd0b27 (patch) | |
tree | f21677825f84019f3963478b1f560a497081f4d2 /gdb/inferior.h | |
parent | 01b71697807be429fbd5d960e4228c04837024e3 (diff) | |
download | gdb-03583c206f350870e077f4e112f83b3c4bdd0b27.zip gdb-03583c206f350870e077f4e112f83b3c4bdd0b27.tar.gz gdb-03583c206f350870e077f4e112f83b3c4bdd0b27.tar.bz2 |
* inferior.h (disable_randomization): Declare.
* infrun.c (disable_randomization): New global variable.
(show_disable_randomization): New function.
(set_disable_randomization): Likewise.
(_initialize_infrun): Install set/show disable-randomization
commands.
* linux-nat.c (disable_randomization): Remove.
(show_disable_randomization): Likewise.
(set_disable_randomization): Likewise.
(_initialize_linux_nat): No longer install set/show
disable-randomization commands here.
(linux_nat_supports_disable_randomization): New function.
(linux_nat_add_target): Install it.
* remote.c (PACKET_QDisableRandomization): New enum value.
(remote_protocol_packets): Support QDisableRandomization.
(_initialize_remote): Likewise.
(remote_supports_disable_randomization): New function.
(init_remote_ops): Install it.
(extended_remote_supports_disable_randomization): New function.
(init_extended_remote_ops): Install it.
(extended_remote_disable_randomization): New function.
(extended_remote_create_inferior_1): Call it.
* target.h (struct target_ops): Add to_supports_disable_randomization.
(target_supports_disable_randomization): Add prototype.
* target.c (target_supports_disable_randomization): New function.
(find_default_supports_disable_randomization): Likewise.
(init_dummy_target): Install it.
doc/
* gdb.texinfo (Starting your Program): "set disable-randomization"
is no longer Linux-specific.
(Remote Configuration): Document "set remote
disable-randomization-packet".
(General Query Packets): Document "QDisableRandomization" packet
and add it to "qSupported" list.
gdbserver/
* configure.ac: Check support for personality routine.
* configure: Regenerate.
* config.in: Likewise.
* linux-low.c: Include <sys/personality.h>.
Define ADDR_NO_RANDOMIZE if necessary.
(linux_create_inferior): Disable address space randomization when
forking inferior, if requested.
(linux_supports_disable_randomization): New function.
(linux_target_ops): Install it.
* server.h (disable_randomization): Declare.
* server.c (disable_randomization): New global variable.
(handle_general_set): Handle QDisableRandomization.
(handle_query): Likewise for qSupported.
(main): Support --disable-randomization and --no-disable-randomization
command line arguments.
* target.h (struct target_ops): Add supports_disable_randomization.
(target_supports_disable_randomization): New macro.
Diffstat (limited to 'gdb/inferior.h')
-rw-r--r-- | gdb/inferior.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/inferior.h b/gdb/inferior.h index 8aca8dc..cfaea7f 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -124,6 +124,10 @@ extern int non_stop; detached depends on 'set follow-fork-mode' setting. */ extern int detach_fork; +/* When set (default), the target should attempt to disable the operating + system's address space randomization feature when starting an inferior. */ +extern int disable_randomization; + extern void generic_mourn_inferior (void); extern void terminal_save_ours (void); |