From: Emi SUZUKI <emi-suzuki@tjsys.co.jp>
To: gdb-patches@sourceware.org
Subject: Re: [patch] "single step" atomic instruction sequences as a whole.
Date: Thu, 08 Feb 2007 13:00:00 -0000 [thread overview]
Message-ID: <20070208.215940.115903865.emi-suzuki@tjsys.co.jp> (raw)
In-Reply-To: <200702071110.01767.luisgpm@br.ibm.com>
Hello Luis,
Thank you for your reply.
* On Wed, 07 Feb 2007 11:10:01 -0200, Luis Machado wrote:
> What's exactly been modified on your patch for single stepping of atomic
> instruction sequences?
OK, I will explain about them one by one.
First, I defined the entity of SOFTWARE_SINGLE_STEP_P macro on
rs6000-tdep.c. It returns true if the new function
'rs6000_deal_with_atomic_sequence' returns a non-zero value, say,
skipping an atomic sequence instruction is needed.
'rs6000_deal_with_atomic_sequence' is derived from Paul's patch to
search the subsequent instructions: it start reading instructions from
PC and returns the address which indicates the end of the atomic
sequence if any is found. It is also called by 'rs6000_software_single_step'
to get the address to which a software single-step breakpoint will be
set. 'rs6000_software_single_step' is set to gdbarch by
'set_gdbarch_software_single_step'.
Note that the gdbarch definition for RS6000 is also used when GDB was
configured for the POWER architectures, so the modification also
effects on ppc*-linux configuration without defining in ppc-linux-tdep.c.
# I didn't see any differences between the patchs for those two files
# which you have resent, but point me out if I have missed something.
By the changes above, GDB sometimes makes the target do software
single-stepping even if the target environment supports hardware
single-stepping: the basic behavior is the same as what Paul's
patchset does.
But the function handle_inferior_event, defined in infrun.c, has some
codes based on the assumption that the status of hardware
single-stepping support is not changed during the debugging session.
So I removed these codes.
And the thread hopping procedures should be done when the thread other
than the one doing software single-stepping runs on a stop-code for
software single-stepping. It can also occur while "temporary
software single-stepping" is being done, but handle_inferior_event
doesn't take those things into consideration.
So I added the code to save 'singlestep_ptid' in resume, even when
a hardware single-stepping will be done. It will be compared with
the ptid of the trapped thread for checking if the thread hopping
occured.
> Does it handle the issues that you have mentioned
> about thread hopping check?
It should do, logically. But I have checked only on our hardware.
I will appreciate if you check it on your environment.
Maybe I should write a test code for testsuite...
Best regards,
--
Emi SUZUKI
next prev parent reply other threads:[~2007-02-08 13:00 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-06 11:02 Luis Machado
2007-02-06 12:11 ` Emi SUZUKI
2007-02-07 13:10 ` Luis Machado
2007-02-08 13:00 ` Emi SUZUKI [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-03-15 22:24 Luis Machado
2007-04-10 20:40 ` Daniel Jacobowitz
2007-04-12 12:09 ` Luis Machado
2007-04-12 12:15 ` Daniel Jacobowitz
2007-04-12 12:54 ` Luis Machado
2007-04-12 12:58 ` Daniel Jacobowitz
2007-04-12 13:30 ` Luis Machado
2007-04-12 13:35 ` Daniel Jacobowitz
2007-04-12 14:58 ` Ulrich Weigand
2007-04-12 15:33 ` Daniel Jacobowitz
2007-04-12 17:16 ` Ulrich Weigand
2007-04-12 18:25 ` Daniel Jacobowitz
2007-04-12 20:09 ` Ulrich Weigand
2007-04-12 20:16 ` Mark Kettenis
2007-04-12 20:43 ` Ulrich Weigand
2007-04-14 15:20 ` Mark Kettenis
2007-04-14 18:13 ` Ulrich Weigand
2007-04-12 20:49 ` Daniel Jacobowitz
2007-04-12 20:48 ` Daniel Jacobowitz
2007-04-12 14:32 ` Ulrich Weigand
2007-04-12 14:47 ` Luis Machado
2007-04-12 15:00 ` Ulrich Weigand
2007-02-17 2:24 Luis Machado
2007-02-27 13:00 ` Emi SUZUKI
2007-02-27 13:17 ` Daniel Jacobowitz
2007-02-28 8:08 ` Emi SUZUKI
2007-02-28 11:46 ` Daniel Jacobowitz
2007-02-28 16:09 ` Luis Machado
2007-03-02 12:47 ` Emi SUZUKI
2007-03-06 11:00 ` Andreas Schwab
2007-03-06 12:24 ` Daniel Jacobowitz
2007-03-08 8:50 ` Emi SUZUKI
2007-03-08 16:15 ` Ulrich Weigand
2007-03-13 6:12 ` SUZUKI Emi
2006-09-18 11:59 emin ak
2006-11-09 13:07 ` [patch] " emin ak
2006-06-22 20:56 PAUL GILLIAM
2006-06-22 21:53 ` PAUL GILLIAM
2006-06-22 22:20 ` PAUL GILLIAM
2006-11-10 21:18 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070208.215940.115903865.emi-suzuki@tjsys.co.jp \
--to=emi-suzuki@tjsys.co.jp \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox