This is an archive of the discontinued LLVM Phabricator instance.

Bug 21886 - MCJIT/ELF now support MSVC C++ mangled symbol
AbandonedPublic

Authored by belleyb on Jan 6 2015, 9:37 AM.

Details

Summary

http://llvm.org/bugs/show_bug.cgi?id=21886

The ELF format is used on Windows by the MCJIT engine. Thus, on Windows, the ELFObjectWriter can encounter symbols mangled
using the MS Visual Studio C++ name mangling. Symbols mangled using the MSVC C++ name mangling can legally have "@@@" as a substring. The EFLObjectWriter should not interpret the "@@@" substring as specifying GNU-style symbol versioning. The ELFObjectWriter therefore check for the MSVC C++ name mangling prefix which is either "?", "@?", "imp_?" or "imp_?@".

Diff Detail

Repository
rL LLVM

Event Timeline

belleyb updated this revision to Diff 17832.Jan 6 2015, 9:37 AM
belleyb retitled this revision from to MCJIT/ELF now support MSVC C++ mangled symbol.
belleyb updated this object.
belleyb edited the test plan for this revision. (Show Details)
belleyb added reviewers: lhames, Bigcheese.
belleyb set the repository for this revision to rL LLVM.
belleyb added a subscriber: Unknown Object (MLST).

Let me know if your agree with the proposed solution or if an other approach would be more appropriate. I am willing to implement any suggested changes,

belleyb retitled this revision from MCJIT/ELF now support MSVC C++ mangled symbol to Bug 21886 - MCJIT/ELF now support MSVC C++ mangled symbol.Jan 6 2015, 10:40 AM
belleyb updated this object.
belleyb added a reviewer: rafael.
belleyb updated this revision to Diff 17838.Jan 6 2015, 10:50 AM
This comment was removed by belleyb.
belleyb abandoned this revision.Jan 6 2015, 11:06 AM

I will recreate a new review for this change. It got mixed up with an "arc diff" that was wrongly uploaded. Sorry for the noise. Beginner error...