Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@zwingli.cygnus.com>
To: Daniel Berlin <dan@dberlin.org>
Cc: Petr Sorfa <petrs@caldera.com>,
	Daniel Jacobowitz <drow@mvista.com>, <gdb@sources.redhat.com>
Subject: Re: Upcoming DWARF 3 and FORTRAN95 patches for 5.1.1 or 5.2?
Date: Fri, 15 Feb 2002 12:47:00 -0000	[thread overview]
Message-ID: <npofiqjwru.fsf@zwingli.cygnus.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0202041203250.26583-100000@dberlin.org>


Daniel Berlin <dan@dberlin.org> writes:
> >       /* Write to STREAM a natural-language description of the location of
> >          the object described by BATON.  */
> >       int (*describe_location) (void *baton, struct ui_file *stream);
> 
> I assume natural language is a codeword for "meant for user only, don't 
> try to parse it"?

Well, that function is just there for the `info address' command:

    (gdb) info addr argc
    Symbol "argc" is an argument at offset 8.
    (gdb) 

So its job is to be comprehensible to the user, and accurate enough to
be useful to people hacking on GDB; it doesn't have many technical
constraints on what it says.


> >       /* Tracepoint support.
> >          Append bytecodes to the tracepoint agent expression AX that push
> >          the address of the object described by BATON.  Set VALUE
> >          appropriately.  Note --- for objects in registers, this needn't
> >          emit any code; as long as it sets VALUE properly, then the caller
> >          will generate the right code in the process of treating this as
> >          an lvalue or rvalue.  */
> 
> Is this always possible without a current address?
> IE can the agent bytecode support the fact that for location lists, we 
> need to know where we are before we can tell you where the variable is.
> One could encode this as a bunch of if's and comparisons if the agent 
> bytecode supports them, i guess.

Oh, you're right --- yes, you need a sal in order to decide what
bytecode to emit.  A tracepoint's bytecode gets run when we hit a
tracepoint, so GDB can generate bytecode specific to that PC.

> >       void (*tracepoint_var_ref) (void *baton,
> >                                   struct agent_expr *ax,
> >                                   struct axs_value *value);

So that should be:

      /* Tracepoint support.
         Append bytecodes to the tracepoint agent expression AX that
         push the address of the object described by BATON, at the
         point in the code given by tracepoint_pos.  Set VALUE
         appropriately.  Note --- for objects in registers, this
         needn't emit any code; as long as it sets VALUE properly,
         then the caller will generate the right code in the process
         of treating this as an lvalue or rvalue.  */
       void (*tracepoint_var_ref) (void *baton,
                                   struct symtabs_and_lines *tracepoint_pos,
                                   struct agent_expr *ax,
                                   struct axs_value *value);


  parent reply	other threads:[~2002-02-15 20:47 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-17 14:08 Petr Sorfa
2002-01-17 14:56 ` Daniel Jacobowitz
2002-01-17 15:07   ` Daniel Berlin
2002-01-17 15:10     ` Daniel Jacobowitz
2002-01-17 15:46       ` Petr Sorfa
2002-01-17 16:12         ` Daniel Berlin
2002-01-18  7:08           ` Petr Sorfa
2002-01-18  8:09             ` Petr Sorfa
2002-01-18 12:09               ` Daniel Berlin
2002-01-18 11:46                 ` Petr Sorfa
2002-01-18 12:10                   ` Daniel Berlin
2002-01-23 15:41                     ` Jim Blandy
2002-01-23 16:18                       ` Daniel Berlin
2002-01-23 16:36                         ` Andrew Cagney
2002-01-23 17:10                           ` Daniel Berlin
2002-01-23 16:38                       ` Daniel Jacobowitz
2002-01-23 17:19                         ` Daniel Berlin
2002-02-01 13:44                       ` Jim Blandy
2002-02-04  9:13                         ` Daniel Berlin
2002-02-04 17:13                           ` Andrew Cagney
2002-02-15 12:47                           ` Jim Blandy [this message]
2002-02-04 16:29                         ` Andrew Cagney
2002-01-17 15:20   ` Andrew Cagney

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=npofiqjwru.fsf@zwingli.cygnus.com \
    --to=jimb@zwingli.cygnus.com \
    --cc=dan@dberlin.org \
    --cc=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    --cc=petrs@caldera.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