X-Git-Url: https://git.saurik.com/apple/dyld.git/blobdiff_plain/d3f1e533acc7f70659b8bde9b6c040974f05e03b..bc3b7c8cda49ed8598284a489c0bb9694c67c6a4:/testing/kernel-cache-tests/auxkc-vtable-metaclass-patching/main.cpp diff --git a/testing/kernel-cache-tests/auxkc-vtable-metaclass-patching/main.cpp b/testing/kernel-cache-tests/auxkc-vtable-metaclass-patching/main.cpp new file mode 100644 index 0000000..168e130 --- /dev/null +++ b/testing/kernel-cache-tests/auxkc-vtable-metaclass-patching/main.cpp @@ -0,0 +1,44 @@ + +#include "metaclass.h" +#include "osobject.h" + +int __cxa_pure_virtual = 0; +void operator delete(void*) { } + +OSMetaClassBase::~OSMetaClassBase() { } +void OSMetaClassBase::placeholder() { } +//void OSMetaClassBase::_RESERVEDOSMetaClassBase4() { } +//void OSMetaClassBase::_RESERVEDOSMetaClassBase5() { } +//void OSMetaClassBase::_RESERVEDOSMetaClassBase6() { } +//void OSMetaClassBase::_RESERVEDOSMetaClassBase7() { } +int OSMetaClassBase::metaclassBaseUsed4() { return 0; } +int OSMetaClassBase::metaclassBaseUsed5() { return 0; } +int OSMetaClassBase::metaclassBaseUsed6() { return 0; } +int OSMetaClassBase::metaclassBaseUsed7() { return 0; } + +OSMetaClass::~OSMetaClass() { } +void OSMetaClass::_RESERVEDOSMetaClass0() { } +void OSMetaClass::_RESERVEDOSMetaClass1() { } +void OSMetaClass::_RESERVEDOSMetaClass2() { } +void OSMetaClass::_RESERVEDOSMetaClass3() { } +void OSMetaClass::_RESERVEDOSMetaClass4() { } +void OSMetaClass::_RESERVEDOSMetaClass5() { } +void OSMetaClass::_RESERVEDOSMetaClass6() { } +void OSMetaClass::_RESERVEDOSMetaClass7() { } + +OSObject::OSObject(const OSMetaClass *) { } +OSObject::~OSObject() { } + +// OSDefineMetaClassAndAbstractStructors(OSObject, 0); +/* Class global data */ +OSObject::MetaClass OSObject::gMetaClass; +const OSMetaClass * const OSObject::metaClass = &OSObject::gMetaClass; +const OSMetaClass * const OSObject::superClass = NULL; + +OSObject::MetaClass::MetaClass() { } +OSObject* OSObject::MetaClass::alloc() const { return NULL; } + +__attribute__((section(("__HIB, __text")))) +extern "C" int _start() { + return 0; +} \ No newline at end of file