* [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle
@ 2021-01-12 19:36 Amanieu d'Antras via Gdb-patches
2021-01-13 1:02 ` Tom Tromey
0 siblings, 1 reply; 6+ messages in thread
From: Amanieu d'Antras via Gdb-patches @ 2021-01-12 19:36 UTC (permalink / raw)
To: gdb-patches
Rust is in the process of migrating to a new symbol mangling scheme called "v0".
Details can be found in the tracking issue:
https://github.com/rust-lang/rust/issues/60705
Demangler support for v0 has already been upstreamed in GCC's libiberty and is
available in gdb-binutils master. However we would like the demangler to be
backported to GDB 10 so that debugging experience does not regress when we
switch to generating v0 symbol names by default.
The specific GCC commit that contains the v0 Rust demangler is:
commit 84096498a7bd788599d4a7ca63543fc7c297645e
libiberty: Support the new ("v0") mangling scheme in rust-demangle
The patch applies cleanly to gdb-10-branch.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle
2021-01-12 19:36 [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle Amanieu d'Antras via Gdb-patches
@ 2021-01-13 1:02 ` Tom Tromey
2021-01-13 1:08 ` Simon Marchi via Gdb-patches
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Tom Tromey @ 2021-01-13 1:02 UTC (permalink / raw)
To: Amanieu d'Antras via Gdb-patches; +Cc: Amanieu d'Antras
Amanieu> Demangler support for v0 has already been upstreamed in GCC's libiberty and is
Amanieu> available in gdb-binutils master. However we would like the demangler to be
Amanieu> backported to GDB 10 so that debugging experience does not regress when we
Amanieu> switch to generating v0 symbol names by default.
I don't know whether we plan to do another release from the GDB 10
branch. Maybe Joel could say.
Also, is there a way to test that this works correctly? I'd imagine
there just has to be a flag day sometime and then we find out? Or has
someone built Rust and tried it with GDB trunk?
Anyway, it's fine by me to do this. If there's no objections I can do
it sometime. You may want to ping after a week or so in case I forget.
thanks,
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle
2021-01-13 1:02 ` Tom Tromey
@ 2021-01-13 1:08 ` Simon Marchi via Gdb-patches
2021-01-13 1:49 ` Amanieu d'Antras via Gdb-patches
2021-01-16 17:29 ` Tom Tromey
2 siblings, 0 replies; 6+ messages in thread
From: Simon Marchi via Gdb-patches @ 2021-01-13 1:08 UTC (permalink / raw)
To: Tom Tromey, Amanieu d'Antras via Gdb-patches; +Cc: Amanieu d'Antras
On 2021-01-12 8:02 p.m., Tom Tromey wrote:
> I don't know whether we plan to do another release from the GDB 10
> branch. Maybe Joel could say.
GDB 10.2 hasn't been released, I suppose that one will be released.
Simon
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle
2021-01-13 1:02 ` Tom Tromey
2021-01-13 1:08 ` Simon Marchi via Gdb-patches
@ 2021-01-13 1:49 ` Amanieu d'Antras via Gdb-patches
2021-01-13 3:18 ` Tom Tromey
2021-01-16 17:29 ` Tom Tromey
2 siblings, 1 reply; 6+ messages in thread
From: Amanieu d'Antras via Gdb-patches @ 2021-01-13 1:49 UTC (permalink / raw)
To: Tom Tromey; +Cc: Amanieu d'Antras via Gdb-patches
> Also, is there a way to test that this works correctly? I'd imagine
> there just has to be a flag day sometime and then we find out? Or has
> someone built Rust and tried it with GDB trunk?
rustc can already generate v0 symbols with the
-Zsymbol-mangling-version=v0 flag. We're just going to eventually be
switching this on by default.
I just tested a small program built with that flag and gdb trunk can
successfully demangle the symbols while gdb 10 can't.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle
2021-01-13 1:49 ` Amanieu d'Antras via Gdb-patches
@ 2021-01-13 3:18 ` Tom Tromey
0 siblings, 0 replies; 6+ messages in thread
From: Tom Tromey @ 2021-01-13 3:18 UTC (permalink / raw)
To: Amanieu d'Antras; +Cc: Tom Tromey, Amanieu d'Antras via Gdb-patches
Amanieu> rustc can already generate v0 symbols with the
Amanieu> -Zsymbol-mangling-version=v0 flag. We're just going to eventually be
Amanieu> switching this on by default.
Amanieu> I just tested a small program built with that flag and gdb trunk can
Amanieu> successfully demangle the symbols while gdb 10 can't.
Thanks, I ran the gdb test suite using nightly and that flag, and it
worked fine.
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle
2021-01-13 1:02 ` Tom Tromey
2021-01-13 1:08 ` Simon Marchi via Gdb-patches
2021-01-13 1:49 ` Amanieu d'Antras via Gdb-patches
@ 2021-01-16 17:29 ` Tom Tromey
2 siblings, 0 replies; 6+ messages in thread
From: Tom Tromey @ 2021-01-16 17:29 UTC (permalink / raw)
To: Tom Tromey; +Cc: Amanieu d'Antras, Amanieu d'Antras via Gdb-patches
Tom> Anyway, it's fine by me to do this. If there's no objections I can do
Tom> it sometime. You may want to ping after a week or so in case I forget.
I checked it in on the gdb 10 branch just now. I've also filed a bug
noting the backport, per our usual procedure:
https://sourceware.org/bugzilla/show_bug.cgi?id=27194
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-16 17:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-12 19:36 [gcc-10-branch] libiberty: Support the new ("v0") mangling scheme in rust-demangle Amanieu d'Antras via Gdb-patches
2021-01-13 1:02 ` Tom Tromey
2021-01-13 1:08 ` Simon Marchi via Gdb-patches
2021-01-13 1:49 ` Amanieu d'Antras via Gdb-patches
2021-01-13 3:18 ` Tom Tromey
2021-01-16 17:29 ` Tom Tromey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox