public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: ibuclaw@gdcproject.org
Cc: Ian Lance Taylor <ian@airs.com>, "gcc@gcc.gnu.org" <gcc@gcc.gnu.org>
Subject: Re: libiberty D tuple demangling
Date: Mon, 25 Jul 2022 14:13:33 +0200	[thread overview]
Message-ID: <2c1ee0ba-0dd1-2c70-4bb7-697c551f113b@suse.com> (raw)
In-Reply-To: <1048129500.281965.1658750733793@office.mailbox.org>

On 25.07.2022 14:05, ibuclaw@gdcproject.org wrote:
>> On 25/07/2022 08:45 CEST Jan Beulich <jbeulich@suse.com> wrote:
>> while commit 3f30a274913b ("libiberty: Update D symbol demangling
>> for latest ABI spec") mentions in its description that tuple encoding
>> has changed, there's no real adjustment to dlang_parse_tuple() there,
>> nor are there any new (or replaced) test cases for that. Was this
>> simply overlooked?
> 
> Is there any specific example that fails to demangle, or are you just skimming?

I'm merely looking at the code alongside the ABI spec.

> From what I recall, there is a couple places in the dlang_demangle parser that handle ambiguities in a mangled symbol.  The ABI change only added a terminating 'Z', which makes said code that handles ambiguity redundant - but of course kept around so we handle both old and new symbols.

It's not just the addition of Z at the end but also the dropping of the
number of elements at the beginning, aiui. It's actually that aspect
which caught my attention, since the ABI doesn't talk about any number
there, but the code fetches one.

>> Furthermore the current ABI specifies "B Parameters Z". As I don't
>> know what the old ABI said, I can only wonder whether the present
>> code decoding (in a loop) merely a Type (and not a Parameter) was
>> actually correct.
>>
> 
> Do you think we should instead be calling dlang_function_args instead?
> 
> (Having a quick look at both, that does seem to be the case).

Well - with a number of elements specified, it might have needed to
be a function processing a single argument only. For the new ABI -
yes, that's the function I would have expected to be called.

Jan

  reply	other threads:[~2022-07-25 12:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f35a2359-e102-7682-65b4-e56e602f9adf@aol.com>
2022-07-25  6:45 ` Jan Beulich
2022-07-25 12:05   ` ibuclaw
2022-07-25 12:13     ` Jan Beulich [this message]
2022-07-25 15:45       ` ibuclaw
2022-07-25 15:57         ` Jan Beulich

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=2c1ee0ba-0dd1-2c70-4bb7-697c551f113b@suse.com \
    --to=jbeulich@suse.com \
    --cc=gcc@gcc.gnu.org \
    --cc=ian@airs.com \
    --cc=ibuclaw@gdcproject.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).