Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use .MAP file instead of .PDB #11

Open
squidcc opened this issue Oct 7, 2018 · 7 comments
Open

Use .MAP file instead of .PDB #11

squidcc opened this issue Oct 7, 2018 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@squidcc
Copy link

squidcc commented Oct 7, 2018

Currently we have the awkward situation where the VC6 linker is used to generate builds with a PDB file, since the VC5 linker can't process PDBs produced by the VC6 compiler. This means the builds end up with different layout, different startup stub, different static constructors etc...
But the VC5 linker can produce a .map file which includes the locations of all functions and variables in the final build, just like the PDB information. Could we switch to using it instead so we don't have to make separate builds?

@seritools seritools added the enhancement New feature or request label Oct 7, 2018
@seritools
Copy link
Collaborator

Sounds more than reasonable! I'll try to look into it next weekend.

@seritools
Copy link
Collaborator

So the .map file contains mangled names - does someone know what would be the easiest way to unmangle them? VC6 and up have a UNDNAME.EXE which can do that, but cannot be supplied like cvdump.exe I think (because of licensing I'd say)

@mewmew
Copy link
Contributor

mewmew commented Oct 13, 2018

Perhaps https://pypi.org/project/cxxfilt/ or https://github.com/benfred/py-cpp-demangle could be used for demangling of symbol names?

@seritools
Copy link
Collaborator

Looked into it, it basically just uses "__cxa_demangle", which most probably doesn't work with the MSVC mangling scheme (that's different from other compilers as far as I've read). It'd also make the tool not work under windows.

Windows itself has UnDecorateSymbolName as alternative (with the reverse problem of not working under other OSes of course)

@AJenbo
Copy link
Member

AJenbo commented Oct 13, 2018

https://github.com/nico/demumble

@AJenbo
Copy link
Member

AJenbo commented Oct 13, 2018

This one might also be interested, it seams more a drop in replacement for cvdump.exe (same license, prebuild Windows exe)
https://github.com/mooware/msvcfilt

@seritools
Copy link
Collaborator

Yeah, the second one probably is the simplest one for this - both have to be edited to output just the function names (without signatures) though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants