You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
817 B
44 lines
817 B
#include <cstdlib>
|
|
#include <cstdint>
|
|
#include <cxxabi.h>
|
|
|
|
namespace __cxxabiv1
|
|
{
|
|
// 3.2.6 Pure Virtual Function API
|
|
extern "C" void __cxa_pure_virtual ()
|
|
{
|
|
while(true);
|
|
}
|
|
|
|
// 3.2.7 Deleted Virtual Function API
|
|
extern "C" void __cxa_deleted_virtual ()
|
|
{
|
|
while(true);
|
|
}
|
|
|
|
// 3.3.2 One-time Construction API
|
|
// NOTE: Implementation does not support threads; no locking involved
|
|
|
|
extern "C" int
|
|
__cxa_guard_acquire(__guard *_guard)
|
|
{
|
|
uint8_t *guard = reinterpret_cast<uint8_t*>(_guard);
|
|
return guard[0] ? 0 : 1;
|
|
}
|
|
|
|
extern "C" void
|
|
__cxa_guard_release(__guard *_guard)
|
|
{
|
|
uint8_t *guard = reinterpret_cast<uint8_t*>(_guard);
|
|
guard[0] = 1;
|
|
}
|
|
|
|
extern "C" void
|
|
__cxa_guard_abort(__guard *_guard)
|
|
{
|
|
uint8_t *guard = reinterpret_cast<uint8_t*>(_guard);
|
|
guard[0] = 0;
|
|
}
|
|
|
|
} // namespace __cxxabiv1
|