OSDN Git Service
Add dummy key methods for UBSan RTTI.
Chromium UBSan builds require RTTI, for which GCC/Clang requires each
class' first non-inline virtual method (the "key method") to have a known
definition so that its address can be used as a unique type identifier:
https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html
libEGL and libGLESv2 each use objects who's full definition only exists
within one or the other. Methods for which the definition is unknown can
still be called if they are virtual, because the compiler/linker only needs
to know the vtable entry offset. But because of the GCC/Clang requirement
of having the first non-inline virtual method be fully defined, we need to
add dummy virtual methods and their definitions.
Bug swiftshader:31
Change-Id: Ib146cac811388086b29dbb099266c43795d6ed31
Reviewed-on: https://swiftshader-review.googlesource.com/8708
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>