Re: gdbserver

Daniel Jacobowitz
2002-09-03T02:12:30Z

On Mon, Sep 02, 2002 at 09:47:24PM -0400, Andrew Cagney wrote:
> >On Fri, Aug 30, 2002 at 04:34:39PM -0700, Michael Snyder wrote:
> >
> >>Daniel Jacobowitz wrote:
> >
> >>>
> >>> [Bart, please try this patch.]
> >>>
> >>> List folks,
> >>>
> >>> I think the time has come for generic_prepare_to_proceed to actually be
> >>> used. The problem addressed by this patch is that PREPARE_TO_PROCEED
> >>> is not a native-only macro (and not part of the target stack). So
> >>> lin_lwp_prepare_to_proceed would be called when using gdbserver, and of
> >>> course trap_ptid would be null_ptid or stale.
> >>> generic_prepare_to_proceed works correctly for lin-lwp native
> >>> debugging, and for remote debugging. This patch fixes an incorrect
> >>> breakpoint hit after manually switching threads; i.e. the same
> >>> breakpoint would be hit a second time. I'll try to write an
> >>> independent test case.
> >>>
> >>> Patch look OK?
> >
> >>
> >>Of course, a simpler and less intrusive fix would be to simply
> >>define PREPARE_TO_PROCEED as generic_prepare_to_proceed, and
> >>remove lin_lwp_prepare_to_proceed.
>
> Yes (well using set_gdbarch_prepare_to_proceed() :-). Hmm, things to do
> for someone --- add a linux-tdep.c file?

I've got a linux-nat already in my local tree, might as well do a
linux-tdep... but then I'd need to hook this in to all the osabi stuff,
and I'd rather not add it as GNU/Linux-specific only to make it global
after we branch.

Are you saying we should do the less invasive fix as above? It won't
work unless I move the definition to the tm headers, since this affects
cross targets too. I'd rather see the default changed as I proposed,
if you're comfortable with it. Then after the branch we can look at
the other platforms which have their own custom version.

[I'm never quite clear what you mean when you answer a thread with "yes"
:)]

> >>I'm not necessarily objecting to this patch -- just pointing
> >>out an alternative. If people think we're ready for this step,
> >>it's fine with me.
> >
> >
> >I think we're ready, but let's wait and see. For any non-threaded
> >target generic_prepare_to_proceed won't do any harm, since it checks
> >inferior_ptid != resume_ptid; for threaded targets, some version of
> >this function must be better than none.
>
> Post branch, the whole lot can probably be ripped out.

Probably. I don't know if the generic code will work right in HP/UX
but I can't really see why it wouldn't.... I don't suppose you're
interested in ripping out HP/UX period after the branch? :) We may
have a PA-RISC maintainer now but he didn't sound enthusiastic about
getting HP/UX dumped on him too.