Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
To: <tromey@redhat.com>
Cc: "'Joel Brobecker'" <brobecker@adacore.com>,
	<gdb-patches@sourceware.org>,
	       "'FPC Core Developer List'" <core@freepascal.org>
Subject: RE: [RFA] dwarf debug format: Support DW_AT_variable_parameter attribute
Date: Wed, 19 May 2010 21:45:00 -0000	[thread overview]
Message-ID: <000c01caf795$646be1e0$2d43a5a0$@muller@ics-cnrs.unistra.fr> (raw)
In-Reply-To: <m3fx1n90ul.fsf@fleche.redhat.com>


> Pierre>   I fear that my patch will have to wait until
> Pierre> this static expression evaluator is implemented...
> 
> I'm not totally convinced that we would want such an evaluator.
> 
> Could you change the type of a parameter marked with
> DW_AT_variable_parameter to be a reference type instead?  It seems to
> me
> that this would give the same result, or nearly so.

  That is what is done for now on Free Pascal,
i.e. the debug information generates a reference_type for
parameters passed by var.
  It's not ideal yet, but this is just a matter of
twicks inside p-* files...

  The following patch does make the same as
if the reference_type is created by Free Pascal.

  I am unsure about the type allocation procedure,
could you just tell me if this looks OK
before I resubmit an RFA.

Pierre 

$ cvs diff -u -p   dwarf2read.c
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.386
diff -u -p -r1.386 dwarf2read.c
--- dwarf2read.c        17 May 2010 15:55:01 -0000      1.386
+++ dwarf2read.c        19 May 2010 20:52:42 -0000
@@ -8662,6 +8662,20 @@ new_symbol (struct die_info *die, struct
            {
              dwarf2_const_value (attr, sym, cu);
            }
+         attr = dwarf2_attr (die, DW_AT_variable_parameter, cu);
+         if (attr && DW_UNSND (attr))
+           {
+             struct type *ref_type;
+
+             ref_type = TYPE_REFERENCE_TYPE (SYMBOL_TYPE (sym));
+             if (!ref_type)
+               {
+                 ref_type = alloc_type (objfile);
+                 ref_type = make_reference_type (SYMBOL_TYPE (sym),
&ref_type);
+               }
+             SYMBOL_TYPE (sym) = ref_type;
+           }
+
          add_symbol_to_list (sym, cu->list_in_scope);
          break;
        case DW_TAG_unspecified_parameters:


  reply	other threads:[~2010-05-19 20:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <8830.7035308846$1273670829@news.gmane.org>
2010-05-13 17:51 ` Tom Tromey
2010-05-17 17:34   ` Joel Brobecker
2010-05-17 17:34     ` Pierre Muller
2010-05-17 18:54       ` Joel Brobecker
2010-05-17 21:48         ` Pierre Muller
     [not found]         ` <44296.7587885962$1274132782@news.gmane.org>
2010-05-19 19:43           ` Tom Tromey
2010-05-19 21:45             ` Pierre Muller [this message]
     [not found]             ` <28559.2589797036$1274302480@news.gmane.org>
2010-05-19 22:34               ` Tom Tromey
2010-05-19 23:34                 ` [RFA-v2] " Pierre Muller
     [not found]                 ` <27418.1569614031$1274308493@news.gmane.org>
2010-05-21 17:44                   ` Tom Tromey
2010-05-21 20:50                     ` Pierre Muller
2010-11-04  5:32                       ` [new testcase] Regression 7.1->7.2 for iFort [Re: [RFA-v2] dwarf debug format: Support DW_AT_variable_parameter attribute] Jan Kratochvil
2010-11-04  8:47                         ` [Core] " Pierre Free Pascal
2010-11-04 18:01                           ` Joel Brobecker
2010-11-05  8:04                             ` Pierre Free Pascal
2011-09-01  7:20                           ` Jan Kratochvil
2010-05-12 13:27 [RFA] dwarf debug format: Support DW_AT_variable_parameter attribute Pierre Muller

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='000c01caf795$646be1e0$2d43a5a0$@muller@ics-cnrs.unistra.fr' \
    --to=pierre.muller@ics-cnrs.unistra.fr \
    --cc=brobecker@adacore.com \
    --cc=core@freepascal.org \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@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