[PATCH] D43184: [WIP] [ItaniunCXXABI] Add an option for loading the type info vtable with dllimport
Martin Storsjö via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 14 22:59:53 PDT 2018
mstorsjo added a comment.
(Accidentally pressed submit too soon)
This was my conclusion at some point as well - but there's also a few issues with that approach which makes me quite hesitant:
- doing fixups in the code segment requires making it writable temporarily at runtime, which is disallowed in UWP
- the current set of runtime relocations only allows adding addresses in 1, 2, 4 and 8 byte sized addresses. On arm/arm64, absolute addresses can be present in instructions with a much more complicated opcode format, and tweaking addresses there requires defining more runtime relocation formats.
So given all this - I only see bad options. I could just postpone this as well - I can live with only linking libc++ statically for now.
The other case you mentioned, with multiple inheritance for statically allocated objects, needs to be handled in one way or another though (unless one forbids C++ interfaces over DLL boundaries); how's that handled with the MSVC C++ ABI?
More information about the cfe-commits