Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Yao Qi <yao@codesourcery.com>
To: Joel Brobecker <brobecker@adacore.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: Fri, 11 May 2012 10:35:00 -0000	[thread overview]
Message-ID: <4FACEB4B.1060603@codesourcery.com> (raw)
In-Reply-To: <20120510212054.GA5886@adacore.com>

On 05/11/2012 05:20 AM, Joel Brobecker wrote:
>> > Agreed.  I stared at these debug info for a while, but unable to have
>> > a clue on heuristics.  My feeling is that these debug info doesn't give
>> > us more than what source code can give, but the heuristics we are looking
>> > for are about the difference on different targets, given the same source.
>> > That is to say, on different targets, although the number of parameters
>> > is different, the debug info is almost the same and hard to get heuristics,
> Can we use the fact that functions that have their first parameter
> be a nameless, artificial, paramter whose type is a pointer to
> the return type? Or would this heuristics trigger in other situations?
> 

Yeah, I thought of that heuristics, but it still can't differentiate
passing 3 or 4 parameters.

So far, the discussion in dwarf-discuss@ gives me a feeling that
"DW_AT_artificial_type"/"DW_ART_return_block" looks quite promising for
this problem, but it requires changes in gcc/binutils, and I haven't
investigate the history of it to see why it is ada-specific, instead of
a general attribute.

> If that doesn't work, then I am running out of ideas, and then we'll
> have to start looking giving GDB insider knowledge. But I really don't
> like that idea.

Well, we have to compromise :)  Could you please re-consider this patch
series, as it is a trade-off, and not perfect?

If this patch series is still not acceptable, we may create a variant
(or sub-class) of gnu-v3-abi, say "gnu-v3-pass-implicit-param" or
something similar, for targets affected by this problem, and
`set_cp_abi_as_auto_default ("gnu-v3-pass-implicit-param")' in each
target backend.  (This is my rough thought, and need some experiments to
see it works or not).  Even, if GCC in the future starts to pass
implicit parameter for these ports, we can switch to gnu-v3, and users
just have to type `set cp-abi gnu-v3' without rebuilding their GDB.

-- 
Yao (齐尧)


  reply	other threads:[~2012-05-11 10:35 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
2012-05-09  8:39           ` Yao Qi
2012-05-10 21:21             ` Joel Brobecker
2012-05-11 10:35               ` Yao Qi [this message]
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=4FACEB4B.1060603@codesourcery.com \
    --to=yao@codesourcery.com \
    --cc=brobecker@adacore.com \
    --cc=cltang@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    /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