From: Joel Brobecker <brobecker@adacore.com>
To: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Cc: Pedro Alves <palves@redhat.com>,
Jan Kratochvil <jan.kratochvil@redhat.com>,
gdb-patches@sourceware.org
Subject: Re: [patch] [i386] Put hlt at the ON_STACK breakpoint [Re: GDB 7.4.91 available for testing]
Date: Wed, 25 Jul 2012 22:39:00 -0000 [thread overview]
Message-ID: <20120725223933.GD2767@adacore.com> (raw)
In-Reply-To: <1343252775.2240.51.camel@soleil>
> A valid instruction is not enough. We need a valid instruction
> that will cause Valgrind to terminate block translation.
> The breakpoint trap instruction is ok for that.
> (0xcc for x86 and amd64, 0x0005000d for mips32).
I think it is fine to update GDB to insert the breakpoint instruction
instead of leaving random bytes at the breakpoint location. But it
sounds like this is forcing GDB to have insider knowledge of valgrind.
It would seem better if, in parallel to our efforts, something was
done on the valgrind side as well to make it work without the GDB
workaround. For instance, couldn't valgrind figure out that the
block translation should stop at a Z0 address if the instruction
underneath is illegal?
What I am trying to do, is make sure that new GDB versions work well
with older versions of valgrind (although, isn't gdbserver support
relatively recent?), while at the same time trying to make future
versions of valgrind more robust. I don't know how long we are going
to be able to keep the workaround. What if other tools implementing
the remote protocol had the same problem, and they required us to
insert a different instruction instead?
--
Joel
next prev parent reply other threads:[~2012-07-25 22:39 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20120718163413.GA17548@adacore.com>
[not found] ` <1342739016.2220.32.camel@soleil>
[not found] ` <20120720071158.GA7053@host2.jankratochvil.net>
[not found] ` <1342817409.2149.41.camel@soleil>
[not found] ` <20120722173053.GA22036@host2.jankratochvil.net>
[not found] ` <1342983655.2301.55.camel@soleil>
2012-07-23 7:22 ` Jan Kratochvil
2012-07-23 16:00 ` Joel Brobecker
2012-07-23 16:36 ` Jan Kratochvil
2012-07-23 20:07 ` Philippe Waroquiers
2012-07-23 20:16 ` Jan Kratochvil
2012-07-23 20:37 ` Philippe Waroquiers
2012-07-25 14:49 ` Joel Brobecker
2012-07-25 20:04 ` Philippe Waroquiers
2012-07-25 20:11 ` Jan Kratochvil
2012-07-25 20:39 ` Philippe Waroquiers
2012-07-25 14:59 ` Pedro Alves
2012-07-25 20:24 ` Philippe Waroquiers
2012-07-25 21:27 ` Joel Brobecker
2012-07-25 21:46 ` Philippe Waroquiers
2012-07-25 22:39 ` Joel Brobecker [this message]
2012-07-26 21:24 ` [patchv2] Write bpt at the ON_STACK bpt address Jan Kratochvil
2012-07-26 21:50 ` Philippe Waroquiers
2012-07-27 18:47 ` Jan Kratochvil
2012-07-28 7:28 ` Eli Zaretskii
2012-07-28 7:42 ` Jan Kratochvil
2012-07-31 7:37 ` [commit+7.5] " Jan Kratochvil
2012-08-01 9:08 ` [commit#2+7.5] testsuite: valgrind-infcall.exp UNSUPPORTED update [Re: [commit+7.5] [patchv2] Write bpt at the ON_STACK bpt address] Jan Kratochvil
2012-08-02 22:49 ` [commit+7.5] [patchv2] Write bpt at the ON_STACK bpt address Edjunior Barbosa Machado
2012-08-02 23:09 ` Sergio Durigan Junior
2012-08-03 0:15 ` Edjunior Barbosa Machado
2012-08-03 11:23 ` Jan Kratochvil
2012-08-03 12:09 ` Edjunior Barbosa Machado
2012-08-03 1:00 ` Pedro Alves
2012-08-03 1:48 ` Sergio Durigan Junior
2012-08-03 2:30 ` Edjunior Barbosa Machado
2012-08-03 21:45 ` Philippe Waroquiers
2012-08-03 14:23 ` Tom Tromey
2012-08-03 14:31 ` Jan Kratochvil
2012-08-03 15:02 ` Edjunior Barbosa Machado
2012-08-03 15:08 ` Jan Kratochvil
2012-08-03 16:43 ` Edjunior Barbosa Machado
2012-08-03 16:46 ` Jan Kratochvil
2012-08-03 18:00 ` Edjunior Barbosa Machado
2012-08-03 20:23 ` Jan Kratochvil
2012-08-03 21:46 ` Edjunior Barbosa Machado
2012-08-06 18:40 ` Tom Tromey
2012-07-31 7:40 ` [commit] valgrind-db-attach.exp: Do not run in remote mode [Re: [patchv2] Write bpt at the ON_STACK bpt address] Jan Kratochvil
2012-07-26 23:14 ` [patchv2] Write bpt at the ON_STACK bpt address Maciej W. Rozycki
2012-07-27 16:02 ` Jan Kratochvil
2012-07-28 0:10 ` Maciej W. Rozycki
2012-07-28 6:06 ` Jan Kratochvil
2012-07-30 18:09 ` Maciej W. Rozycki
2012-07-26 23:15 ` Philippe Waroquiers
2012-07-27 16:03 ` Jan Kratochvil
2012-07-27 15:21 ` Pedro Alves
2012-07-26 21:56 ` [patch] [i386] Put hlt at the ON_STACK breakpoint [Re: GDB 7.4.91 available for testing] Philippe Waroquiers
2012-07-26 22:41 ` Philippe Waroquiers
2012-07-26 5:13 ` Jan Kratochvil
2012-07-26 12:48 ` Pedro Alves
2012-07-26 22:21 ` Philippe Waroquiers
2012-07-27 14:59 ` Pedro Alves
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=20120725223933.GD2767@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=palves@redhat.com \
--cc=philippe.waroquiers@skynet.be \
/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