This is the mail archive of the gdb-patches@sources.redhat.com 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/rfc] Disable [eE] packets by default


Andrew Cagney wrote:
> 
> Hello,
> 
> This is a followup to the current discussion regarding the [Ee] packets.
>   It disables them by default.
> 
> While it is a brutal solution to a problem, it is also 6 days before 5.2
> branches.  It also clears the slate for another attempt at this.
> 
> Thoughts?

I think this is the right thing to do.  Previously we had
no way to test the 'e' packet.  Now that we do have, it is
seen to be buggy.  This is like an unreliable optimization.
You can give the user the opportunity to use it if he chooses, 
but you don't turn it on by default.

I would like to start discussing the right way to implement this.
For one thing, the current implementation has remote.c snatching
control away from infrun, and doing something completely 
different from what infrun asked it to do.  I'd like to have
the decision about whether to use step-over-range made in
infrun, not in the target layer.


> Andrew
> 
> PS: There is no doco patch.  This packet was never documented.  Sigh :-(
> 
>     ---------------------------------------------------------------
> 2002-02-24  Andrew Cagney  <ac131313@redhat.com>
> 
>         * remote.c (_initialize_remote): By default, disable ``e'' and
>         ``E'' step out-of-range packets.
> 
> Index: remote.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/remote.c,v
> retrieving revision 1.76
> diff -u -r1.76 remote.c
> --- remote.c    2002/02/10 04:08:42     1.76
> +++ remote.c    2002/02/25 00:19:23
> @@ -6099,6 +6099,10 @@
>                          show_remote_protocol_e_packet_cmd,
>                          &remote_set_cmdlist, &remote_show_cmdlist,
>                          0);
> +  /* Disable by default.  The ``e'' packet has nasty interactions with
> +     the threading code - it relies on global state.  */
> +  remote_protocol_e.detect = CMD_AUTO_BOOLEAN_FALSE;
> +  update_packet_config (&remote_protocol_e);
> 
>    add_packet_config_cmd (&remote_protocol_E,
>                          "E", "step-over-range-w-signal",
> @@ -6106,6 +6110,10 @@
>                          show_remote_protocol_E_packet_cmd,
>                          &remote_set_cmdlist, &remote_show_cmdlist,
>                          0);
> +  /* Disable by default.  The ``e'' packet has nasty interactions with
> +     the threading code - it relies on global state.  */
> +  remote_protocol_E.detect = CMD_AUTO_BOOLEAN_FALSE;
> +  update_packet_config (&remote_protocol_E);
> 
>    add_packet_config_cmd (&remote_protocol_P,
>                          "P", "set-register",


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