January 14, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On 2015-01-13 22:31, Iain Buclaw wrote: > Hi, > > I'm not sure when it was announced, but binutils 2.25 has been > released! There's a small reason for excitement as it is the first to > come with D demangling support in the GNU toolchain. Is this something what will work on OS X? I'm not sure how much of the GNU toolchain is still being used. -- /Jacob Carlborg |
January 14, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 14 January 2015 at 07:30, Jacob Carlborg via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote: > On 2015-01-13 22:31, Iain Buclaw wrote: >> >> Hi, >> >> I'm not sure when it was announced, but binutils 2.25 has been released! There's a small reason for excitement as it is the first to come with D demangling support in the GNU toolchain. > > > Is this something what will work on OS X? I'm not sure how much of the GNU toolchain is still being used. > I can't comment on that. Maybe via Macports? Otherwise if BSD have their own linker, someone will need to go and get friendly with the developers up their toolchain. |
January 14, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | Awesome work, thanks! Already available on Arch Linux indeed, just typed objdump as per your post and it worked. Editing my dmd.conf right now.
Atila
On Tuesday, 13 January 2015 at 21:31:15 UTC, Iain Buclaw wrote:
> Hi,
>
> I'm not sure when it was announced, but binutils 2.25 has been released! There's a small reason for excitement as it is the first to come with D demangling support in the GNU toolchain.
>
> Unfortunately, I forgot to send in patches that actually document it! So for the moment, it's a little secret feature shared between all who may read this. :o)
>
>
> How do you use it?
> ---
>
> By default, binutils programs will treat all mangled symbols as C++, however you can override this by using --demangle=dlang, eg:
>
> objdump -d --demangle=dlang prog.o
>
> nm --demangle=dlang ddmd
>
>
> You can also kickstart your usage by putting -L--demangle=dlang in your dmd.conf, and watch your obscure linker errors turn into pretty function signatures.
>
>
> How do I get it?
> ---
>
> The release itself is a source package, however a safer choice is to get the release binaries through your Linux distributor. Fortunately, there have been distributions who have been shipping it as early as three weeks ago.
>
> Archlinux users: I'd imagine this is available to use now.
>
> Ubuntu users: You'll have to wait until April with the 15.04 release.
>
>
> Bugs and Fixes
> ---
>
> Whilst the demangler is able to handle all things core.demangle can do (and a little bit more!), a small test of running nm against the ddemangle program that gets shipped with dmd 2.066 shows that there are still plenty of complex template symbols that it still can't manage. The implementation itself is pretty straightforward to follow, well documented and written in C. Volunteers who wish to help out getting as close to 99.99% coverage as possible are welcome!
>
>
> Enjoy!
> Iain.
|
January 14, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On 2015-01-14 09:46, Iain Buclaw via Digitalmars-d-announce wrote: > I can't comment on that. Maybe via Macports? Otherwise if BSD have > their own linker, someone will need to go and get friendly with the > developers up their toolchain. Right, forgot about that the toolchain is BSD based. -- /Jacob Carlborg |
January 14, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Wednesday, 14 January 2015 at 14:42:09 UTC, Jacob Carlborg wrote: > On 2015-01-14 09:46, Iain Buclaw via Digitalmars-d-announce wrote: > >> I can't comment on that. Maybe via Macports? Otherwise if BSD have >> their own linker, someone will need to go and get friendly with the >> developers up their toolchain. > > Right, forgot about that the toolchain is BSD based. I was curious what they're actually using these days, so I looked it up. Appears to be some APS-licensed Mach-O linker they wrote themselves in C++: http://opensource.apple.com/tarballs/ld64/ |
January 20, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | > How do I get it?
> ---
>
> The release itself is a source package, however a safer choice is to get the release binaries through your Linux distributor. Fortunately, there have been distributions who have been shipping it as early as three weeks ago.
In case it saves someone else a few minutes: for Fedora 21 (and probably others). (At your own risk if new version of binutils breaks something else).
yum install fedora-repos-rawhide
yum install binutils --enablerepo rawhide
objdump -v
|
January 20, 2015 Re: Binutils 2.25 Released - New D demangling support | ||||
---|---|---|---|---|
| ||||
Posted in reply to Laeeth Isharc | > yum install fedora-repos-rawhide
> yum install binutils --enablerepo rawhide
> objdump -v
sorry. should be:
yum install fedora-release-rawhide
yum install binutils --enablerepo rawhide
objdump -v
|
Copyright © 1999-2021 by the D Language Foundation