This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Restore behavior of disabling address randomization by default on GDBserver


On 08/22/2018 05:05 PM, Simon Marchi wrote:
> Commit
> 
>   c12a508 ("Add client_state struct.")
> 
> inadvertently changed the default behavior of GDBserver wrt address
> randomization.  The old disable_randomization global variable was
> initialized to 1, whereas the corresponding field in the client_state
> structure is initialized to 0.
> 
> This fixes
> 
>   make check TESTS="gdb.base/jit-simple.exp" RUNTESTFLAGS="--target_board=native-gdbserver"
>   make check TESTS="gdb.base/execl-update-breakpoints.exp" RUNTESTFLAGS="--target_board=native-gdbserver"
> 
> Note that the execl-update-breakpoints.exp would only fail on systems
> where the toolchain emits position-independent executables by default
> (otherwise the main executable position is never randomized, so the
> value of disable_randomization didn't matter).

Thanks for fixing this!

This is OK, but please double-check the patch/commit, since it
seems to include the same hunk twice.  Kind of looks like
the fix diff made it to the commit log?

> 
> gdb/gdbserver/ChangeLog:
> 
> 	PR gdb/23374
> 	PR gdb/23375
> 	* server.h (struct client_state) <disable_randomization>:
> 	Initialize to 1.
> 
> diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h index
> 8e197ee..5e41e2f 100644 --- a/gdb/gdbserver/server.h +++
> b/gdb/gdbserver/server.h @@ -176,7 +176,7 @@ struct client_state
> 
>    /* Whether we should attempt to disable the operating system's address
>       space randomization feature before starting an inferior.  */
> -  int disable_randomization = 0;
> +  int disable_randomization = 1;
> 
>    int pass_signals[GDB_SIGNAL_LAST];
>    int program_signals[GDB_SIGNAL_LAST];
> ---
>  gdb/gdbserver/server.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h
> index 8e197ee..5e41e2f 100644
> --- a/gdb/gdbserver/server.h
> +++ b/gdb/gdbserver/server.h
> @@ -176,7 +176,7 @@ struct client_state
>  
>    /* Whether we should attempt to disable the operating system's address
>       space randomization feature before starting an inferior.  */
> -  int disable_randomization = 0;
> +  int disable_randomization = 1;
>  
>    int pass_signals[GDB_SIGNAL_LAST];
>    int program_signals[GDB_SIGNAL_LAST];
> 
Thanks,
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]