From: "Metzger, Markus T" <markus.t.metzger@intel.com>
To: Pedro Alves <palves@redhat.com>
Cc: Jan Kratochvil <jan.kratochvil@redhat.com>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: RE: [patch v8 05/24] frame: artificial frame id's
Date: Fri, 13 Dec 2013 13:01:00 -0000 [thread overview]
Message-ID: <A78C989F6D9628469189715575E55B230AA378A0@IRSMSX104.ger.corp.intel.com> (raw)
In-Reply-To: <52AAF8EA.4020608@redhat.com>
> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Pedro Alves
> Take a look at this patch:
>
> https://sourceware.org/ml/gdb-patches/2013-04/msg00541.html
>
> It seems to me your frames are exactly like those, though
> it sounds like you may have more than one frame with stack
> unavailable, and with the same code address, but that should
> be identified as different frames (please confirm). In that
> case, it seems like you could use the artificial depth to
> distinguish them.
I have several frames, none of them has an available stack.
It's either my frames or some other frames. They are never
mixed.
I may also have frames with the same code address and they
would need to be identified as different frames - confirmed.
I'm assigning a unique identifier to special so I can distinguish
frames that have the same code address. That identifier is
preserved during stepping.
Afaik, the artificial depth is used for artificial frames beneath
a real frame. It's used for inline and tailcall frames. The
artificial_depth field is a simple counter.
This does not quite match what I need. Since all frames in my
stack are artificial, I wouldn't have a real frame on top from
which to start counting. So I would count from the sentinel
frame and the artificial_depth would be equal to the frame level.
I could imagine that this would cause problems during stepping
when trying to detect stepping into subroutines by comparing
frame_id's.
I could set stack_p to -1 instead of 0, though. Looks like this
already addresses some of the problems you listed.
Do you have tests that demonstrate the issues you mentioned?
The tests in the repo behave identical with or without my changes.
regards,
markus.
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
next prev parent reply other threads:[~2013-12-13 13:01 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-12 9:15 [patch v8 00/24] record-btrace: reverse Markus Metzger
2013-12-12 9:15 ` [patch v8 03/24] gdbarch: add instruction predicate methods Markus Metzger
2013-12-12 9:15 ` [patch v8 14/24] record-btrace: supply register target methods Markus Metzger
2013-12-12 9:15 ` [patch v8 01/24] btrace, linux: fix memory leak when reading branch trace Markus Metzger
2013-12-12 9:15 ` [patch v8 16/24] record-btrace, frame: supply target-specific unwinder Markus Metzger
2013-12-12 9:16 ` [patch v8 02/24] btrace: uppercase btrace_read_type Markus Metzger
2013-12-12 9:16 ` [patch v8 24/24] record-btrace: add (reverse-)stepping support Markus Metzger
2013-12-12 16:36 ` Eli Zaretskii
2013-12-13 19:22 ` Pedro Alves
2013-12-16 15:56 ` Metzger, Markus T
2013-12-16 20:30 ` Pedro Alves
2013-12-17 14:14 ` Metzger, Markus T
2013-12-17 15:07 ` Metzger, Markus T
2013-12-17 15:48 ` Metzger, Markus T
2013-12-17 20:41 ` Pedro Alves
2013-12-17 20:34 ` Pedro Alves
2013-12-17 20:07 ` Pedro Alves
2013-12-18 9:44 ` Metzger, Markus T
2013-12-12 9:16 ` [patch v8 06/24] btrace: change branch trace data structure Markus Metzger
2013-12-12 9:16 ` [patch v8 09/24] btrace: increase buffer size Markus Metzger
2013-12-12 9:16 ` [patch v8 12/24] btrace: add replay position to btrace thread info Markus Metzger
2013-12-12 9:16 ` [patch v8 19/24] record-btrace: provide target_find_new_threads method Markus Metzger
2013-12-12 9:16 ` [patch v8 05/24] frame: artificial frame id's Markus Metzger
2013-12-12 19:39 ` Pedro Alves
2013-12-12 19:55 ` Jan Kratochvil
2013-12-13 8:04 ` Metzger, Markus T
2013-12-13 11:27 ` Jan Kratochvil
2013-12-13 11:42 ` Metzger, Markus T
2013-12-13 12:09 ` Pedro Alves
2013-12-13 13:01 ` Metzger, Markus T [this message]
2013-12-13 15:44 ` Pedro Alves
2013-12-13 17:51 ` Pedro Alves
2013-12-18 13:30 ` Metzger, Markus T
2013-12-12 9:16 ` [patch v8 23/24] record-btrace: show trace from enable location Markus Metzger
2013-12-13 19:50 ` Pedro Alves
2013-12-16 12:57 ` Metzger, Markus T
2013-12-16 19:41 ` Pedro Alves
2013-12-17 13:20 ` Metzger, Markus T
2013-12-17 16:59 ` Pedro Alves
2013-12-12 9:16 ` [patch v8 20/24] record-btrace: add record goto target methods Markus Metzger
2013-12-12 9:16 ` [patch v8 21/24] record-btrace: extend unwinder Markus Metzger
2013-12-13 19:45 ` Pedro Alves
2013-12-16 12:42 ` Metzger, Markus T
2013-12-16 19:22 ` Pedro Alves
2013-12-17 12:56 ` Metzger, Markus T
2013-12-12 9:16 ` [patch v8 13/24] target: add ops parameter to to_prepare_to_store method Markus Metzger
2013-12-12 9:16 ` [patch v8 10/24] record-btrace: optionally indent function call history Markus Metzger
2013-12-12 9:16 ` [patch v8 22/24] btrace, gdbserver: read branch trace incrementally Markus Metzger
2013-12-13 19:46 ` Pedro Alves
2013-12-16 12:47 ` Metzger, Markus T
2013-12-16 19:23 ` Pedro Alves
2013-12-12 9:16 ` [patch v8 04/24] frame: add frame_is_tailcall function Markus Metzger
2013-12-12 9:16 ` [patch v8 15/24] frame, backtrace: allow targets to supply a frame unwinder Markus Metzger
2013-12-13 18:27 ` Pedro Alves
2013-12-16 9:18 ` Metzger, Markus T
2013-12-16 19:02 ` Pedro Alves
2013-12-17 8:26 ` Metzger, Markus T
2013-12-17 9:48 ` Pedro Alves
2013-12-12 9:16 ` [patch v8 17/24] record-btrace: provide xfer_partial target method Markus Metzger
2013-12-13 18:43 ` Pedro Alves
2013-12-16 10:53 ` Metzger, Markus T
2013-12-16 19:16 ` Pedro Alves
2013-12-17 11:58 ` Metzger, Markus T
2013-12-17 16:56 ` Pedro Alves
2013-12-18 9:26 ` Metzger, Markus T
2013-12-18 10:39 ` Pedro Alves
2013-12-12 9:16 ` [patch v8 11/24] record-btrace: make ranges include begin and end Markus Metzger
2013-12-13 17:56 ` Pedro Alves
2013-12-12 9:16 ` [patch v8 07/24] record-btrace: fix insn range in function call history Markus Metzger
2013-12-12 9:16 ` [patch v8 08/24] record-btrace: start counting at one Markus Metzger
2013-12-12 9:16 ` [patch v8 18/24] record-btrace: add to_wait and to_resume target methods Markus Metzger
2013-12-12 14:07 ` [patch v8 00/24] record-btrace: reverse Jan Kratochvil
2013-12-12 14:19 ` Metzger, Markus T
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=A78C989F6D9628469189715575E55B230AA378A0@IRSMSX104.ger.corp.intel.com \
--to=markus.t.metzger@intel.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=palves@redhat.com \
/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