]> granicus.if.org Git - clang/commit
MS ABI: Implement x86_64 RTTI
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 16 Jun 2014 18:46:51 +0000 (18:46 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 16 Jun 2014 18:46:51 +0000 (18:46 +0000)
commit7fe5bef6d6863f247222706806b80782ded8abb9
treebd894f9f8d89f58120bb158bd63119a38cad93a4
parent51ccb71920b5012a125920d280103d6b8640ef57
MS ABI: Implement x86_64 RTTI

Summary:
The RTTI scheme for x86_64 is largely the same as the one for i386.

Differences are largely limited to avoiding load-time relocations by
replacing pointers to RTTI metadata with the difference of that data
relative to the load address of the module.

Interestingly, this precludes the possibility of successfully using RTTI
data from another DLL.  The ImageBase reference is always relative to
the current DLL.

Differential Revision: http://reviews.llvm.org/D4148

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211041 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MicrosoftRTTI.cpp
test/CodeGenCXX/microsoft-abi-rtti.cpp