Symbols missing, unmangle!
Moritz Maxeiner via Digitalmars-d
digitalmars-d at puremagic.com
Wed Aug 30 14:51:51 PDT 2017
On Wednesday, 30 August 2017 at 20:23:18 UTC, Johnson Jones wrote:
> It would be nice if, when symbols are missing, they are
> unmangled!
>
> Error 42: Symbol Undefined
> _D12mMunchhousin12iMunchhousin11__T4GoTsZ4GoMFS12mMunchhousin18__T10MunchhousinTsZ10sMunchhousinfE12mMunchhousin9eGoffZv (void Munchhousin.Munchhousin.Go!(short).Go()
Since that's a linker error and there are a multitude of linkers
that a person could want to use after a D compiler this is a
non-trivial issue in general.
Options to tackle this include:
1) Have a D compiler capture the linker output and demangle it
2) Try to get demangling of D symbols into upstream of the
currently common linkers (GNU linker, gold, lld, etc.)
3) Integrate a (FLOSS) cross platform linker into dmd's backend
at the source code level, with support for such demangling (and
drop OPTLINK)
4) Fork a (FLOSS) cross platform linker for use with D, add such
support, and distribute a binary of it with dmd's binary
distribution (and drop OPTLINK)
I'm not proposing any of these are what should be done, I've
listed them more as an example that something like this would
require extensive discussion.
[1] https://github.com/ldc-developers/ldc/releases/tag/v1.3.0
More information about the Digitalmars-d
mailing list