This is an archive of the discontinued LLVM Phabricator instance.

CFI: Emit correct bit set information if RTTI is disabled under MS ABI.
ClosedPublic

Authored by pcc on Jul 8 2015, 6:12 PM.

Details

Summary

We were previously creating bit set entries at virtual table offset
sizeof(void*) unconditionally under the Microsoft C++ ABI. This is incorrect
if RTTI data is disabled; in that case the "address point" is at offset
0. This change modifies bit set emission to take into account whether RTTI
data is being emitted.

Also make a start on a blacklisting scheme for records.

Diff Detail

Repository
rL LLVM

Event Timeline

pcc updated this revision to Diff 29294.Jul 8 2015, 6:12 PM
pcc retitled this revision from to CFI: Emit correct bit set information if RTTI is disabled under MS ABI..
pcc updated this object.
pcc added a reviewer: rnk.
pcc added a subscriber: cfe-commits.
rnk accepted this revision.Jul 9 2015, 9:06 AM
rnk edited edge metadata.

lgtm

This revision is now accepted and ready to land.Jul 9 2015, 9:06 AM
This revision was automatically updated to reflect the committed changes.