llvm-project/compiler-rt/lib/ubsan
David Majnemer 3400563ea6 UBSan: Teach isDerivedFromAtOffset and findBaseAtOffset about vbases
When the __virtual_mask is set, __offset_flags >> __offset_shift yields
an offset into the vtable.  Dereferencing this vtable slot gets us the
vbase offset.

Adjust a test case to verify that this, in fact, works.

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

llvm-svn: 221445
2014-11-06 08:55:23 +00:00
..
CMakeLists.txt [sanitizer] Add i686 arch to compiler-rt. 2014-10-01 12:55:06 +00:00
Makefile.mk Split ubsan runtime into three pieces (compiler-rt part): 2013-03-20 23:49:17 +00:00
ubsan.syms.extra Properly generate lists of exported symbols for sanitizer runtimes 2013-08-27 15:08:02 +00:00
ubsan_diag.cc [Sanitizer] Introduce generic stack frame rendering machinery 2014-11-05 22:44:36 +00:00
ubsan_diag.h [UBSan] Optionally report summary in UBSan error reports. 2014-09-19 18:33:45 +00:00
ubsan_flags.cc [UBSan] Introduce more flexible __ubsan_default_options function instead of UBSAN_DEFAULT_OPTIONS compile definition 2014-09-19 18:54:52 +00:00
ubsan_flags.h [UBSan] Introduce more flexible __ubsan_default_options function instead of UBSAN_DEFAULT_OPTIONS compile definition 2014-09-19 18:54:52 +00:00
ubsan_handlers.cc Sanitize upcasts and conversion to virtual base. 2014-10-13 23:59:00 +00:00
ubsan_handlers.h [UBSan] Add noinline attribute to handlers that should never return. 2014-09-10 20:43:36 +00:00
ubsan_handlers_cxx.cc [UBSan] Optionally report summary in UBSan error reports. 2014-09-19 18:33:45 +00:00
ubsan_handlers_cxx.h [ubsan] Move attribute specifier to fix build with gcc. 2013-01-10 17:01:13 +00:00
ubsan_init.cc Revert r217616. Problems and complexity it introduces negate its benefit 2014-09-12 01:26:57 +00:00
ubsan_init.h [UBSan] Call UBSan initialization as early as possible. 2014-07-25 22:24:34 +00:00
ubsan_type_hash.cc UBSan: Teach isDerivedFromAtOffset and findBaseAtOffset about vbases 2014-11-06 08:55:23 +00:00
ubsan_type_hash.h [ubsan] Add SANITIZER_INTERFACE_ATTRIBUTE to __ubsan_vptr_type_cache 2013-01-17 17:14:12 +00:00
ubsan_value.cc [ubsan] handle long double in 32-bit mode; part of the patch by Marek Polacek 2014-05-23 14:45:13 +00:00
ubsan_value.h Enable UBSan on FreeBSD. Patch by Viktor Kutuzov. 2014-02-25 08:29:36 +00:00