public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ian Lance Taylor <iant@golang.org>
To: Rainer Orth <ro@cebitec.uni-bielefeld.de>
Cc: Ian Lance Taylor via Gcc-patches <gcc-patches@gcc.gnu.org>,
	 gofrontend-dev <gofrontend-dev@googlegroups.com>
Subject: Re: Go patch committed: Change name mangling convention
Date: Mon, 23 Nov 2020 08:14:31 -0800	[thread overview]
Message-ID: <CAOyqgcVKqLDxbYvL8ZS=fykjFrwh4-v=C3g53pC56GuCj-R6mA@mail.gmail.com> (raw)
In-Reply-To: <yddtuthcj3x.fsf@CeBiTec.Uni-Bielefeld.DE>

On Sun, Nov 22, 2020 at 11:00 AM Rainer Orth
<ro@cebitec.uni-bielefeld.de> wrote:
>
> > This patch to the Go frontend and libgo changes the name mangling
> > convention.  The previous convention (which was actually the second
> > one) turned out to be ambiguous when the path to a package contained a
> > dot; this is a common case, as many package paths are of the form
> > "github.com/name/package".  The previous convention also did not
> > support package paths that start with a digit, which is less common
> > but does occur (https://golang.org/issue/41862).
> >
> > This patch rewrites and somewhat simplifies the naming convention.
> > Now dot is used only as a separator character and for special names.
> > Actual name mangling, for representing Unicode characters and other
> > non-ASCII alphanumerics, is now done with an underscore.  This has the
> > advantage of being simpler, in that it avoids the overloading that the
> > previous convention applied to dot.  It has the disadvantage that
> > mangled symbol names look somewhat like valid Go names, since valid Go
> > names can of course contain underscore.  Still, it seems like the best
> > choice.
> >
> > This patch increments the libgo major version number, since many
> > symbol names have changed.
> >
> > Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu.  Committed
> > to mainline.
>
> this patch broke Solaris bootstrap: linking in gotools fails with
>
> Undefined                       first referenced
>  symbol                             in file
> log_1syslog.syslog__c               ../i386-pc-solaris2.11/libgo/.libs/libgo.so
> ld: fatal: symbol referencing errors
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:829: buildid] Error 1
>
> The following patch fixed this for me:

Thanks.  Committed to mainline.

Ian

      reply	other threads:[~2020-11-23 16:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20 20:44 Ian Lance Taylor
2020-11-22 19:00 ` Rainer Orth
2020-11-23 16:14   ` Ian Lance Taylor [this message]

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='CAOyqgcVKqLDxbYvL8ZS=fykjFrwh4-v=C3g53pC56GuCj-R6mA@mail.gmail.com' \
    --to=iant@golang.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gofrontend-dev@googlegroups.com \
    --cc=ro@cebitec.uni-bielefeld.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).