This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH v4 2/9] add "this" pointers to more target APIs
- From: Pedro Alves <palves at redhat dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 08 Nov 2013 17:45:07 +0000
- Subject: Re: [PATCH v4 2/9] add "this" pointers to more target APIs
- Authentication-results: sourceware.org; auth=none
- References: <1382464769-2465-1-git-send-email-tromey at redhat dot com> <1382464769-2465-3-git-send-email-tromey at redhat dot com> <526E8AF2 dot 7050202 at redhat dot com> <87r4b5cpxd dot fsf at fleche dot redhat dot com> <526E9451 dot 6050103 at redhat dot com> <87mwltcp8v dot fsf at fleche dot redhat dot com>
On 10/28/2013 04:52 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <email@example.com> writes:
> Pedro> On 10/28/2013 04:37 PM, Tom Tromey wrote:
>>> It is all moot, I think. There is no reason for linux-nat to ever call
>>> linux_nat_is_async_p any more. I think we can drop all the dead code
>>> instead. I noted this in the first submission and said I will do it in
>>> a followup; but I think I'll just tack it on to this series instead.
> Pedro> I'd rather keep the code to allow forcing sync mode for a while,
> Pedro> to make it easier to debug problems and compare modes.
> With this series, there's no way to force sync mode.
That'll really make our lives complicated. We'll definitely
hit async specific problems, and not being able to easily
compare how sync behaves will be a nuisance. Also, given most
targets don't support async, I think it'll be very valuable
to easily check how sync mode works on native GNU/Linux as proxy
for those targets -- consider patches changing run control and
execution commands code. Heck, I've gone through the trouble
of implementing software single-step on x86 just to be able
to use that as proxy for sss targets. :-)
> I think maybe it could be done by adding a new "maint" setting.
Yeah, "set target-async" used to be a set of maint commands.
We've come full circle. :-)
> We can't reuse "set target-async" due to the MI misuse, unless we're
> willing to change the default setting of this parameter based on the
> current interpreter. In fact an earlier version of my patch series did
> just this, but IIRC I thought it was too hackish.
Yeah, making the setting be MI specific is better.
> While we're here, I wonder now whether the distinction between "can
> async" and "is async" makes sense any more. I'm inclined to remove one
> of them.
Yeah, probably doesn't. We used to have this target_async_mask
mechanism, that got replaced by TARGET_WNOHANG:
and forced waits:
Before that, the target could support async, but have it
masked (so "can" would be true, "is" would be "false").