aboutsummaryrefslogtreecommitdiff
path: root/gdb/inferior.h
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2011-10-07 12:06:48 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2011-10-07 12:06:48 +0000
commit03583c206f350870e077f4e112f83b3c4bdd0b27 (patch)
treef21677825f84019f3963478b1f560a497081f4d2 /gdb/inferior.h
parent01b71697807be429fbd5d960e4228c04837024e3 (diff)
downloadgdb-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.h4
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);