Skip to content

[WIP] Add demangler for DLang#86

Draft
historicattle wants to merge 1 commit into
rizinorg:mainfrom
historicattle:Dlang
Draft

[WIP] Add demangler for DLang#86
historicattle wants to merge 1 commit into
rizinorg:mainfrom
historicattle:Dlang

Conversation

@historicattle
Copy link
Copy Markdown

There are 3 popular versions of the D demangler implementation, dmd, ldc, gdc.
All of these demangle symbols in diferrent ways.

This is an implementation of the dmd demangler.
The official ABI spec is very outdated and simply wrong at many places, because of this the implementation is according the actual dmd demangler behavior (ddemangle)

Tests:

I have added tests from:

  1. https://gist.github.com/baryluk/1e44595acad20039b4ac7fe0cde829ef
  2. All the mangled symbols present in libphobos2.so. The demangled symbols to compare with were generated by passing the mangled symbols to ddemangle (Implementation of the demangler in dmd)

Currently a lot of the tests do not pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant