Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Yao Qi <yao@codesourcery.com>
Cc: gdb-patches@sourceware.org, cltang@codesourcery.com
Subject: Re: [PATCH 1/4] New gdb arch hook: return_with_first_hidden_param_p
Date: Mon, 07 May 2012 20:14:00 -0000	[thread overview]
Message-ID: <20120507201345.GX15555@adacore.com> (raw)
In-Reply-To: <4FA743EC.1080903@codesourcery.com>

Hi Yao,

>  <2><233a>: Abbrev Number: 45 (DW_TAG_subprogram)
>     <233b>   DW_AT_external    : 1
>     <233c>   DW_AT_name        : (indirect string, offset: 0x1759):
> substr
>     <2340>   DW_AT_decl_file   : 9
>     <2341>   DW_AT_decl_line   : 2004
>     <2343>   DW_AT_MIPS_linkage_name: (indirect string, offset: 0x297d):
> _ZNKSs6substrEjj
>     <2347>   DW_AT_type        : <0x1160>
>     <234b>   DW_AT_declaration : 1
>     <234c>   DW_AT_sibling     : <0x2361>
>  <3><2350>: Abbrev Number: 15 (DW_TAG_formal_parameter)
>     <2351>   DW_AT_type        : <0x2466>
>     <2355>   DW_AT_artificial  : 1


What's the relationship between the first parameter's type (DIE 0x2466)
and the function's published returned type (DIE 0x2466)? Is one a
reference type of the other, for instance?

Basically, what I'm trying to help us find is a heuristic that would
be based purely on the DWARF info, rather than on implementation
knowledge from the compiler.  That way, we can try supporting the
current compiler, while at least trying to define what the standard
method should be (meaning that you don't need to be the one who
coordinates the effort of cleaning that up).

> Yes, we need some new tag to describe for this situation.

I saw the discussion you started on dwarf-discuss. Thanks!

> The heuristics in my mind is to do prologue analysis, to see how many
> parameters are expected in sub routine, but not sure how reliable and
> effective it is.

I don't think that's a good idea. Too specialized, and too fragile.
And thanks to DWARF frame information, it's something we're slowly
getting away from.

> This problem is caused by C++ argument passing in inf-call, but not a
> C++ problem, IMO.  Any one here should be able to comment on this
> patch, don't be scared by C++ :)

I have a better picture of the problem thanks you the copy of
the debug info. I agree it's not a C++-specific problem. I was just
invinting others to comment as well. I don't want to be too lax
and allow a detection method which I think isn't going to scale well.
But at the same time, I don't want to be too strict, and discourage
you. Having others comment on the issue might bring some ideas we
haven't had yet, or correct me on my understanding.

-- 
Joel


  reply	other threads:[~2012-05-07 20:14 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-18 13:28 Yao Qi
2012-04-18 13:18 ` [PATCH 3/4] sh: Install return_with_first_hidden_param_p Yao Qi
2012-05-16 21:00   ` Tom Tromey
2012-04-18 13:18 ` [PATCH 4/4] m68k: " Yao Qi
2012-05-16 21:01   ` Tom Tromey
2012-04-18 13:18 ` [PATCH 2/4] tic6x: " Yao Qi
2012-05-16 20:59   ` Tom Tromey
2012-04-25 11:02 ` [PATCH 1/4] New gdb arch hook: return_with_first_hidden_param_p Yao Qi
2012-05-03  0:43 ` [ping 2] : " Yao Qi
2012-05-03  1:15 ` Joel Brobecker
2012-05-03  7:00   ` Yao Qi
2012-05-04 17:58     ` Joel Brobecker
2012-05-07  3:39       ` Yao Qi
2012-05-07 20:14         ` Joel Brobecker [this message]
2012-05-09  8:39           ` Yao Qi
2012-05-10 21:21             ` Joel Brobecker
2012-05-11 10:35               ` Yao Qi
2012-05-14 17:15                 ` Joel Brobecker
2012-05-15  6:51                   ` Yao Qi
2012-05-15 15:01                     ` Joel Brobecker
2012-05-16  1:37                       ` Yao Qi
2012-05-16 15:31                         ` Joel Brobecker
2012-05-16 21:03                           ` Tom Tromey
2012-05-15 18:03                     ` Mark Kettenis
2012-05-16  1:55                       ` Yao Qi
2012-05-17 21:02                         ` Mark Kettenis
2012-07-06 13:17                       ` Gary Benson
2012-05-15 15:35               ` Thomas Schwinge
2012-05-15 21:30                 ` Joel Brobecker
2012-05-03 14:04   ` Chung-Lin Tang
2012-05-16 20:56 ` Tom Tromey
2012-05-16 23:03   ` Mark Kettenis
2012-06-08 14:30     ` Yao Qi

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=20120507201345.GX15555@adacore.com \
    --to=brobecker@adacore.com \
    --cc=cltang@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=yao@codesourcery.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