[PATCH] gcc: handle double quotes in symbol name during stabstrings generation

CHIGOT, CLEMENT clement.chigot@atos.net
Tue Dec 8 13:15:56 GMT 2020


Hi Ian,

Any news about this bug ? It's not urgent even if it's breaking gcc builds with Go language, but I just want to know if you need any inputs/help from me.

Thanks,
Clément
________________________________
From: CHIGOT, CLEMENT <clement.chigot@atos.net>
Sent: Wednesday, December 2, 2020 5:14 PM
To: Ian Lance Taylor <iant@golang.org>
Cc: gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>; David Edelsohn <dje.gcc@gmail.com>
Subject: Re: [PATCH] gcc: handle double quotes in symbol name during stabstrings generation

Hi Ian,

Here is the test case.
If you're compiling with -gstabs you should have a line looking like:
        .stabs  "type..struct{Type go.bug1.ObjectIdentifier;Value [][]go.bug1.Extension{asn1:"set"}}:G(0,7)=xsStructType:",32,0,0,0

As you can see the " around for "set" aren't escaped.
I didn't try to reproduce it on linux/amd64, but I did on linux/ppc64le and I don't think it's a ppc-only bug.

Clément
________________________________
From: Ian Lance Taylor <iant@golang.org>
Sent: Wednesday, December 2, 2020 4:55 PM
To: CHIGOT, CLEMENT <clement.chigot@atos.net>
Cc: gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>; David Edelsohn <dje.gcc@gmail.com>
Subject: Re: [PATCH] gcc: handle double quotes in symbol name during stabstrings generation

Caution! External email. Do not open attachments or click links, unless this email comes from a known sender and you know the content is safe.

On Wed, Dec 2, 2020 at 4:24 AM CHIGOT, CLEMENT <clement.chigot@atos.net> wrote:
>
> Since the new gccgo mangling scheme, libgo compilation is broken on AIX (or in Linux with -gstabs) because of a type symbol having a " in its name. I've made a patch (see attachment) in order to fix stabstring generation, because, IMO, it should be handled anyway.
> However, it happens only once in the whole libgo so I don't know if this " is intended or not. The problematic type is there: https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgolang%2Fgo%2Fblob%2Fmaster%2Fsrc%2Fcrypto%2Fx509%2Fx509.go%23L2674&data=04%7C01%7Cclement.chigot%40atos.net%7Ce85b8b57669c47db583508d896db2fc2%7C33440fc6b7c7412cbb730e70b0198d5a%7C0%7C0%7C637425215428486700%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=aB6diiR9Tgo3FTKOm0vmqVVJ%2B5JlCwd9oM5WeUaTaF4%3D&reserved=0. Other similar types don't trigger the bug though.
>
> I've a minimal test which might can be added if you wish, in Golang tests or in Gcc Go tests or in both ?
>
> If the patch is okay, could you please apply it for me ?

Could you show me the small test case?  I don't think I understand the
problem.  In DWARF I don't see any symbol names with quotation marks.
I'm not yet sure that your patch is the right fix.  Thanks.

Ian


More information about the Gcc-patches mailing list