public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simark@simark.ca>
To: Hannes Domani <ssbssa@yahoo.de>, gdb-patches@sourceware.org
Subject: Re: [PATCH v2 1/2] Fix function argument and return value locations
Date: Sun, 4 Oct 2020 21:50:18 -0400	[thread overview]
Message-ID: <acf1db04-591d-b4f1-dfa0-76ad6b0cba39@simark.ca> (raw)
In-Reply-To: <20200529150800.2013-1-ssbssa@yahoo.de>


On 2020-05-29 11:07 a.m., Hannes Domani via Gdb-patches wrote:
> Fixes these testsuite fails on Windows:
> FAIL: gdb.base/callfuncs.exp: p t_float_complex_values(fc1, fc2)
> FAIL: gdb.base/callfuncs.exp: p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)
> FAIL: gdb.base/callfuncs.exp: noproto: p t_float_complex_values(fc1, fc2)
> FAIL: gdb.base/callfuncs.exp: noproto: p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)
> FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld
> FAIL: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld
> FAIL: gdb.base/call-sc.exp: zed L for return; return call-sc-tld
> FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tld
> FAIL: gdb.base/call-sc.exp: return foo; synchronize pc to main() for 'call-sc-tld'
> FAIL: gdb.base/call-sc.exp: return foo; synchronize pc to main() for 'call-sc-tld'
> FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld
> FAIL: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld
> FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tld (the program is no longer running)
> FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tld
>
> For function arguments (callfuncs.exp), only TYPE_CODE_COMPLEX was
> missing in the types passed via integer registers.
>
> For return values, there were a lot more issues:
> - TYPE_CODE_DECFLOAT is NOT returned via XMM0.
> - long double is NOT returned via XMM0.
> - but __int128 IS returned via XMM0.
> - the comments for TYPE_CODE_FLT state that __m128, __m128i and __m128d are
>   returned by XMM0, and this is correct, but it doesn't actually check for
>   them, because they are TYPE_CODE_ARRAY with TYPE_VECTOR
>
> So I had to add TYPE_CODE_DECFLOAT to the arguments passed via XMM register,
> but I had to remove it from the values returned via XMM0 register.

I won't pretend I cross-checked all of this with the ABI documentation,
but that looks good to me.  If you say the tests now pass, that gives me
enough confidence, so please go ahead and merge.

Simon

  parent reply	other threads:[~2020-10-05  1:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200529150800.2013-1-ssbssa.ref@yahoo.de>
2020-05-29 15:07 ` Hannes Domani
2020-05-29 15:08   ` [PATCH 2/2] Handle Windows drives in auto-load script paths Hannes Domani
2020-05-29 15:15     ` Eli Zaretskii
2020-10-05  2:06     ` Simon Marchi
2020-10-05 11:23       ` Hannes Domani
2020-10-05 13:03         ` Simon Marchi
2020-07-08 17:23   ` [PATCH v2 1/2] Fix function argument and return value locations Hannes Domani
2020-10-05  1:50   ` Simon Marchi [this message]
2020-10-05 12:32     ` Hannes Domani

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=acf1db04-591d-b4f1-dfa0-76ad6b0cba39@simark.ca \
    --to=simark@simark.ca \
    --cc=gdb-patches@sourceware.org \
    --cc=ssbssa@yahoo.de \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).