ac-decomp/src/executor.c

45 lines
960 B
C

#include "executor.h"
#include "dolphin/os/__ppc_eabi_init.h"
#include "dolphin/os.h"
#include "dolphin/os/OSContext.h"
#include "terminal.h"
#include "main.h"
BOOL construct_skip;
void _prolog() {
voidfunctionptr *constructor;
/* call static initializers */
if (!construct_skip) {
for (constructor = _ctors; *constructor; constructor++) {
(*constructor)();
}
}
main();
}
void _epilog() {
voidfunctionptr *destructor;
/* call static destructors */
for (destructor = _dtors; *destructor; destructor++) {
(*destructor)();
}
}
void _unresolved() {
u32 i;
u32* p;
OSReport(VT_COL(RED, WHITE) "\nError: A called an unlinked function.\n");
OSReport("Address: Back Chain LR Save\n");
for (i = 0, p = (u32*)OSGetStackPointer(); p && (u32)p != 0xffffffff && i++ < 16; p = (u32*)*p) {
OSReport("0x%08x: 0x%08x 0x%08x\n", p, p[0], p[1]);
}
OSReport("\n" VT_RST "\n");
}